Пример #1
0
 private void btnInstall_Click(object sender, EventArgs e)
 {
     if (btnInstall.Text.StartsWith("Un"))
     {
         btnInstall.Enabled = false;
         uninstall();
     }
     else
     {
         if (!InstallProcess.isValidLocation(txtLocation.Text))
         {
             return;
         }
         btnInstall.Enabled = false;
         INSTALL            = new InstallProcess(txtLocation.Text, setUpdate, (y, z) =>
         {
             this.Invoke(new Action(() =>
             {
                 lblBytes.Text = z;
                 pbBar.Value   = y;
             }));
         });
         var latest = INSTALL.getLatestVersion();
         INSTALL.install(new ClientVersion(latest));
     }
 }
Пример #2
0
        void threadDoStuff()
        {
            var fullPath = (string)reg.GetValue("");

            installPath = fullPath.Replace("ChessInstaller.exe", "").Replace("ChessClient.exe", "").Replace("ChessInstall.exe", "");
            var    version   = new ClientVersion((string)reg.GetValue("Version"));
            var    installer = new InstallProcess(installPath, update, percentage);
            var    latest    = new ClientVersion(installer.getLatestVersion());
            string delta     = "";
            int    compare   = version.CompareTo(latest);

            if (compare == 0)
            {
                delta = "Up to date";
            }
            else if (compare < 0)
            {
                delta = "Outdated";
            }
            else
            {
                delta = "Newer";
            }
            update($"Current: {version}\r\nLatest: {latest}\r\n{delta}");
            Thread.Sleep(1500);
            if (compare < 0)
            { // remove everything
                update("Updating...");
                Thread.Sleep(250);
                installer.unInstall();
                Thread.Sleep(250);
                if (!Directory.Exists(installPath))
                {
                    Directory.CreateDirectory(installPath);
                }
                Thread.Sleep(250);
                installer.install(latest);
                installer.Complete += Installer_Complete;
            }
            else
            {
                update("Hacking NASA and the NSA...");
                Thread.Sleep(2500);
                while (isEnteringManualVersion && manualVersion == null)
                {
                    update("Waiting manual version...");
                    Thread.Sleep(500);
                }
                if (manualVersion != null)
                {
                    update("Getting manual version: " + manualVersion.ToString());
                    Thread.Sleep(250);
                    installer.unInstall();
                    Thread.Sleep(250);
                    if (!Directory.Exists(installPath))
                    {
                        Directory.CreateDirectory(installPath);
                    }
                    Thread.Sleep(250);
                    installer.install(manualVersion);
                    installer.Complete += Installer_Complete;
                }
                else
                {
                    update($"Running latest ({latest}) no update needed");
                    Installer_Complete(installer, null);
                }
            }
        }