客户端软件,一般需要是会升级迭代的,那么就需要软件更新,当部署以后升级大家一般怎么办呢?
今天顺便总结下。
1.最多最简单的办法
软件重装,这种应该是软件应用比较多的,用最新版本安装,替换原来版本,比如大家熟知的360这些。新版本就是去重新安装。
2.软件自动更新
这个需要软件自己设计安装升级的组件。
(1)有专门的服务端支持,客户端启动后连接服务端,检测服务端最新的版本,然后通过服务端升级,替换升级的DLL.这种对客户端最简单,甚至可以由服务端提供,需要更新哪些DLL
(2)没有服务器,使用数据库升级。版本放在数据库中,有一个版本列表,客户端启动后去数据库查询是否有最新版本升级,有就下载本地替换。
(3)FTP服务器支持,直接在FTP上放置每个版本的更新,由客户端下载。
基本就是这样,这里说说一些处理。总体上讲,客户端肯定有一个本地文件,记录当前本地版本,用来比较最新的版本信息。
例如FTP这些,最好只是将需要更新的DLL放入,如果没出全部放入,需要固定完整可用版本。建议用一个XML文件,按照软件目录,删除一个文件MD5列表,而客户端本地也有一个完整的XML,用来比较文件是否修改,修改的文件才下载本地。对于大客户端或者有大文件的软件适合。客户端本地文件没有XML列表也可以,检测文件MD5并不耗时,可以直接及时检测。
总之,内部比较文件MD5,更新的文件或者新增的文件才下载,可以节省客户端升级。
最近因为需要,做了一个依靠数据库升级的demo.