c# Winfrom桌面软件自动升级系统

对于开发桌面应用升级应该是我们第一个要考虑的。一般而言一个项目只有一个客户端,有的时候一个项目可能分好几个客户端,前台客户端,后台客户端。而我在网上找了很久也没有找到可以同时管理多个客户端升级的。所以自己一边学习一边制作了一个,之前我使用的是oaus自动升级软件因为这个通信免费版的只能用10个人。所以自己做的这个大量模仿了oaus。这是他们的网址http://blog.oraycn.com/OAUS.aspx

通信的协议使用的是开源项目NetWorkComms.net。本人测试传输1g的文件是没问题的

对于每个版本只更新了一个两个文件,以及增加删除了几个文件,升级时都可以对应的更新覆盖,以及删除客户端本地的文件

一、服务端介绍

文件的目录其中FileFolder文件夹是存放部署好的升级文件

服务端的配置文件可以设置ip和端口其他的就不需要修改了打开服务端点击第一个新增项目

输入项目的名称,我这里已DiskGenius为例

创建成功之后会在列表中显示,也会在服务端的配置生成这个项目的版本

同时会在FileFolder文件夹中生成这个项目的路径用来放这个项目的文件,这个时候我们只要把正常客户端的文件拷贝进去,要注意的是这里面的路径什么的和正常客户端的都是一样的

点击项目的更新会自动扫描目录下更新了几个文件,删除了几个文件,以及新增了几个

之后只要有新的文件需要更新拷贝到对应项目的目录下然后点击更新按钮即可

二、客户端

升级客户端必须放在我们项目客户端的根目录,打包的时候可以带进去进行打包

客户端的File文件夹是存放下载好的文件,等所有文件下载完毕之后会进行覆盖,Temp文件夹是用来缓存下载的文件,Client.ext.config配置文件中要进行配置

在配置文件中配置好服务器ip和端口以及升级完成后要升级的app.还有要配置一下升级的项目名称,这个项目名称要与服务端创建的项目名一致这样子就会下载对应项目的升级文件了当我们启动自己的程序时可以应用类库MessageContract.dll中的HasNewVersion.GetIsNewVersion();方法,这个方法返回布尔值确定是否需要升级,如果需要升级可以及在自己的程序中启动升级程序进行升级下载完成之后用户点击启动即可启动自己的应用程序到此这个升级就完成了。

猜你喜欢

转载自blog.csdn.net/qq_38977099/article/details/86649424
今日推荐