Exemplo n.º 1
0
        private void SMCSelfUpdater_StatusChanged(JEMSelfUpdaterStatus JEMSelfUpdaterStatus)
        {
            JEMLogger.Log($"SMCSelfUpdater status changed: {JEMSelfUpdaterStatus}");
            Invoke((MethodInvoker) delegate
            {
                switch (JEMSelfUpdaterStatus)
                {
                case JEMSelfUpdaterStatus.STARTING:
                    InternalCurrentText  = @"Starting SMC (SU)";
                    InternalCurrentValue = 00;
                    InternalGlobalText   = @"Starting SMC (SU)";
                    InternalGlobalValue  = 00;
                    InternalUpdateProgress();
                    break;

                case JEMSelfUpdaterStatus.PREPARING_SPACE:
                    InternalCurrentText  = @"Starting SMC (SU)";
                    InternalCurrentValue = 05;
                    InternalGlobalText   = @"Starting SMC (SU)";
                    InternalGlobalValue  = 05;
                    InternalUpdateProgress();
                    break;

                case JEMSelfUpdaterStatus.INFO_FAILED:
                    InternalCurrentText = @"SMC (SU) Info Failed";
                    InternalUpdateProgress();
                    MessageBox.Show(
                        @"The system was unable to download the necessary information needed for the update. Please try again later.",
                        @"Error (SU)", MessageBoxButtons.OK,
                        MessageBoxIcon.Error);
                    Environment.Exit(9);
                    break;

                case JEMSelfUpdaterStatus.INFO_LOADED:
                    InternalCurrentText = @"SMC (SU) Info Loaded";
                    InternalUpdateProgress();
                    break;

                case JEMSelfUpdaterStatus.DISABLED_BY_INFO:
                    InternalCurrentText = @"SMC (SU) Disabled by server.";
                    InternalUpdateProgress();
                    MessageBox.Show(
                        @"Sorry but our servers are currently disabled. Most likely, this is due to maintenance work or an update process. Please try again later.",
                        @"Oops (SU)");
                    Environment.Exit(9);
                    break;

                case JEMSelfUpdaterStatus.INITIALIZED:
                    InternalCurrentText  = @"SMC (SU) Initialized";
                    InternalCurrentValue = 30;
                    InternalGlobalText   = @"Starting SMC";
                    InternalGlobalValue  = 10;
                    InternalUpdateProgress();
                    break;

                case JEMSelfUpdaterStatus.DOWNLOADING:
                    break;

                case JEMSelfUpdaterStatus.INSTALLING:
                    break;

                case JEMSelfUpdaterStatus.INSTALLED:
                    break;

                case JEMSelfUpdaterStatus.READY:
                    RestartComponents();

                    InternalGlobalText  = @"SMC (SU) Ready";
                    InternalGlobalValue = 100;
                    InternalUpdateProgress();

                    // when selfupdater is done, initialize game downloader
                    SMCDownloader.Initialize();
                    break;

                default:
                    throw new ArgumentOutOfRangeException(nameof(JEMSelfUpdaterStatus), JEMSelfUpdaterStatus, null);
                }
            });
        }
Exemplo n.º 2
0
        private void SMCDownloader_StatusChanged(JEMDownloaderStatus JEMDownloaderStatus)
        {
            JEMLogger.Log($"SMCDownloader status changed: {JEMDownloaderStatus}");
            Invoke((MethodInvoker) delegate
            {
                switch (JEMDownloaderStatus)
                {
                case JEMDownloaderStatus.STARTING:
                    InternalCurrentText  = @"Starting SMC";
                    InternalCurrentValue = 00;
                    InternalGlobalText   = @"Starting SMC";
                    InternalGlobalValue  = 00;
                    InternalUpdateProgress();
                    break;

                case JEMDownloaderStatus.PREPARING_SPACE:
                    InternalCurrentText  = @"Starting SMC";
                    InternalCurrentValue = 10;
                    InternalGlobalText   = @"Starting SMC";
                    InternalGlobalValue  = 20;
                    InternalUpdateProgress();
                    break;

                case JEMDownloaderStatus.INFO_FAILED:
                    InternalCurrentText = @"SMC Info Failed";
                    InternalUpdateProgress();
                    MessageBox.Show(
                        @"The system was unable to download the necessary information needed for the update. Please try again later.",
                        @"Error", MessageBoxButtons.OK,
                        MessageBoxIcon.Error);
                    Environment.Exit(9);
                    break;

                case JEMDownloaderStatus.INFO_LOADED:
                    InternalCurrentText  = @"SMC Info Loaded";
                    InternalCurrentValue = 30;
                    InternalGlobalText   = @"Starting SMC";
                    InternalGlobalValue  = 30;
                    InternalUpdateProgress();
                    break;

                case JEMDownloaderStatus.DISABLED_BY_INFO:
                    InternalCurrentText = @"SMC Disabled by server.";
                    InternalUpdateProgress();
                    MessageBox.Show(
                        @"Sorry but our servers are currently disabled. Most likely, this is due to maintenance work or an update process. Please try again later.",
                        @"Oops");
                    Environment.Exit(9);
                    break;

                case JEMDownloaderStatus.INITIALIZED:
                    InternalCurrentText  = @"SMC Initialized";
                    InternalCurrentValue = 40;
                    InternalGlobalText   = @"Starting SMC";
                    InternalGlobalValue  = 40;
                    InternalUpdateProgress();
                    if (!SMCDownloader.MakeUpdate(false))
                    {
                        MessageBox.Show(
                            @"System was unable to run update process. Internal downloader error.",
                            @"Oops");
                        Environment.Exit(9);
                    }

                    break;

                case JEMDownloaderStatus.INITIALIZING_PACKAGES:
                    InternalCurrentText  = @"Getting server packages";
                    InternalCurrentValue = 55;
                    InternalGlobalText   = @"Checking Files";
                    InternalGlobalValue  = 55;
                    InternalUpdateProgress();
                    break;

                case JEMDownloaderStatus.INITIALIZING_SERVERCHECKSUM:
                    InternalCurrentText  = @"Getting server files";
                    InternalCurrentValue = 50;
                    InternalGlobalText   = @"Checking Files";
                    InternalGlobalValue  = 50;
                    InternalUpdateProgress();
                    break;

                case JEMDownloaderStatus.INITIALIZING_CLIENTCHECKSUM:
                    InternalCurrentText  = @"Getting local files";
                    InternalCurrentValue = 60;
                    InternalGlobalText   = @"Checking Files";
                    InternalGlobalValue  = 50;
                    InternalUpdateProgress();
                    break;

                case JEMDownloaderStatus.INITIALIZING_LIST:
                    InternalCurrentText  = @"Getting target files";
                    InternalCurrentValue = 70;
                    InternalGlobalText   = @"Checking Files";
                    InternalGlobalValue  = 50;
                    InternalUpdateProgress();
                    break;

                case JEMDownloaderStatus.DOWNLOADING:
                    InternalCurrentText  = @"Downloading target files";
                    InternalCurrentValue = 80;
                    InternalGlobalText   = @"Updating";
                    InternalGlobalValue  = 60;
                    InternalUpdateProgress();
                    break;

                case JEMDownloaderStatus.INSTALLING:
                    InternalCurrentText  = @"Installing target files";
                    InternalCurrentValue = 90;
                    InternalGlobalText   = @"Updating";
                    InternalGlobalValue  = 70;
                    InternalUpdateProgress();
                    break;

                case JEMDownloaderStatus.INSTALLED:
                    InternalCurrentText  = @"New files successfully installed";
                    InternalCurrentValue = 95;
                    InternalGlobalText   = @"Updating";
                    InternalGlobalValue  = 80;
                    InternalUpdateProgress();
                    break;

                case JEMDownloaderStatus.READY:
                    RestartComponents();

                    InternalCurrentText  = @"SMC Ready";
                    InternalCurrentValue = 100;
                    InternalGlobalValue  = 100;
                    InternalUpdateProgress();

                    UpdateButtons(true);
                    break;

                default:
                    throw new ArgumentOutOfRangeException(nameof(JEMDownloaderStatus), JEMDownloaderStatus, null);
                }
            });
        }
Exemplo n.º 3
0
 private void MainWindow_FormClosing(object sender, FormClosingEventArgs e)
 {
     SMCDownloader.ShutDownDownloader();
 }
Exemplo n.º 4
0
        private void SMCDownloader_StatusChanged(JEMDownloaderStatus JEMDownloaderStatus)
        {
            JEMLogger.Log($"SMCDownloader status changed: {JEMDownloaderStatus}");
            Invoke((MethodInvoker) delegate
            {
                switch (JEMDownloaderStatus)
                {
                case JEMDownloaderStatus.STARTING:
                    labelCurrent.Text        = @"Starting SMC";
                    progressBarCurrent.Value = 00;
                    labelGlobal.Text         = @"Starting SMC";
                    progressBarGlobal.Value  = 00;
                    break;

                case JEMDownloaderStatus.PREPARING_SPACE:
                    labelCurrent.Text        = @"Starting SMC";
                    progressBarCurrent.Value = 10;
                    labelGlobal.Text         = @"Starting SMC";
                    progressBarGlobal.Value  = 20;
                    break;

                case JEMDownloaderStatus.INFO_FAILED:
                    labelCurrent.Text = @"SMC Info Failed";
                    MessageBox.Show(
                        @"The system was unable to download the necessary information needed for the update. Please try again later.",
                        @"Error", MessageBoxButtons.OK,
                        MessageBoxIcon.Error);
                    Environment.Exit(9);
                    break;

                case JEMDownloaderStatus.INFO_LOADED:
                    labelCurrent.Text        = @"SMC Info Loaded";
                    progressBarCurrent.Value = 30;
                    labelGlobal.Text         = @"Starting SMC";
                    progressBarGlobal.Value  = 30;
                    break;

                case JEMDownloaderStatus.DISABLED_BY_INFO:
                    labelCurrent.Text = @"SMC Disabled by server.";
                    MessageBox.Show(
                        @"Sorry but our servers are currently disabled. Most likely, this is due to maintenance work or an update process. Please try again later.",
                        @"Oops");
                    Environment.Exit(9);
                    break;

                case JEMDownloaderStatus.INITIALIZED:
                    labelCurrent.Text        = @"SMC Initialized";
                    progressBarCurrent.Value = 40;
                    labelGlobal.Text         = @"Starting SMC";
                    progressBarGlobal.Value  = 40;
                    if (!SMCDownloader.MakeUpdate(true))
                    {
                        MessageBox.Show(
                            @"System was unable to run update process. Internal downloader error.",
                            @"Oops");
                        Environment.Exit(9);
                    }

                    break;

                case JEMDownloaderStatus.INITIALIZING_PACKAGES:
                    labelCurrent.Text        = @"Getting server packages";
                    progressBarCurrent.Value = 55;
                    labelGlobal.Text         = @"Checking Files";
                    progressBarGlobal.Value  = 55;
                    break;

                case JEMDownloaderStatus.INITIALIZING_SERVERCHECKSUM:
                    labelCurrent.Text        = @"Getting server files";
                    progressBarCurrent.Value = 50;
                    labelGlobal.Text         = @"Checking Files";
                    progressBarGlobal.Value  = 50;
                    break;

                case JEMDownloaderStatus.INITIALIZING_CLIENTCHECKSUM:
                    labelCurrent.Text        = @"Getting local files";
                    progressBarCurrent.Value = 60;
                    labelGlobal.Text         = @"Checking Files";
                    progressBarGlobal.Value  = 50;
                    break;

                case JEMDownloaderStatus.INITIALIZING_LIST:
                    labelCurrent.Text        = @"Getting target files";
                    progressBarCurrent.Value = 70;
                    labelGlobal.Text         = @"Checking Files";
                    progressBarGlobal.Value  = 50;
                    break;

                case JEMDownloaderStatus.DOWNLOADING:
                    labelCurrent.Text        = @"Downloading target files";
                    progressBarCurrent.Value = 80;
                    labelGlobal.Text         = @"Updating";
                    progressBarGlobal.Value  = 60;
                    break;

                case JEMDownloaderStatus.INSTALLING:
                    labelCurrent.Text        = @"Installing target files";
                    progressBarCurrent.Value = 90;
                    labelGlobal.Text         = @"Updating";
                    progressBarGlobal.Value  = 70;
                    break;

                case JEMDownloaderStatus.INSTALLED:
                    labelCurrent.Text        = @"New files successfully installed";
                    progressBarCurrent.Value = 95;
                    labelGlobal.Text         = @"Updating";
                    progressBarGlobal.Value  = 80;
                    break;

                case JEMDownloaderStatus.READY:
                    RestartComponents();

                    labelGlobal.Text        = @"SMC Ready";
                    progressBarGlobal.Value = 100;

                    // start self updater
                    var process = new Process
                    {
                        StartInfo = new ProcessStartInfo
                        {
                            FileName         = Environment.GetCommandLineArgs()[1],
                            WorkingDirectory = Environment.CurrentDirectory,
                            WindowStyle      = ProcessWindowStyle.Normal
                        }
                    };

                    JEMLogger.Log(
                        $"Starting updater ({process.StartInfo.FileName} at {process.StartInfo.WorkingDirectory}).");
                    process.Start();

                    Process.GetCurrentProcess().Kill();
                    break;

                default:
                    throw new ArgumentOutOfRangeException(nameof(JEMDownloaderStatus), JEMDownloaderStatus, null);
                }
            });
        }
Exemplo n.º 5
0
 private void MainWindow_Shown(object sender, EventArgs e)
 {
     SMCDownloader.Initialize();
 }