日期:2014-05-19  浏览次数:20754 次

自动升级程序
想写一个自动升级的程序。调用Web   Service获得软件的版本信息。然后对更新的软件的组件进行升级。大致的思路希望讨论下。不是对整个软件进行升级。可能有多次升级,如何协调版本.

------解决方案--------------------
有几种方式
1、制作升级安装包,通过msi安装包的ProductCode和UpdateCode,并在服务器端配置一个最新安装包的版本,通过webservice方法与本地的安装版本比较。客户端如果发现有最新安装包,下载安装包并运行。这个方法适用于程序更新自定义强名程序集或COM组件的情况.缺点是安装包文件比较大,升级会花费比较长的时间.
2、更新文件的方式,在数据库中记录每一个文件的版本,客户端登录时通过webservice与服务器端的最新文件版本比较,如有比当前版本更新的文件,返回文件列表,并下载,覆盖老版本文件.这个方法适用于对程序集版本要求不高,不会发生dll版本冲突的情况.但发布更新比较麻烦.
------解决方案--------------------
my blog...
http://blog.csdn.net/zhgroup/archive/2006/12/29/1466868.aspx
------解决方案--------------------
我们就是这样实现的,不过是直接把文件插进数据库了.
检查一下版本,如果有更新就下载,替换客户端的文件就可以了.

这种方法就是要你明确每次改动的是哪几个DLL,每次只更新这几个.你可以做一个列表,把所有的文件版本都列在上面,每次更新加一条记录,把更新的几个DLL重点标出来,这样看着就很直接了.

现在就是对那种没有版本信息的文件还不太好处理,我只能去比较他们的大小,比如CHM,XLS,DOC.TXT文件等,不知道哪位有什么经验?