简介
AutoUpdater.NET 是一个类库,允许 .NET 开发人员轻松地将自动更新功能添加到其经典桌面应用程序项目。
运行环境
支持的 .NET 版本
- .NET Framework 4.6.2 或更高版本
- .NET 核心 3.1
- .NET 5.0 或更高版本
支持的 Windows 版本
- Windows 8 或更高版本
- 低于 8 的 Windows 版本需要安装 .NET Framework 4.5 或更高版本才能使 ZipExtractor 正常工作。您可以使用 installer 而不是 zip 文件作为更新文件来避免此问题。
此库仅适用于 WinForms 或 WPF 应用程序项目。
运作方式
AutoUpdater.NET的工作流程简单明了:首先下载服务器上的XML文件,然后对比当前版本号,如有新版本则显示更新对话框。用户点击更新后,该库将下载更新文件并执行,后续的更新步骤由安装程序接管。
应用场景
开发桌面应用程序的时候,经常会因为新增功能需求或修复已知问题,要求客户更新应用程序,为了更好的服务客户,通常会在程序启动时判断版本变更情况,如发现新版本则自动弹出更新对话框,提醒客户更新成最新版本。在.Net体系中采用 AutoUpdater.NET 组件可以非常便捷的实现这一功能。
实现方式
Autoupdater.NET.Official安装
AutoUpdaterStarter.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://rbsoft.org/downloads/UpdateLog.html</changelog> #更新内容
<mandatory>false</mandatory> #是否强制更新
</item>
其中:
- version (必需) :您需要在版本标记之间提供应用程序的最新版本。版本应在 X.X.X.X 格式。
- url (必需):您需要在 url 标签之间提供最新版本安装程序文件的 URL 或 zip 文件。 AutoUpdater.NET 下载此处提供的文件,并在用户按下 Update (更新) 按钮时安装它。
- changelog (可选):您需要在 changelog 标签之间提供应用程序更改日志的 URL。如果你 不要提供更改日志的 URL,则 Update 对话框不会显示更改日志。
- mandatory (可选):如果您不希望用户跳过此版本,则可以将此设置为 true。这将忽略 Remind 稍后 和 跳过 选项,并同时隐藏 跳过 和 稍后提醒 更新对话框中的按钮。
其他参数及配置可进官方文档查阅
UpdateLog.html配置
<!DOCTYPE html>
<html>
<header>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
</header>
<body>
<h1>
更新提示
</h1>
<ul>
<li>1、【新增】***框功能</li>
<li>2、【修复】***功能</li>
</ul>
</body>
</html>
服务器端文件
将这三个文件存入可访问的服务器路径下:
- 更新包
- AutoUpdaterStarter.xml
UpdateLog.html
wpf中代码配置
只需将以下行添加到主表单构造函数中或在事件中添加Form_Load。您可以添加此行随心所欲。如果您不想在应用程序启动时检查更新,则可以创建一个检查更新按钮并将此行添加到Button_Click事件中。
public MainWindow()
{
InitializeComponent();
AutoUpdater.Start("https://rbsoft.org/downloads/UpdateLog.html");
}