C#之使用AutoUpdater自动更新客户端

安装NuGet包

在Visio studio中右击解决方案,选择管理NuGet包,搜索安装Autoupdater.NET.Official。

工作简介

    从服务器下载包含更新文件的XML文件,从中获取软件的最新版本信息。如果软件的最新版本大于用户PC上安装的当前软件版本,则会向用户显示更新对话框。当然,也可以设置按钮事件进行点击下载更新文件。如果文件是压缩包,会自动将压缩包的内容解压缩到应用程序目录。

XML文件

<?xml version = "1.0" encoding = "UTF-8"?>
< item >
    < version > 2.0.0.0 </ version >
    < url > https://www.cnblogs.com</ url >
    < changelog > https://www.cnblogs.com </ changelog >
    < mandatory > false </ mandatory >
</ item >
如上所示:
    version(必填):格式为X.X.X.X的版本标记。
    url(必填):最新版本安装程序文件的url。
    changelog(可选):程序更改日志的url。    
    mandatory(可选):强制更新,将跳过信息和稍后更新按钮隐藏。
选择使用以下代码将跳过update对话框,自动下载更新:
<mandatory mode="2">true</mandatory>
    args(可选):为安装提供命令行参数,参数可以包含%path%,用以替换正在执行的应用程序所在目录的路径。
    checksum(可选):更新文件的校验和,用以检验文件的完整性,algorithm属性指定算法,支持 MD5,SHA1,SHA256,SHA384,SHA512。
<checksum algorithm="MD5">Update file Checksum</checksum>

窗体代码

using AutoUpdaterDotNET;

private void button1_Click(object sender, EventArgs e)
        {
            //XML文件地址
            AutoUpdater.Start("https://www.cnblogs.com");
        }

参考地址

https://github.com/ravibpatel/AutoUpdater.NET

转载于:https://www.cnblogs.com/GardenofEden/p/10337744.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SimpAutoUpdater c#自动升级 模块源码 可以集成到自己程序: 首先在VS中为当前的主程序项目添加引用,引用“客户端”中的“SimpleUpdater.exe”。 在VS中,点开“解决方案管理器”中相应项目的“属性”节点,打开 AssemblyInfo.cs 文件,在最下面添加上一行自动更新声明: //--添加这行标记表示支持自动更新, 后面的网址为自动更新的根目录. [assembly: FSLib.App.SimpleUpdater.Updateable("http://ls.com/update.xml")] 这步是必须的,否则请求检查更新时会抛出异常;代码中的网址即上面提到的能访问到xml文件的网址。 如果您希望更加简单的使用而不用去加这样的属性,或者您想程序运行的时候自定义,您可以通过下列方式的任何一种方式取代上面的属性声明: 使用 FSLib.App.SimpleUpdater.Updater.CheckUpdateSimple("升级网址") 的重载方法。这个重载方法允许你传入一个升级包的地址; 在检查前手动设置 FSLib.App.SimpleUpdater.Updater.UpdateUrl 属性。这是一个静态属性,也就是说,您并不需要创建 FSLib.App.SimpleUpdater.Updater.UpdateUrl 的对象实例就可以修改它。 无论使用哪种方式,请确保在检查更新前,地址已经设置。 到这里,准备工作即告完成,为代码添加上检查更新的操作即可。 static class Program { /// /// 应用程序的主入口点。 /// [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); var updater = FSLib.App.SimpleUpdater.Updater.Instance; //当检查发生错误时,这个事件会触发 updater.Error += new EventHandler(updater_Error); //没有找到更新的事件 updater.NoUpdatesFound += new EventHandler(updater_NoUpdatesFound); //找到更新的事件.但在此实例中,找到更新会自动进行处理,所以这里并不需要操作 //updater.UpdatesFound += new EventHandler(updater_UpdatesFound); //开始检查更新-这是最简单的模式.请现在 assemblyInfo.cs 中配置更新地址,参见对应的文件. FSLib.App.SimpleUpdater.Updater.CheckUpdateSimple(); /* * 如果您希望更加简单的使用而不用去加这样的属性,或者您想程序运行的时候自定义,您可以通过下列方式的任何一种方式取代上面的属性声明: * 使用Updater.CheckUpdateSimple 的重载方法。这个重载方法允许你传入一个升级包的地址; * 在检查前手动设置 FSLib.App.SimpleUpdater.Updater.UpdateUrl 属性。这是一个静态属性,也就是说,您并不需要创建 FSLib.App.SimpleUpdater.Updater.UpdateUrl 的对象实例就可以修改它。 */ FSLib.App.SimpleUpdater.Updater.CheckUpdateSimple("升级网址"); Application.Run(new Form1()); } static void updater_UpdatesFound(object sender, EventArgs e) { } static void updater_NoUpdatesFound(object sender, EventArgs e) { System.Windows.Forms.MessageBox.Show("没有找到更新"); } static void updater_Error(object sender, EventArgs e) { var updater = sender as FSLib.App.SimpleUpdater.Updater; System.Windows.Forms.MessageBox.Show(updater.Exception.ToString()); } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值