private void DownloadUpdate(UpdateXml update) { UpdateDownload updateDownloadWnd = new UpdateDownload(update.FileData, applicationInfo.ApplicationIcon); updateDownloadWnd.Owner = applicationInfo.Context; var result = updateDownloadWnd.ShowDialog(); if (result == true) { string currentPath = applicationInfo.ApplicationAssemby.Location; List <string> newPaths = new List <string>(); foreach (FileUpdateStruct item in update.FileData) { newPaths.Add(Path.GetDirectoryName(currentPath) + "\\" + item.filename); } UpdateApplication(updateDownloadWnd.TempFilePaths, currentPath, newPaths, update.LaunchArgs); Environment.Exit(exitCode: 0); } else if (result == false) { UpdateMessageBox.Show(applicationInfo, "Загрузка обновления отменена", "Загрузка обновления отменена", "Пожалуйста, попробуйте позже", MessageBoxInfoType.Error); } else { UpdateMessageBox.Show(applicationInfo, "Ошибка загрузки обновления", "Обнаружена проблема с загрузкой обновления", "Пожалуйста, попробуйте позже", MessageBoxInfoType.Error); } }
public UpdateInfo(IUpdatetable applicationInfo, UpdateXml updateInfo) { InitializeComponent(); if (applicationInfo.ApplicationIcon != null) { this.Icon = applicationInfo.ApplicationIcon; } this.Title = applicationInfo.ApplicationName + " - Информация по обновлению"; this.currentVersion_lb.Text = string.Format("Текущая версия: {0}", applicationInfo.ApplicationAssemby.GetName().Version.ToString()); this.latestVersion_lb.Text = string.Format("Новая версия: {0}", updateInfo.Version.ToString()); this.description_tb.Text = updateInfo.Description; }
private void BackgrounWorker_DoWork(object sender, DoWorkEventArgs e) { IUpdatetable applicationInfo = (IUpdatetable)e.Argument; if (!UpdateXml.ExistsOnServer(applicationInfo.UpdateXmlLocation)) { e.Cancel = true; UpdateMessageBox.Show(applicationInfo, "Проверка обновления", "Обновления отсутствуют", MessageBoxInfoType.Info); } else { e.Result = UpdateXml.Parse(applicationInfo.UpdateXmlLocation, applicationInfo.ApplicationID); } }
public UpdateAccept(IUpdatetable applicationInfo, UpdateXml updateInfo) { InitializeComponent(); this.applicationInfo = applicationInfo; this.updateInfo = updateInfo; this.Title = this.applicationInfo.ApplicationName + " - Обновление доступно"; if (this.applicationInfo.ApplicationIcon != null) { this.Icon = this.applicationInfo.ApplicationIcon; } newversion_tb.Text = string.Format("Новая версия: {0}", this.updateInfo.Version.ToString()); }
private void BackgrounWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { if (!e.Cancelled) { UpdateXml update = (UpdateXml)e.Result; if (update != null && update.IsNewerThan(this.applicationInfo.ApplicationAssemby.GetName().Version)) { UpdateAccept updateAcceptWnd = new UpdateAccept(applicationInfo, update); updateAcceptWnd.Owner = applicationInfo.Context; if (updateAcceptWnd.ShowDialog() == true) { DownloadUpdate(update); } } else { UpdateMessageBox.Show(applicationInfo, "Проверка обновления", "Обновление не требуется", "У вас актуальная версия приложения" + "\nВерсия: " + applicationInfo.ApplicationAssemby.GetName().Version.ToString(), MessageBoxInfoType.Info); } } }