lu
2024-12-03 b94097020bf79e3d5f046ac4fbd3c05efcda30b3
DevApp/Gs.DevApp/TestForm/XtraForm1.cs
@@ -1,75 +1,33 @@
using AutoUpdaterDotNET;
using DevExpress.XtraEditors;
using Gs.DevApp.ToolBox;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration;
using System;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Diagnostics;
using System.IO;
using System.Net;
using System.Text;
using System.Threading;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Windows.Media.Animation;
using DevExpress.Internal.WinApi.Windows.UI.Notifications;
using DevExpress.XtraEditors;
using DevExpress.XtraRichEdit.Import.OpenXml;
using DevExpress.XtraTreeList.Data;
using Gs.DevApp.Entity;
using Gs.DevApp.ToolBox;
using Gs.DevApp.UserControl;
using Newtonsoft.Json;
namespace Gs.DevApp.TestForm
{
    public partial class XtraForm1 : DevExpress.XtraEditors.XtraForm
    public partial class XtraForm1 : XtraForm
    {
        //https://www.cnblogs.com/China3S/p/3452008.html
        public XtraForm1()
        {
            InitializeComponent();
            string _version = ConfigurationManager.AppSettings["Version"];
            AutoUpdater.InstalledVersion = new Version(_version);
            AutoUpdater.Start("https://dianbei.top/AutoUpdaterTest.xml");
            AutoUpdater.CheckForUpdateEvent += AutoUpdater_CheckForUpdateEvent;
        }
        private void AutoUpdater_CheckForUpdateEvent(UpdateInfoEventArgs args)
        {
            if (args != null)
            {
                if (args.IsUpdateAvailable)
                {
                    string _strMsg = string.Format($@"There is new version {args.CurrentVersion} available. You are using version {args.InstalledVersion}. This is required update. Press Ok to begin updating the application.", @"Update Available");
                    if (!MsgHelper.AskQuestion(_strMsg))
                        Application.Exit();
                    try
                    {
                        if (AutoUpdater.DownloadUpdate(args))
                        {
                            Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
                            if (config != null)
                            {
                                AppSettingsSection appSettings = (AppSettingsSection)config.GetSection("appSettings");
                                if (appSettings.Settings.AllKeys.Contains("Version"))
                                {
                                    appSettings.Settings["Version"].Value = args.CurrentVersion;
                                }
                                else
                                {
                                    appSettings.Settings.Add("Version", args.CurrentVersion);
                                }
                                config.Save(ConfigurationSaveMode.Modified);
                                ConfigurationManager.RefreshSection("appSettings");
                            }
                            Application.Exit();
                        }
                    }
                    catch (Exception exception)
                    {
                        MessageBox.Show(exception.Message, exception.GetType().ToString(), MessageBoxButtons.OK,
                            MessageBoxIcon.Error);
                    }
                }
            }
            else
            {
                MessageBox.Show(
                        @"There is a problem reaching update server please check your internet connection and try again later.",
                        @"Update check failed", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
    }
}