Ejemplo n.º 1
0
        static void UpdateFromPackage(string path)
        {
            if (!File.Exists(path))
            {
                if (!Silent)
                {
                    MessageBox.Show("Could not install update, update package file missing", "Update failed");
                }
                return;
            }
            var f = File.OpenRead(path);

            ZenithUpdates.KillAllProcesses();
            ZenithUpdates.InstallFromStream(f);
            f.Close();
            File.Delete(path);
        }
Ejemplo n.º 2
0
 private void updateDownloaded_MouseDown(object sender, MouseButtonEventArgs e)
 {
     ZenithUpdates.KillAllProcesses();
     Process.Start(ZenithUpdates.InstallerPath, "update -Reopen");
     Close();
 }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
#if !DEBUG
            try
            {
#endif
            ZenithUpdates.KillAllProcesses();

            bool reopen      = false;
            string reopenArg = "";

            if (args.Length == 0)
            {
                reopen = true;
                NormalInstall();
            }
            else
            {
                string command = args[0];

                if (!new[] { "install", "update", "uninstall" }.Contains(command))
                {
                    Console.WriteLine("Invalid command " + command);
                    return;
                }

                string packagePath = ZenithUpdates.DefaultUpdatePackagePath;

                for (int i = 1; i < args.Length; i++)
                {
                    if (args[i] == "-Silent")
                    {
                        Silent = true;
                    }
                    if (args[i] == "-PackagePath")
                    {
                        if (command != "update")
                        {
                            Console.WriteLine("-PackagePath flag only allowed on update command");
                            return;
                        }
                        i++;
                        if (i == args.Length)
                        {
                            Console.WriteLine("path expected after -PackagePath");
                            return;
                        }
                        packagePath = args[i];
                    }
                    if (args[i] == "-ReopenArg")
                    {
                        if (command == "uninstall")
                        {
                            Console.WriteLine("-ReopenArg flag not allowed on uninstall command");
                            return;
                        }
                        i++;
                        if (i == args.Length)
                        {
                            Console.WriteLine("argument expected after -ReopenArg");
                            return;
                        }
                        reopenArg = args[i];
                    }
                    if (args[i] == "-Reopen")
                    {
                        if (command == "uninstall")
                        {
                            Console.WriteLine("-Reopen flag not allowed on uninstall command");
                            return;
                        }
                        reopen = true;
                    }
                }

                if (command == "install")
                {
                    if (Silent)
                    {
                        SilentInstall();
                    }
                    else
                    {
                        NormalInstall();
                    }
                }
                if (command == "update")
                {
                    UpdateFromPackage(packagePath);
                    ZenithUpdates.WriteVersionSettings(ZenithUpdates.GetLatestVersion(), true, true);
                }
                if (command == "uninstall")
                {
                    ZenithUpdates.DeleteStartShortcut();
                    ZenithUpdates.DeleteDesktopShortcut();
                    ZenithUpdates.DeleteProgramFolder();
                    if (!Silent)
                    {
                        MessageBox.Show("Successfully uninstalled " + ZenithUpdates.ProgramName + "!");
                    }
                }
            }

            if (reopen)
            {
                string exePath = Path.Combine(ZenithUpdates.InstallPath, ZenithUpdates.ExeName);
                if (reopenArg == "")
                {
                    Process.Start(new ProcessStartInfo()
                    {
                        FileName         = exePath,
                        WorkingDirectory = Path.GetDirectoryName(exePath)
                    });
                }
                else
                {
                    Process.Start(new ProcessStartInfo()
                    {
                        FileName         = exePath,
                        WorkingDirectory = Path.GetDirectoryName(exePath),
                        Arguments        = "\"" + reopenArg + "\""
                    });
                }
            }
#if !DEBUG
        }

        catch (Exception e)
        {
            if (!Silent)
            {
                string msg = e.Message + "\n" + e.Data + "\n";
                msg += e.StackTrace;
                MessageBox.Show(msg, ZenithUpdates.ProgramName + " installer has crashed!");
            }
        }
#endif
        }