瑞星的版本升级过程怎么实现的?(200分)

  • 主题发起人 主题发起人 xumin23
  • 开始时间 开始时间
X

xumin23

Unregistered / Unconfirmed
GUEST, unregistred user!
从检测到新版本,到升级完毕,分数不够可以加
 
我的认为:
一、在服务器有一个目录中放着可以升级的文件。
二、当你连接上去时,服务器对你机器和提供更新文件的版本号。如果服务器的版本号比你本地的新
就使用FTP或Socket进行文件的升级。
三、如果你的部份文件正在使用,那么先存个其它的名称。要求重启。在主程序重新加载时把文件替换。
 
进行文件升级的部分,代码怎么实现?
 
如果是使用Delphi做可以将OleVariant转换成为Stream来实现。(转换的代码可以在Hubdog的葵花宝典中找到)
前提是你要大概了解Delphi的三层结构原理

大概的思路如下:
client:
读取服务器端的文件名和版本号(是一个DataSet)到本地
循环对比本地的文件与版本号是否相符,如不符就要求下载(传一个OleVariant到服务器
,服务器将要下载的文件读到流中,转换为OleVariant并传递过来,客户端接收后把OleVariant
转换为流保存为文件)
 
这里有
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1744197
 
上帖的功能我都实现过了,通过的ftp+server,我在想一个问题
ftp命令端口帐号通过嗅探包很容易获取,
Server端负责版本获取、帐号验证、文件传输

重启简单,如果是安装包,很多打包软件有相关功能,
或者修改注册表/mechine/ms/current/runOnce(简写了),提示重启
 
鏈変釜鎺т欢鍖咃紝鍙?互瀹炵幇銆傘
 
1、登陆到http://www.rising.com.cn,下载升级包。
2、解压后运行,重起即可!
 
后退
顶部