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"); } } }
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(); }