摘要:用C/S 结构开发的网络软件, 要解决的主要问题之一就是客户端的自动升级, 只有完成了这一功能, 才能使开发的网络软件能及时更新与完善。文章介绍了一种在客户/服务器结构下客户端软件自动升级的实现方法,并基于C# 探讨了其中的部分关键技术。针对升级问题, 先讲述C/S 模式软件自动升级的发展现状和国内外研究成果,并叙述了两种常用的更新方式——局域网自动更新和FTP协议自动更新,然后讨论了设计自动更新软件所要处理的问题和难点,最后说明自动更新软件的需求及其原理和并设计和实现升级过程。该程序在windows 7环境下,使用VS2008开发完成,实现更新文件从Web 服务器到本地客户端的传输,它的应用能减少不小的维护成本。
关键词:版本检测;自动升级;升级方法;文件传输
Abstract:With the C/S structure development' s network software, one which of subject matters must solve is the client side automatic promotion, only then has completed this function, can enable the development the network software to renew and the consummation promptly. A method for automatic upgrade of client applications in Client /Server structure is introduced,and the key technologies are discussed using C#.Aiming at the update problem,first asked about the C / S mode the software automatically upgrade the status and development of domestic and foreign research results, and describes the two commonly used are updated - automatic updates and FTP protocols LAN automatic updates, and then discuss the design automatically update software to deal with the problems and difficulties, and finally that the demand for and automatically update the software and the design and implementation of the principle and the upgrade process. The program windows 7 environment, developed using VS2008, This module solves the difficulty of the update of C/S software client effectively, it helps to reduce the maintenance cost.
Key words: Version Check;Automatic upgrade;Upgrade Methods;File Transfer
系统共有两个程序,一个是主程序;一个是升级程序;所有升级任务都由升级程序完成。
1.启动升级程序,升级程序连接到网站,下载新的主程序(当然还包括其他支持主程序的文件)到临时文件夹;
2.升级程序获取服务器端新版本程序的更新日期或版本号或文件大小;
3.升级程序获取原有客户端应用程序的最近一次更新日期或版本号或文件大小,两者进行比较;如果发现升级程序的日期大于原有程序的最新日期,则提示用户是否升级;或者是采用将现有版本与最新版本作比较,发现最新的则提示用户是否升级;也有人用其它属性如文件大小进行比较,发现升级程序的文件大小大 于旧版本的程序的大小则提示用户升级。本文主要采用比较新旧版本更新日期号来提示用户升级。
4.如果用户选择升级,则获取下载文件列表,开始进行批量下载文档;
5.升级程序检测旧的主程序是否活动,若活动则关闭旧的主程序;
6.删除旧的主程序,拷贝临时文件夹中的文件到相应的位置;
7.检查主程序的状态,若状态为活动的,则启动新的主程序;
8.关闭升级程序,升级完成。