示例#1
0
        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);
            }
        }
示例#2
0
        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;
        }
示例#3
0
        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);
            }
        }
示例#4
0
        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());
        }
示例#5
0
        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);
                }
            }
        }