简单实现在线更新系统

复制代码
因工作需要,笔者需要做一个客户端产品的在线更新系统,在线更新谁都知道,但是一些具体的业务细节还是需要说明一下的。

一、在线更新的实现方式
    1、在部署安装包的时候,添加一个配置文件,配置文件中包含了所有的dll、exe、文件夹、其他类型的文件以及文件夹;每次启动或者需要调用的时候,根据需要覆盖相应的文件即可。此种方式比较简单,有效,更新体量小,不涉及用户文件夹的修改但是对于已经成熟的,以前没有考虑更细系统的软件,切入进去确实有点难度,并且更新exe本身不能更新。
    2、安装包和更新系统双向匹配。安装包需要达到覆盖、互斥、运行检测等一系列可以自动升级的动作;最好静默安装;用户数据文件和qq一样安装在C盘,实现运行和数据分离以防止被误删;主程序运行或者根据需要访问服务器,判断是否需要更新。
二、由于临时插入的需求,不才采用方式二。
    1、利用NSIS写一个符合上述条件的安装程序;
    2、更新接口的字段可以如下:
       文件信息
    a、upStamp:          上传的时间戳(用以判断版本,防止版本名判断错误等)
    b、fileVersion:      文件版本信息
    c、fileName :        文件名
    d、url:              文件下载地址(真正文件下载的链接)
    e、attach:           附加字段(可以添加新版本更新的内容等)
    3、根据需求设置运行检测或按钮检测。
复制代码

 

posted @   卖雨伞的小男孩  阅读(930)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示