背景:
假如已经开发好了一个管理系统,如OverseaPMS.exe,现在有个需求,希望以后程序有变更时,客户端可以检测到,然后从服务器更新高版本程序到本地,而不用开发人员打包setup.exe发给用户覆盖安装。
思路:
打开程序OverseaPMS.exe后,分别读取本地配置文件SystemConfig.xml和服务器配置文件ServerUpdate.xml(一般是在登录界面读取配置文件,如果没有就在主程序界面),从本地配置文件中读取客户端版本号ClientVersion,将其与服务器上的版本号ServerVersion比较。如果ClientVersion小于ServerVersion,就调用更新程序AutoUpdate.exe进行更新,否则就继续运行本地程序OverseaPMS.exe。
具体实施:
(1)客户端程序:
1. OverseaPMS.exe程序代码,内部设置检测机制,思路如上文。
注:检查更新通过异步实现:BackgroundWorker。
// 开始执行后台操作(耗时操作)
this.backgroundUpdate.RunWorkerAsync();//触发backgroundUpadate_DoWork方法执行