当前位置: 首页 > news >正文

记录WinFrom 使用 Autoupdater.NET.Official 进行软件升级更新,避免遗忘

此升级关键代码从互联网上获取到,进行调整后变成如下:

使用Autoupdater.NET.Official 更新软件版本 关键代码

 public static void Start(string serverPath, ISynchronizeInvoke synchronizeInvoke){AutoUpdater.Start(serverPath, Assembly.GetExecutingAssembly());#region System.Timers.Timer timer = new System.Timers.Timer{Interval = 2 * 60 * 1000,SynchronizingObject = synchronizeInvoke};timer.Elapsed += delegate{AutoUpdater.Start(serverPath, Assembly.GetExecutingAssembly());};timer.Start();#endregion//若您不想在更新表单上显示“跳过”按钮,那个么只需在上面的代码中添加以下行即可。AutoUpdater.ShowSkipButton = false;//如果要同步检查更新,请在启动更新之前将Synchronous设置为true,如下所示。AutoUpdater.Synchronous = true;//若你们不想在更新表单上显示“以后提醒”按钮,那个么只需在上面的代码中添加以下一行即可。AutoUpdater.ShowRemindLaterButton = false;//如果要忽略先前设置的“以后提醒”和“跳过”设置,则可以将“强制”属性设置为true。它还将隐藏“跳过”和“稍后提醒”按钮。如果在代码中将强制设置为true,那么XML文件中的强制值将被忽略。AutoUpdater.Mandatory = false;//您可以通过添加以下代码来打开错误报告。如果执行此自动更新程序。NET将显示错误消息,如果没有可用的更新或无法从web服务器获取XML文件。AutoUpdater.ReportErrors = true;//如果服务器xml文件的版本大于AssemblyInfo中的版本则触发CheckForUpdateEventAutoUpdater.CheckForUpdateEvent += (args) => {if (args.Error == null){//检测到有可用的更新if (args.IsUpdateAvailable){DialogResult dialogResult;if (args.Mandatory.Value){dialogResult =MessageBox.Show($@"发现新版本V{args.CurrentVersion}.当前版本V{args.InstalledVersion}.点击确认开始更新", @"新版更新",MessageBoxButtons.OK,MessageBoxIcon.Information);}else{dialogResult =MessageBox.Show($@"发现新版本V{args.CurrentVersion}.当前版本V{args.InstalledVersion}.确认要更新吗?", @"新版更新",MessageBoxButtons.YesNo,MessageBoxIcon.Information);}if (dialogResult.Equals(DialogResult.Yes) || dialogResult.Equals(DialogResult.OK)){try{//触发更新下载if (AutoUpdater.DownloadUpdate(args)){Application.Exit();}}catch (Exception exception){MessageBox.Show(exception.Message, exception.GetType().ToString(), MessageBoxButtons.OK,MessageBoxIcon.Error);}}}}else{if (args.Error is WebException){MessageBox.Show(@"连接服务器失败,请检查网络连接.",@"更新检查失败", MessageBoxButtons.OK, MessageBoxIcon.Error);}else{MessageBox.Show(args.Error.Message,args.Error.GetType().ToString(), MessageBoxButtons.OK,MessageBoxIcon.Error);}}};}

配置版本

配置升级xml,创建AutoUpdater.xml 文件,添加以下配置

<?xml version="1.0" encoding="UTF-8"?>
<item><version>1.0.0.1</version><url>http://localhost:8085/BatchCopyData.exe</url><changelog>http://localhost:8085/AutoUpdaterLoger.html</changelog><mandatory>false</mandatory>
</item>
http://www.dtcms.com/a/494364.html

相关文章:

  • 【汇编】RAX,eax,ax,ah,al 关系
  • 苍穹外卖 Day12 实战总结:Apache POI 实现 Excel 报表导出全流程解析
  • 网站分页符怎么做珠海网站建设哪个好薇
  • Redis的Docker安装
  • Windows 11 24H2 图形化安装 Docker Desktop(自定义安装路径到 D 盘)
  • python+uniapp基于微信小程序的瑜伽体验课预约系统
  • 什么是Bug呢?
  • 怎么制作网站记事本嘉兴网络科技有限公司
  • 外贸网站建设有用吗做外贸常用那几个网站
  • 【小白笔记】在 PyTorch 和 NumPy 这样的张量库中,形状(Shape) (3,) 的真正含义
  • 新版视频直播点播平台EasyDSS用视频破局,获客转化双提升
  • 【OS笔记07】:进程和线程5-进程的同步与互斥
  • 基于Session和Redis实现短信验证码登录
  • 视觉Slam14讲笔记第6讲非线性优化
  • 仓库管理系统:定义、需求和​​类型
  • 项目管理进阶——解读 软件质量体系白皮书【附全文阅读】
  • ARQC生成模拟
  • 网站架构演变过程ui和网页设计
  • ASR+LLM:B站学习视屏下载并生成学习笔记
  • C++中的引用
  • Linux 系统下 ZONE 区域的划分
  • 网站内部链接优化方法cpanel伪静态wordpress
  • LangChain 表达式语言核心组合:Prompt + LLM + OutputParser
  • 【管理多版本Python环境】Anaconda安装及使用
  • AI修图革命:IOPaint+cpolar让废片拯救触手可及
  • 读书笔记整理--网络学习与概念整合
  • 老铁推荐个2021网站好吗wordpress 入口文件
  • 前端自动化部署全流程(Jenkins + Nginx)
  • 音视频处理(一):什么决定了你的音色?声音的三要素
  • python+uniapp基于微信小程序的助眠小程序