using AutoUpdaterDotNET;
|
using DevExpress.XtraEditors;
|
using Gs.DevApp.ToolBox;
|
using System;
|
using System.Collections.Generic;
|
using System.ComponentModel;
|
using System.Configuration;
|
using System.Data;
|
using System.Drawing;
|
using System.Linq;
|
using System.Text;
|
using System.Threading;
|
using System.Threading.Tasks;
|
using System.Windows.Forms;
|
|
namespace Gs.DevApp.TestForm
|
{
|
public partial class XtraForm1 : DevExpress.XtraEditors.XtraForm
|
{
|
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);
|
}
|
}
|
}
|
}
|