/// <summary> /// Checks for /parses update.xml on server /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void bgWorker_DoWork(object sender, DoWorkEventArgs e) { IAutoUpdater application = (IAutoUpdater)e.Argument; if (!AutoUpdaterXML.ExistsOnServer(application.UpdateXmlLocation)) { e.Cancel = true; } else { e.Result = AutoUpdaterXML.Parse(application.UpdateXmlLocation, application.ApplicationID); } }
{/// <summary> /// Create a new AutoUpdateInfoForm /// </summary> /// <param name="applicationInfo"></param> /// <param name="updateInfo"></param> public AutoUpdateInfoForm(IAutoUpdater applicationInfo, AutoUpdaterXML updateInfo) { InitializeComponent(); ///Sets the icon if it's not null if (applicationInfo.ApplicationIcon != null) { this.Icon = applicationInfo.ApplicationIcon; } ///Fill in the UI this.Text = applicationInfo.ApplicationName + " - Update Info"; this.lblVersion.Text = String.Format("Current Version: {0}\nUpdate Version: {1}", applicationInfo.ApplicationAssembly.GetName().Version.ToString(), updateInfo.Version.ToString()); this.txtDescription.Text = updateInfo.Description; }
private void BgWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { if (!e.Cancelled) { AutoUpdaterXML update = (AutoUpdaterXML)e.Result; if (update != null && update.IsNewThan(this.applicationInfo.ApplicationAssembly.GetName().Version)) { if (new AutoUpdateAcceptForm(this.applicationInfo, update).ShowDialog(this.applicationInfo.Context) == DialogResult.Yes) { this.DownloadUpdate(update); } } } }
/// <summary> /// Creats a new AutoUpdateAcceptForm /// </summary> /// <param name="applicationInfo"></param> /// <param name="updateInfo"></param> public AutoUpdateAcceptForm(IAutoUpdater applicationInfo, AutoUpdaterXML updateInfo) { InitializeComponent(); this.applicationInfo = applicationInfo; this.updateInfo = updateInfo; this.Text = this.applicationInfo.ApplicationName + " - Update Availiable"; ///assigns the icon if it isn't null if (this.applicationInfo.ApplicationIcon != null) { this.Icon = this.applicationInfo.ApplicationIcon; } ///Adds the update version # to the form lblNewVersion.Text = string.Format("New Version: {0}", this.updateInfo.Version.ToString()); }
private void DownloadUpdate(AutoUpdaterXML update) { AutoUpdateDownloadFrom form = new AutoUpdateDownloadFrom(update.Uri, update.MD5, this.applicationInfo.ApplicationIcon); DialogResult result = form.ShowDialog(this.applicationInfo.Context); if (result == DialogResult.OK) { string currentPath = this.applicationInfo.ApplicationAssembly.Location; string newPath = Path.GetDirectoryName(currentPath) + "\\" + update.FileName; UpdateApplication(form.TempFilePath, currentPath, newPath, update.LaunchArgs); Application.Exit(); } else if (result == DialogResult.Abort) { MessageBox.Show("The update download was cancelled. \n This programm has not been modified.", "Update Download Cancelled", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("There was a problem downloading to update. \n Please try it later.", "Update Download Error", MessageBoxButtons.OK, MessageBoxIcon.Information); } }