C#使用 AutoUpdater.NET 实现程序自动更新

写在前面

开发桌面应用程序的时候,经常会因为新增功能需求或修复已知问题,要求客户更新应用程序,为了更好的服务客户,通常会在程序启动时判断版本变更情况,如发现新版本则自动弹出更新对话框,提醒客户更新成最新版本。在.Net体系中采用 AutoUpdater.NET 组件可以非常便捷的实现这一功能。

老规矩从NuGet获取 AutoUpdater.NET 组件:

参考官方示例

代码实现

新建WinForm示例程序,主要代码如下:

cs 复制代码
namespace AutoUpdaterWinFormsApp
{
    using AutoUpdaterDotNET;

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            AutoUpdater.InstalledVersion = new Version("1.2");
            System.Timers.Timer timer = new System.Timers.Timer
            {
                Interval = 1 * 30 * 1000,
                SynchronizingObject = this
            };
            timer.Elapsed += delegate
            {
                AutoUpdater.Start("https://rbsoft.org/updates/AutoUpdaterTest.xml");
            };
            timer.Start();
        }
    }
}

xml配置:

XML 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<item>
	<version>2.0.0.0</version>
	<url>https://rbsoft.org/downloads/AutoUpdaterTest.zip</url>
	<changelog>https://github.com/ravibpatel/AutoUpdater.NET/releases</changelog>
	<mandatory>false</mandatory>
</item>

调用示例

相关推荐
basketball61611 分钟前
C++ Lambda 表达式完全指南
开发语言·c++·算法
不知名的老吴12 分钟前
C++中emplace函数的不适场景总结(三)
开发语言·c++·算法
Java面试题总结22 分钟前
Go 里什么时候可以“panic”?
开发语言·后端·golang
rit843249923 分钟前
基于MATLAB平台的指纹识别系统实现
开发语言·matlab
沐知全栈开发33 分钟前
TypeScript String
开发语言
ch.ju1 小时前
Java程序设计(第3版)第三章——数组的动态获取
java·开发语言
曹牧1 小时前
Java:PDF文件扁平化处理
java·开发语言·pdf
灰色人生qwer1 小时前
解决IDEA运行Java程序jdk版本不匹配问题
java·开发语言·intellij-idea
小侯不躺平.1 小时前
C++ Boost库【3】 --类型推导
开发语言·c++
枫叶丹41 小时前
【HarmonyOS 6.0】状态栏扩展新特性:点击状态栏图标展开二级菜单的场景动效详解
开发语言·华为·harmonyos