如何做程序自动升级?(200分)

  • 主题发起人 主题发起人 zhaogan
  • 开始时间 开始时间
Z

zhaogan

Unregistered / Unconfirmed
GUEST, unregistred user!
我想做一个应用程序自动升级的功能,在服务器中建一个NewVersion目录,把要升级的文件放入此目录中,在客户端启动时,首先检查该目录下有没有新文件,如果有就提示下载该文件。还有、升级完成后,在第二次打开应用程序时、如何判别已经经过升级了!!!
 
www.playicq.com,www.2ccc.com上有很多這樣的例子。。。。。。
 
网上邻居的方法也可以。

时际运行的程序A
首先运行B,判断是否升级,若升级把A拷贝或下载过来,
再运行A即可。
 
你可以这样子,把更新内容的索引保存在文件中,每次更新时候,调用检查字段值是否相同。相同停止,不同下载更新。

也可以用注册表的方法,读取注册表并和服务器上的文件版本比较
 
做版本比较嘛,方法很多三
 
1)把版本写入数据库中
2)启动时,检查当前运行的EXE版本,与数据库版本进行对比
3)不同的,检查文件服务器上的EXE版本
4)如果是跟数据库的一致的,下载此EXE到本机
5)启动一辅助程序,并退出当前程序
6)辅助程序进行新旧版本文件的替换
7)辅助程序运行新版本EXE
8)完成
 
要在程序中保证Windows能登录进文件服务器呵
 
用应用程序文件的时间属性来比较也可以呀.
此贴有讨论,请参考: http://www.delphibbs.com/delphibbs/dispq.asp?lid=2264961
 
这是一个自动下载的控件
http://downloads.2ccc.com/vcl/internet/AutoUpgrader_v4.11_For_Delphi_With_Source.rar

下现是两个例子
互联网检测应用程序升级信息的演示程序及代码
http://www.6ic.com/downloads/simples/internet/update.zip
AutoUpdate 自动更新系统
http://www.6ic.com/downloads/general/internet_lan/AutoUpdate.rar
 
用动态链接库
更新的时候将相应的动态链接库替换
 
后退
顶部