private void BgWorker_DoWork(object sender, DoWorkEventArgs e) { ExamCenterUpdatable application = (ExamCenterUpdatable)e.Argument; if (!ExamCenterUpdateXml.ExistsOnServer(application.UpdateXmlLocation)) { e.Cancel = true; } else { e.Result = ExamCenterUpdateXml.Parse(application.UpdateXmlLocation, application.ApplicationID); } }
public ExamCenterUpdateInfo(ExamCenterUpdatable applicationInfo, ExamCenterUpdateXml 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) { update = (ExamCenterUpdateXml)e.Result; if (update != null && update.IsNewerThan(this.applicationInfo.ApplicationAssembly.GetName().Version)) { if (new ExamCenterUpdateAcceptForm(this.applicationInfo, update).ShowDialog(this.applicationInfo.Context) == DialogResult.Yes) { this.DownloadUpdate(update); } } } }
internal ExamCenterUpdateAcceptForm(ExamCenterUpdatable applicationInfo, ExamCenterUpdateXml 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(ExamCenterUpdateXml update) { ExamCenterUpdateDownloadFrm form = new ExamCenterUpdateDownloadFrm(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 Canceleld", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("There was a problem downloading the update.\nPlease try again later.", "Update Download Error", MessageBoxButtons.OK, MessageBoxIcon.Information); } }