Пример #1
0
        /// <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);
        }