private void cmdCheckForLatest_Click(object sender, EventArgs e) { if (Program.VersionManager.IsCurrent(Versions.ThisVersion)) { MessageBox.Show("You are on the most current version."); } else { NewVersionForm.AskToUpgrade(Application.ProductName, Versions.ThisVersion, Program.VersionManager.LatestStableVersion); } }
public static ReturnValue <DialogResult> AskToUpgrade(string appName, Version thisVersion, AppVersion targetVersion) { return(ReturnValue <DialogResult> .Wrap(() => { var form = new NewVersionForm { txtYourVersion = { Text = thisVersion.ToString() }, txtLatestVersion = { Text = targetVersion.Version.ToString() }, }; ReturnValue.Wrap(() => form.Text = form.Text.Replace("{app}", appName)); //.LogOnFail(); var ans = form.ShowDialog(); return ans; }, string.Format("Showing NewVersionForm for app {0}, this version = '{1}', target version = '{2}'", appName, thisVersion, targetVersion))); }
private static bool CheckForUpgrades() { var launcherRoot = ConfigurationManager.AppSettings["launcherRootPath"]; VersionManager = new VersionManager(Path.Combine(launcherRoot, "SampleApp")); var scanResult = VersionManager.Scan(); if (!scanResult.Success) { MessageBox.Show(string.Format("Lancher failed:\r\n{0}", scanResult)); Start(); return(true); } if (!VersionManager.IsSupported(Versions.ThisVersion)) { var askResult = ForceUpgradeForm.Show(Application.ProductName, Assembly.GetExecutingAssembly().Location); if (askResult.Success) { if (askResult.Value == DialogResult.OK) { var lancher = new Lancher(launcherRoot); lancher.Upgrade(Application.ProductName, VersionManager.LatestStableVersion.Version.ToString()); return(true); } else { return(true); } } } if (!VersionManager.IsCurrent(Versions.ThisVersion)) { var askResult = NewVersionForm.AskToUpgrade(Application.ProductName, Versions.ThisVersion, VersionManager.LatestStableVersion); if (askResult.Success) { if (askResult.Value == DialogResult.OK) { var lancher = new Lancher(launcherRoot); lancher.Upgrade(Application.ProductName, VersionManager.LatestStableVersion.Version.ToString()); return(true); } } } return(false); }