首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >AutoUpdater.NET: 为桌面应用添加自动更新功能

AutoUpdater.NET: 为桌面应用添加自动更新功能

作者头像
郑子铭
发布2025-08-06 17:43:57
发布2025-08-06 17:43:57
8990
举报

AutoUpdater.NET 是一个工具,用于为 .NET 桌面应用添加自动更新功能。

安装方法

可以用下面的命令安装这个库

代码语言:javascript
复制
PM> Install-Package Autoupdater.NET.Official

支持的 .NET 版本

  • • .NET Framework 4.6.2 或更高版本
  • • .NET Core 3.1
  • • .NET 5.0 或更高版本

支持的 Windows 版本

  • • Windows 8 或更高版本
  • • 如果是低于 Windows 8 的系统,需要先安装 .NET Framework 4.5 或更高版本。如果你不想这样做,可以使用安装包而不是 zip 文件来更新程序。

这个库只适用于 WinForms 或 WPF 应用。

工作原理

AutoUpdater.NET 会从服务器下载一个 XML 文件。这个文件包含更新信息。程序读取这个文件里的版本号。如果发现比当前版本高,就会弹出一个提示框。用户点击更新后,程序会从指定地址下载新版本的安装包或 zip 文件。然后运行安装包完成更新。如果是 zip 文件,程序会把里面的内容解压到应用目录。

使用代码

XML 文件

你需要准备一个 XML 文件上传到服务器。文件内容如下:

代码语言:javascript
复制
<?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>

XML 文件里要写清楚以下内容:

  • version(必填):最新的版本号,格式要是 X.X.X.X。
  • url(必填):最新版本的安装包或者 zip 文件的下载地址。
  • changelog(可选):更新日志的网页链接。如果没有,更新对话框就不会显示日志。
  • mandatory(可选):是否强制更新。如果设为 true,用户就不能跳过这次更新。
  • • 更多配置请查看 AutoUpdater.NET 配置

添加一行代码让它工作

在你准备好 XML 文件并上传之后,只需要加一行代码就可以启用自动更新功能。首先,在你的主窗口代码顶部加上:

代码语言:javascript
复制
using AutoUpdaterDotNET;

然后在主窗口构造函数或加载事件中调用下面这行代码:

代码语言:javascript
复制
AutoUpdater.Start("https://rbsoft.org/updates/AutoUpdaterTest.xml");

这个方法接收一个 XML 文件的网址作为参数。

注意:AutoUpdater.Start 必须在 UI 线程上调用。

当前版本检测

AutoUpdater.NET 默认通过程序集版本来判断当前版本号。你可以在项目属性里修改版本号,如图所示:

如何更改 .NET 应用程序的程序集版本?
如何更改 .NET 应用程序的程序集版本?

如何更改 .NET 应用程序的程序集版本?

XML 文件中的版本号要比程序集版本号高,才会触发更新提示。

如果你想自己指定程序集,可以传第二个参数进去:

代码语言:javascript
复制
AutoUpdater.Start("https://rbsoft.org/updates/AutoUpdaterTest.xml", myAssembly);

配置选项

不想让程序自动读取程序集版本号,可以手动设置:

代码语言:javascript
复制
AutoUpdater.InstalledVersion = new Version("1.2");

更多配置请查看 AutoUpdater.NET 配置

·············· END ··············

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-07-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DotNet NB 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装方法
  • 支持的 .NET 版本
  • 支持的 Windows 版本
  • 工作原理
  • 使用代码
    • XML 文件
    • 添加一行代码让它工作
    • 当前版本检测
  • 配置选项
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档