/// <summary> /// Runs checks and updates if necessary /// </summary> /// <returns></returns> public static bool CheckExecuteUpdate(ILog QuasarLogger) { bool UpdateSuccessful = false; //If the loaded conf file is a new update file if (Properties.Settings.Default.UpgradeRequired) { NeedsUpdate = true; //Making file up to date with previous data UpgradeSettingFile(); //If it's Quasar's first launch if (NeedsInitialSetup) { InstallManager.CreateBaseUserSettings(); MessageBoxResult result = System.Windows.MessageBox.Show("Hi ! It seems it's Quasar's first launch. Do you want to change where Quasar is gonna store mods?", "First Launch Warning", MessageBoxButton.YesNo); switch (result) { case MessageBoxResult.Yes: InstallManager.ChangeInstallLocationSetting(); break; case MessageBoxResult.No: Properties.Settings.Default.DefaultDir = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\Quasar"; Properties.Settings.Default.Save(); break; } InstallManager.CreateBaseFolders(); } //If it's just a regular update else { InstallManager.CopyBaseResources(); SetupLogger(QuasarLogger); QuasarLogger.Debug("Updating"); QuasarLogger.Debug("Tagging for Scan"); NeedsScanning = true; } } else { NeedsUpdate = false; QuasarLogger.Debug("No Update"); UpdateSuccessful = true; } return(UpdateSuccessful); }