基于AutoUpdater.NET类库实现C# .NET桌面应用程序自动更新

一、引言

概述: AutoUpdater.NET是一个类库,允许.NET开发人员轻松地将自动更新功能添加到他们的经典桌面应用程序项目中。AutoUpdater 是c#.net下桌面应用程序自动更新的类库,使用非常简单,只需要一行代码就可以实现程序自动更新功能,支持.net4.5+,netcore3.1+,net5等,桌面程序支持winform和wpf,仅支持在Windows操作系统环境下使用。

工作流程:

  • AutoUpdater.NET从服务器下载包含更新信息的XML文件。它使用此XML文件获取有关软件最新版本的信息。
  • 如果软件的最新版本大于用户PC上安装的软件的当前版本,则AutoUpdater.NET将向用户显示更新对话框。
  • 如果用户按下更新按钮更新软件,则它从XML文件中提供的URL下载更新文件(安装程序),并执行刚刚下载的安装程序文件。
  • 如果XML中配置URL的更新文件是zip文件而不是安装程序,则AutoUpdater.NET将解压zip文件的内容到应用程序目录。

开源地址:

  • Gitee:https://gitee.com/stylexing/AutoUpdater.NET
  • GitHub:https://github.com/ravibpatel/AutoUpdater.NET
  • 问题及解决方案:https://github.com/ravibpatel/AutoUpdater.NET/issues

支持的版本:

  • .NET Framework 4.5或以上版本
  • .NET Core 3.1
  • .NET 5.0或以上版本
  • 此类库仅适用于WinForms或WPF应用程序项目。

二、准备工作

  • 搭建Web服务器,可选用Apache、Tomcat、IIS等,本文使用的是IIS,主要用途是用于托管更新文件、更新配置XML文件、更新信息日志文件(html、txt);
  • 基于C# .NET开发的桌面应用程序(Winfrom/WPF);
  • 打包工具,本文使用的是VS扩展插件Microsoft Visual Studio Installer Projects,用于将应用程序打包成可安装的文件;

三、搭建网站

  1. 打开IIS(Internet Information Services),如果没有安装的话,快捷键:Windows + R,在打开的运行窗口输入:control,点击确定。

    基于AutoUpdater.NET类库实现C# .NET桌面应用程序自动更新_第1张图片

    双击程序和功能

    基于AutoUpdater.NET类库实现C# .NET桌面应用程序自动更新_第2张图片

    点击启用或关闭Windows功能

    基于AutoUpdater.NET类库实现C# .NET桌面应用程序自动更新_第3张图片

    将下图所示选项勾选上,等待安装完成即可。

    基于AutoUpdater.NET类库实现C# .NET桌面应用程序自动更新_第4张图片

  2. 添加网站,打开IIS后选中网站右击->添加网站->填写网站基本信息->确定。

    基于AutoUpdater.NET类库实现C# .NET桌面应用程序自动更新_第5张图片

  3. 启用目录浏览,双击网站名称->双击目录浏览。

基于AutoUpdater.NET类库实现C# .NET桌面应用程序自动更新_第6张图片

至此,网站的基础配置结束,可以点击上图中的浏览网站,查看网站是否可以正常访问。

  1. 在网站物理路径下新建两个文件夹,分别用户存放更新文件和更新配置文件。

    • Downloads:存放更新文件

    • Updates:存放更新配置文件

四、基本使用

4.1 创建桌面应用程序项目

通过VS创建一个Winfrom项目,完成后选中项目下的引用->管理NuGet程序包,浏览处输入:Autoupdater.NET.Official,然后安装最新版本。注:1.8.4是博主在2023年使用时的最新版本,如果安装的不是最新版本可能在最终使用时会提示一些错误,在开源项目AutoUpdater.NET作者的Github中有关issue有提及到

基于AutoUpdater.NET类库实现C# .NET桌面应用程序自动更新_第7张图片

4.2 创建更新配置XML文件

创建AutoUpdaterStarter.xml文件,并将其放到服务器物理路径下,本文路径为:E:\AutoUpdate4Net\Updates,请根据个人情况自行调整。注:有关xml文件中更为详细的配置介绍请参照官方文档:https://github.com/ravibpatel/AutoUpdater.NET

AutoUpdaterStarter.xml 文件中的内容(版本、url等)请根据实际使用情况进行调整。



<item>
  
  <version>1.0.0.2version>

  
	<url>http://172.16.30.77:8989//Downloads/Release.zipurl>

  
  <changelog>http://172.16.30.77:8989//Updates/UpdateLog.htmlchangelog>

你可能感兴趣的:(C#,.net,c#)