コード例 #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
        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);
            }
        }
コード例 #3
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);
                }
            }
        }