void RunUpdateCheck()
        {
            if (!metaSettings.AutoUpdate)
            {
                return;
            }

            var requiredInstaller = ZenithUpdates.InstallerVer;

            if (metaSettings.InstallerVer != requiredInstaller)
            {
                Console.WriteLine("Important update found for installer, updating...");
                ZenithUpdates.UpdateInstaller();
                metaSettings.InstallerVer = requiredInstaller;
                metaSettings.SaveConfig();
            }

            string ver;

            try
            {
                ver = ZenithUpdates.GetLatestVersion();
            }
            catch { return; }
            if (ver != metaSettings.VersionName)
            {
                Console.WriteLine("Found Update! Current: " + metaSettings.VersionName + " Latest: " + ver);
                try
                {
                    Dispatcher.InvokeAsync(() => windowTabs.UpdaterProgress = UpdateProgress.Downloading).Wait();
                    Stream data;
                    if (Environment.Is64BitOperatingSystem)
                    {
                        data = ZenithUpdates.DownloadAssetData(ZenithUpdates.DataAssetName64);
                    }
                    else
                    {
                        data = ZenithUpdates.DownloadAssetData(ZenithUpdates.DataAssetName32);
                    }
                    var dest = File.OpenWrite(ZenithUpdates.DefaultUpdatePackagePath);
                    data.CopyTo(dest);
                    data.Close();
                    dest.Close();
                    Dispatcher.InvokeAsync(() => windowTabs.UpdaterProgress = UpdateProgress.Downloaded).Wait();
                }
                catch (Exception e)
                {
                    Dispatcher.InvokeAsync(() => windowTabs.UpdaterProgress = UpdateProgress.NotDownloading).Wait();
                    MessageBox.Show("Couldn't download and save update package", "Update failed");
                }
            }
        }
Beispiel #2
0
        static void SilentInstall()
        {
            Stream data;

            if (Environment.Is64BitOperatingSystem)
            {
                data = ZenithUpdates.DownloadAssetData(ZenithUpdates.DataAssetName64);
            }
            else
            {
                data = ZenithUpdates.DownloadAssetData(ZenithUpdates.DataAssetName32);
            }
            ZenithUpdates.InstallFromStream(data);
            data.Close();
            FinalizeInstall();
        }