public static void Main() { bool createdNew; _singleInstanceMutex = new Mutex(true, @"Local\" + typeof(App).Assembly.GetName().Name, out createdNew); if (!createdNew) { _singleInstanceMutex = null; return; } // Look for the existence of an update archive var appPaths = new ApplicationPaths(); var logManager = new NlogManager(appPaths.LogDirectoryPath, "theater"); logManager.ReloadLogger(LogSeverity.Debug); var updateArchive = Path.Combine(appPaths.TempUpdatePath, Constants.MbTheaterPkgName + ".zip"); if (File.Exists(updateArchive)) { // Update is there - execute update try { new ApplicationUpdater().UpdateApplication(MBApplication.MBTheater, appPaths, updateArchive, logManager.GetLogger("ApplicationUpdater"), string.Empty); // And just let the app exit so it can update return; } catch (Exception e) { MessageBox.Show(string.Format("Error attempting to update application.\n\n{0}\n\n{1}", e.GetType().Name, e.Message)); } } var application = new App(appPaths, logManager); application.Run(); }
/// <summary> /// Initializes a new instance of the <see cref="App" /> class. /// </summary> public App(ApplicationPaths appPaths, ILogManager logManager) { _appPaths = appPaths; _logManager = logManager; InitializeComponent(); }