告别手动更新!WinForm 应用轻松集成自动升级功能 (HHUpdateApp)

news/2025/11/17 10:47:22/文章来源:https://www.cnblogs.com/mq0036/p/19231490

告别手动更新!WinForm 应用轻松集成自动升级功能 (HHUpdateApp)

合集 - .NET 开源工具(25)
 

前言

在桌面应用开发领域,版本更新始终是影响用户体验的关键环节。传统的更新方式不仅操作繁琐,还常伴随兼容性风险。对于桌面应用程序而言,实现一个高效且用户友好的自动更新机制尤为重要。

今天推荐一款专为 .NET 经典桌面应用设计的轻量级工具,以极简配置实现无缝更新,让大家告别复杂的脚本编写,专注于核心业务逻辑。

项目介绍

HHUpdateApp 是一个基于 .NET 框架的桌面应用程序,专为简化传统桌面应用的自动更新流程而设计。通过 HHUpdateApp,开发可以轻松为其现有的应用程序添加自动更新特性,无需深入研究复杂的脚本工具或部署策略。

只需简单的配置和集成,就能让大家的应用程序具备自我更新的能力,显著提升用户体验和满意度。

项目功能

HHUpdateApp 的核心功能在于其能够自动化处理从服务器获取最新版本信息到下载并安装更新包的整个过程。

首先,它会检查指定的 JSON 文件(HHversions.json),该文件包含了最新的版本信息和下载链接。如果发现新版本,HHUpdateApp 会提示用户进行更新,并在用户同意后自动下载并解压更新包,替换旧版文件。

另外,还支持静默更新模式,允许更新过程在后台进行,不打扰用户的正常使用。

项目说明

下载Releases中最新安装包,即刻体验全部功能,无需涉足各种脚本工具,只需面对你所需要升级的程序本身,让应用程序轻松获得自动升级的特性。

在上手前,有些名词是需要我们了解的。

升级程序:HHUpdateApp.exe是一个可执行程序,她提供了升级支持。下面文档中的【升级程序】代指HHUpdateApp.

业务程序:是指你自己的程序,例如你有一个LOLClient.exe程序,我们称它为业务程序.

HHUpdateApp.exe.config:升级程序的参数配置,里面包含【升级程序】工作时所需要的一些参数,祥见开发者使用

HHversions.json:升级版本信息文件,这个文件包含了【业务程序】的升级信息,它是json格式的文件,放置在远端电脑或服务器上,【升级程序】升级时,会请求该文件,以获得升级信息.

项目使用

升级程序原理

【升级程序】从您的服务器下载包含更新信息的JSON文件(HHversions.json)。它使用此JSON文件来获取需要检测更新的PC上【业务程序】有关最新版本的信息。

如果服务器上该【业务程序】的最新版本大于在用户PC上的当前版本,则HHUpdateApp将向用户显示更新对话框。

如果用户按下更新按钮来更新软件,则它将从【HHversions.json)】文件中提供的URL下载更新文件(zip文件)。

之后执行更新是安装程序的工作,HHUpdateApp会将zip文件的内容提取到应用程序目录中替换升级原应用程序文件。

直接点击【HHUpdateApp.exe】,只需要填写【业务应用程序名称】(例如LOLClient)即可体验的为你的LOLClient.exe应用程序检查更新。

开发使用

1、配置HHUpdateApp.exe.config

配置升级程序,此处是HHUpdateApp.exe运行是需要的一些参数,可以手动配置好。

如果没有配置,更新程序运行时,会进入配置页,要求配置。

两种方式均可以。

<HHUpdateApp.Properties.Settings><!--业务应用程序名称:根据这个值,找到业务应用程序,并为它赋予自动更新的功能--><setting name="LaunchAppName" serializeAs="String"><value /></setting><!--服务地址:HHUpdateApp.exe将下载此处提供的HHversions.json文件(包含版本更新信息的JSON文件)--><setting name="ServerUpdateUrl" serializeAs="String"><value>http://localhost:8020/HHversions.json</value></setting><!--非必要参数,用于记录忽略的一个版本号:检查更新时会忽略这个版本的更新--><setting name="LocalIgnoreVer" serializeAs="String"><value /></setting><!--非必要参数,是否静悄悄升级:true,更新过程中不显示界面;false,显示更新界面--><setting name="SilentUpdate" serializeAs="String"><value>False</value></setting>
</HHUpdateApp.Properties.Settings>

2、在【应用程序】中添加代码以使其对HHUpdateApp发起调用

添加调用检测升级更新的方法,以WinForm程序为例,在应用程序中添加{检查更新}按钮,该检查更新按钮,代码如下

参数类型说明
FileName string 【升级程序】HHUpdateApp.exe程序所在路径
Arguments string[] 参数数组:Arguments[0]:发起更新的应用名称(例如,LOLClient);Arguments[1]:检查模式:0 表示定时检查(自动更新),1 表示手动检查
/// <summary>
/// 检查更新按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{ProcessStartInfo processStartInfo = new ProcessStartInfo(){FileName = "~\HHUpdateApp.exe",//参数:【升级程序】HHUpdateApp.exe程序所在路径Arguments = "LOLClient 1"//参数1:【应用程序】的名词,例如:LOLClient;参数1:检查更新模式;Process proc = Process.Start(processStartInfo);if (proc != null){proc.WaitForExit();}
}

3、HHversions.json

发布版本信息HHversions.json。将HHversions.json文件放在【升级程序】可访问的服务器或远程电脑上。升级版本信息文件,这个文件包含了【业务程序】的升级信息,它有固定的格式,如下所示.注意:HHversions.json必须是UTF8格式

{"ApplicationStart": "更新工作结束后启动的业务程序名,多个启动用 # 号分割","ReleaseDate": "发布时间","ReleaseUrl": "zip更新包发布地址","ReleaseVersion": "发布版本号","UpdateMode": "更新方式:Cover表示覆盖原文件更新,NewInstall表示删除源文件全新安装","VersionDesc": "更新描述说明","IgnoreFile": "更新过程中忽略的文件,多个文件用 # 号分割"
}

程序示例

更新弹窗

上面示例中使用的代码片段

/// <summary>
/// 检查更新按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{string _updateAppPath = textBox1.Text;//输入升级程序所在目录if (File.Exists(_updateAppPath))//升级程序是否存在{ProcessStartInfo processStartInfo = new ProcessStartInfo(){FileName = _updateAppPath,//路径Arguments = "LOLClient 1"//此需要升级的应用程序名};Process proc = Process.Start(processStartInfo);if (proc != null){proc.WaitForExit();}}
}

上面示例中使用的HHversions.JSON文件

{"ApplicationStart": "HHUpdate.Test.exe","ReleaseDate": "2020520","ReleaseUrl": "http://localhost:8085/UpdateDemo/Debug.zip","ReleaseVersion": "1.0.0.1","UpdateMode": "Cover","VersionDesc": "一个有趣的故事,当我们最初准备重做乐芙兰时已经准备好了这个BUG的修复,但最后并没有实装,因为这个技能被取代了。\r\n1,修复了一个BUG,【被动 - 镜花水月】所召唤的分身在普攻命中前阵亡,那么她所进行的普攻会造成伤害。\r\n2,新增:【恶意魔印】将为目标施加一个印记。\r\n3,乐芙兰重做后的大招理应让她能够选择复制哪个技能来做出更有趣的连招。","IgnoreFile": ""
}

项目源码

只需从 Releases 页面下载最新的安装包,按照文档中的指南完成基本配置即可。

Gitee:https://gitee.com/Chadwuo/HHAutoUpdate.NET

总结

HHUpdateApp 提供一种简便有效的解决方案,用于为传统的桌面应用程序添加自动更新功能。它通过清晰的设计理念和强大的功能性,帮助开发克服了更新管理上的挑战。

不管是提高工作效率还是增强用户体验,HHUpdateApp 都展现出了其独特价值。随着未来更多特性的加入和技术优化,我们有理由相信它将在桌面应用开发领域扮演更加重要的角色。

关键词

HHUpdateApp、.NET、自动更新、桌面应用、JSON、用户体验、开源、C#、HTTP、ZIP

最后

如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。

也可以加入微信公众号[DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!

 

2025-11-17 10:41:35【出处】:https://www.cnblogs.com/1312mn/p/19021237

=======================================================================================

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/967697.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Visual Studio Product Keys

Product Year Version Product Keys Visual Studio 2026 18.x Professional: NVTDK-QB8J9-M28GR-92BPC-BTHXK Enterprise: VYGRN-WPR22-HG4X3-692BF-QGT2Vhttps://x.com/massgravel/status/1988306014371008…

飞驰云联携手中国银行甘肃省分行 共筑信创时代文件传输基石

近日,Ftrans飞驰云联签约中国银行股份有限公司甘肃省分行(以下简称“中国银行甘肃省分行”),为其提供文件安全传输系统,实现信创环境下的国产FTP替代。 中国银行甘肃省分行是中国银行股份有限公司辖属的一级分行,…

2025年传感器检测颜色直销厂家权威推荐榜单:长距离色标传感器/检测黑色物体的光电/传感器检测黑色源头厂家精选

在工业自动化与智能化浪潮的推动下,颜色传感器市场正迎来高速增长,精准检测与抗干扰能力成为行业核心竞争力 颜色传感器作为工业自动化的"视觉感知器官",其全球市场规模在2024年已达到123.3亿元,预计到2…

Spring事务失效的12种情况

前言 对于从事java开发工作的同学来说,spring的事务肯定再熟悉不过了。 在某些业务场景下,如果一个请求中,需要同时写入多张表的数据。为了保证操作的原子性(要么同时成功,要么同时失败),避免数据不一致的情况,…

2025年农田墒情监测仪生产厂家权威推荐榜单:农田小气候监测仪/智能虫情测报灯/苗情监测源头厂家精选

随着智慧农业的快速发展和精准灌溉需求的提升,农田墒情监测仪市场正迎来技术升级与产业扩容的双重机遇 在农业现代化进程加速和水资源高效利用需求日益迫切的背景下,农田墒情监测仪作为精准农业的核心装备,正成为农…

2025年靠谱的激光封边条实力厂家TOP推荐榜

2025年靠谱的激光封边条实力厂家TOP推荐榜行业背景与市场趋势随着定制家具行业的蓬勃发展,封边条作为家具制造中不可或缺的组成部分,其市场需求呈现稳定增长态势。据《中国家具封边材料行业研究报告》显示,2024年全…

2025 最新无卤 / 磷酸酯 / 液体阻燃剂厂家推荐榜:TPP/TCP/IPPP 等全系列产品靠谱供应商权威榜单

在全球新材料产业加速升级的背景下,阻燃剂作为关键安全助剂,市场需求年增长率保持在 8% 以上。然而市场乱象丛生,据国际阻燃剂协会(IFRA)2024 年测评数据显示,32% 的小型厂家产品存在阻燃效率不达标(延燃时间超…

2025年诚信的水泥毯实力厂家TOP推荐榜

2025年诚信的水泥毯实力厂家TOP推荐榜行业背景与市场趋势水泥毯作为一种创新型建筑材料,近年来在全球建筑市场呈现爆发式增长。据《2024-2025全球水泥毯市场分析报告》显示,2024年全球水泥毯市场规模已达45亿美元,预…

2025年口碑好的珠宝首饰亚克力展示架厂家推荐及选择参考

2025年口碑好的珠宝首饰亚克力展示架厂家推荐及选择参考行业背景与市场趋势珠宝首饰行业作为全球奢侈品市场的重要组成部分,近年来保持着稳健的增长态势。据Statista数据显示,2023年全球珠宝市场规模达到3078亿美元,…

2025年口碑好的工具房压花机用户口碑最好的厂家榜

2025年口碑好的工具房压花机用户口碑最好的厂家榜行业背景与市场趋势随着全球制造业的持续升级和家居建材行业的蓬勃发展,工具房压花机作为表面处理领域的关键设备,市场需求呈现稳定增长态势。根据《2024-2025年中国…

从混沌中见你所见——文生图的逆向浪漫

从混沌中见你所见------文生图的逆向浪漫 缘起 一直以来,我都希望能拍一组日照金山的照片,向往那种巍峨雪山的寂寥与金光漫射的神圣,因缘际会一直未能如愿。看着朋友圈的AI整的手办图,咱也试试生成一个。你别说,你…

文件摆渡系统有哪些?2025年企业选型指南

在数字化办公场景中,企业常面临“网络隔离”与“数据流转”的矛盾。为保障核心数据安全,需将内网、外网、生产网、研发网等物理或逻辑隔离,但业务协同又要求跨网传输设计图纸、客户数据、财务报表等文件。文件摆渡系…

2025年广州货运专线公司权威推荐榜单:整车零担/回程车/专线直达源头公司精选

广州作为国家综合货运枢纽,其货运专线市场正伴随粤港澳大湾区经济的深度融合而迅猛发展,智慧物流与跨境服务能力成为衡量企业价值的新标准 在粤港澳大湾区战略持续推进和制造业转型升级的背景下,广州货运专线行业迎…

2025年专业的饰面防火板厂家推荐及选购指南

2025年专业的饰面防火板厂家推荐及选购指南行业背景与市场趋势饰面防火板作为一种兼具装饰性与防火性能的建筑材料,近年来在商业空间、公共建筑、家居装修等领域的需求持续增长。根据中国建筑材料联合会最新发布的《2…

2025 最新托盘厂家权威推荐榜:网格 / 川字 / 田字 / 九脚 / 塑料托盘优质企业精选,采购必看

引言 托盘作为全球物流仓储的核心承载工具,其品质直接决定供应链效率与货物安全。当前市场产品质量参差不齐,劣质产品导致的货物损耗率高达 12%,而优质托盘可将该风险降低至 3% 以下。本次榜单由国际物流包装协会联…

100_尚硅谷_break引入和快速入门

100_尚硅谷_break引入和快速入门1.break使用,随机生成1-100的一个数, 直到生成了99这个数, 退出循环

2025年质量好的喷涂四氟TOP品牌厂家排行榜

2025年质量好的喷涂四氟TOP品牌厂家排行榜行业背景与市场趋势喷涂四氟技术作为工业防腐领域的关键工艺,近年来随着化工、石油、电力、半导体等行业的快速发展,市场需求呈现稳定增长态势。根据中国工业防腐蚀技术协会…

2025 最新塑料箱厂家推荐!立体库 / 斜插 / 折叠 / 卡板等全类型塑料箱定制厂家权威排行榜,含高性价比品牌优选折叠塑料箱/卡板塑料箱/折叠卡板塑料箱公司推荐

引言 塑料箱作为全球工业物流的核心周转载体,其品质直接决定货物破损率与仓储效率。据国际包装协会(IOPA)2024 年测评数据显示,优质塑料箱可使企业物流成本降低 18%-25%,而劣质产品导致的货物破损损失平均占比达物…

2025年质量好的膨化食品挤出机螺杆用户好评厂家排行

2025年质量好的膨化食品挤出机螺杆用户好评厂家排行行业背景与市场趋势膨化食品作为休闲食品的重要品类,近年来保持着稳定的增长态势。根据中国食品工业协会最新数据显示,2024年中国膨化食品市场规模已达1200亿元,预…

2025年有实力玻璃钢储罐最新TOP品牌厂家排行

2025年有实力玻璃钢储罐最新TOP品牌厂家排行行业背景与市场趋势玻璃钢储罐作为一种轻质高强、耐腐蚀、寿命长的复合材料制品,近年来在化工、环保、水处理、食品酿造等领域应用日益广泛。根据中国复合材料工业协会最新…