C# .netCore 自动更新软件版本

背景:随着产品的丰富,有了ERP,MES,WMS ,上位机等软件系统,现在需要对客户软件版本进行统一的更新,建设一个统一的更新组件,可以减少很

        背景:随着产品的丰富,有了ERP,MES,WMS ,上位机等软件系统,现在需要对客户软件版本进行统一的更新,建设一个统一的更新组件,可以减少很多的重复的工作,最起码不用每次开发,每次写更新,统一之后,只要将更新纳入到软件中,配置一下文件即可。有时候会客户端会部署在Linux 环境下,因此选择.netCore 来开发是一个不错的选择。可依赖于数据库,在ERP中有多账套的情况。单独建立一个库不如用配置文件来的简单。 版本还在不断的更新,如果有新的想法,可以联系我,QQ :3088127352,也可以留言讨论。

 

下载地址:https://gitee.com/luocongDaye/onionbit-update.git

需求分析:

1,多个软件产品,每个软件产品对应多个文件路径。

2,更新消息提醒,有的需要强制更新,有的需要提醒更新。

 

软件设计:

S:版本发布服务端  

C:  版本接收客户端

通过即时通讯的方式(Socket) 来时实现更新,消息通知。

 

服务端:选择软件,选择要发布的文件路径,将文件存在到指定的目录下,新增或者修改文件的版本号。

服务端每个系统的配置文件

 

 文件展开结构如下

 

 

客户端:启动更新,监听更新,首先向服务器发送版本比对请求,检查是否有文件需要更新。 

       更新内容分为,文件新增,文件修改,文件删除 ,比对完成,根据版本号,从服务器下载文件。经过验证,通过http 请求文件下载是一个不错的办法。

支持比较大的文件,包括音视频文件等大文件。

客户端配置文件

 

 客户文件版本文件

 

 文件比对代码 下载代码截图:

 

搭建IIS 服务器,

在做的过程中,我也想过,干嘛要用IIS,后来发现,有现成的工具且比较稳定,大概从安装IIS 到配置好,用了不到10分钟。效果还是喜人的。

稍后我补充一下 如何搭建IIS 服务器。