private void BgWorker_DoWork(object sender, DoWorkEventArgs e) { ISharpUpdatable application = (ISharpUpdatable)e.Argument; if (!SharpUpdateXML.ExistOnServer(application.UpdateXmlLocation)) { e.Cancel = true; } else { e.Result = SharpUpdateXML.Parse(application.UpdateXmlLocation, application.ApplicationID); } }
internal SharpUpdateInfoForm(ISharpUpdatable applicationInfo, SharpUpdateXML updateInfo) { InitializeComponent(); if (applicationInfo.ApplicationIcon != null) { this.Icon = applicationInfo.ApplicationIcon; } this.Text = applicationInfo.ApplicationName + " = Update Info"; this.lblVersions.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) { SharpUpdateXML update = (SharpUpdateXML)e.Result; if (update != null && update.IsNeverThan(this.applicationInfo.ApplicationAssembly.GetName().Version)) { if (new SharpUpdateAcceptForm(this.applicationInfo, update).ShowDialog(this.applicationInfo.Context) == DialogResult.Yes) { this.DownloadUpdate(update); } } } }
internal SharpUpdateAcceptForm(ISharpUpdatable applicationInfo, SharpUpdateXML updateInfo) { InitializeComponent(); this.applicationInfo = applicationInfo; this.updateInfo = updateInfo; this.Text = this.applicationInfo.ApplicationName + " - Update Available"; if (this.applicationInfo.ApplicationIcon != null) { this.Icon = this.applicationInfo.ApplicationIcon; } this.lblNewVersion.Text = string.Format("New Version: {0}", this.updateInfo.Version.ToString()); }
private void DownloadUpdate(SharpUpdateXML update) { SharpUpdateDownloadForm form = new SharpUpdateDownloadForm(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. \nThis program has not been modified.", "Update Download Cancelled", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("There was a problem downloadind the update. \nPlease try again later.", "Update Download Error", MessageBoxButtons.OK, MessageBoxIcon.Information); } }