前段时间做了一个工具发布给公司的各部门使用后反馈了不少BUG,每次修改后均需要发邮件通知各用户替换最新版本,很不方便,因此后来就写了一个自动升级的功能,这样每次发布新的版本时只需要将其部署到自动升级服务器上,工具使用用户运行工具时就会连接到自动升级服务器,检查是否有版本更新,如果有则完成更新后再运行最新版本,否则就运行当前工具版本。
为了使这个自动升级模块具有通用性,我将其做成可以单独运行的程序,而并非集成到工具中,这样则可以为各类软件提供自动升级的功能。自动升级模块采用SOCKET方式实现升级客户端与服务端的交互,通过版本控制文件autoupdate.xml来控制版本的更新,完成自动更新后会将历史清单history.htm也发送给客户端,并自动打开该文件,使用户可以对本次升级的具体内容一目了然。
1