对于C/S架构来说,软件更新是一个很常用的功能。对于新手来说,软件自动升级功能的开发或许会有点难度。本文根据作者平时工作中实现的一种方式,介绍一种简单的软件自动升级方案。
工具/原料
VS2010
主程序中实现
1、这本文所述的方案中,主要是根据服务器中软件版本号和本地软件版本号是否一致,来确认程序是否需要升级。大致步骤如下:1.对比系统中版本号和数据库中存储版本号是否一致,若不一致,则进行系统升级。2.若本地系统版本号与系统中系统版本号不一致,则从ftp上面去下载相应文件的当前版本的软件包;3.把软件包下载到本地某一目录,将软件更新包重命名为后缀名为.zip的文件压缩包。4.此时关掉主程序的进程,并同时开启SystemUpdate.exe,(或者可写一个bat脚本(该方法有兴趣可以自己实现),启动update.exe;5.update.exe负责解压缩软件升级包,并且把文件解压到系统的安装目录下,替换掉原有的文件。6.解压替换完成后,需要重新开启原程序。7.若文件下载失败或者文件解压失败,需重新下载或者解压缩文件。并提示用户是否继续更新程序。
2、首先主程序里面需要有个检查版本号是否一致的方法,用于检查版本是否为最新,版本更新的代码如下所示,自己可根据表名不一致,更改相应的代码即可。

4、文件重命名:由于软件中标准要求,需上传的更新文件不能为压缩文件的形式,因此,本程序中,再上传更新包时,把需要打包的zip文件包,按照标准中的格式命名,然后下载后,重命名为压缩文件,保存到本地种。文件重命名的代码如下所示.

更新程序中实现
1、更新程序主要功能包括两个,一个是负责解压下载的文件到主程序目录,另一个功能是,关闭更新程序,启动主程序。

3、关闭更新程序,重新启动主程序:文件解压完成之后,我们就完成的系统的更新。此时,关闭更新程序,启动主程序即可。
