在软件的生命周期中,软件维护是一个重要的阶段,维护过程中涉及程序文件的升级更新。当部署的用户端数量较多时,升级程序的工作量大,目前通过网络(包括互联网、局域网)自动检测并更新程序的模式已经普及应用。软件开发过程中尽量使用可复用模块化设计技术,这点在软件行业内已形成共识。在实际开发过程中,由于模块化设计需使其具有通用性,要能满足在不同应用环境下差异化需求,这就要求模块化的软件设计在软件功能上提供众多的参数配置,在不同的应用环境下使用不同的配置。绝大部分的软件需要不定期升级更新,在软件设计期如果不考虑软件升级更新的问题,在后继的软件维护工作中会遇到极大的困难。 我们的框架客户端可以部署为 WinForm、WebForm、WPF、Silverlight 等,如果架构不是在在 WinForm 之上(即经典的 C/S 结构),那么升级显得尤为重要。
C/S 结构有其固有的特点,如能充分发挥客户端的快速响应处理能力,很多工作可以由客户端处理后再提交给服务器,但是客户端布署,维护升级的成本却是非常的高。在我们的框架中已经架设了自动升级布署组件(CAutoUpdater),部署好升级服务器后,只需调用升级组件接口一个方法即可完成系统的升级。解决 C/S 在维护升级方面的问题,充分展现 C/S 结构所带来的诸多优势。
框架升级效果
在我们的框架运行时默认就是检测是否需要更新,如果没有更新就会自动进入登录界面。若框架存在更新,就会提示用户进行升级的选择(升级部署必须正确)。如下图所示。

用户单击"暂不更新"按钮,可跳过升级,直接进入登录界面,单击"立即更新"则自动进入升级程序进行框架的升级,如下图所示。

升级过程中会提示关闭正在运行的程序,如下图所示。

单击"继续更新"按钮,即可完成更新。

框架升级的配置
通过自动升级服务端的配置工具,使框架升级的配置极为简单。在这儿我们选择传统的 IIS 进行部署。如下图所示为升级包创建工具,通过我们提供的此工具就可以创建升级包来完成自动升级。
