计算机二级DELPHI软件自动更新的实现计算机二级考试
文章作者 100test 发表时间 2009:05:26 18:19:06
来源 100Test.Com百考试题网
2009年下半年全国计算机等级考试时间是2009年9月19日至23日。一般在考试前两个月开始报名!更多优质资料尽在百考试题论坛 百考试题在线题库
Tiger Update是Tiger Installer安装制作软件附带的一个控件,它可以帮助你轻松地在你的软件上加入自动更新功能。这个控件是免费而且开放源代码的。
Tiger Update实现自动更新实现的原理如下:
1. 通过Tiger Installer制作安装程序和升级包
2. 在一个Web Server上增加一个取得最新版本的链接和一个下载升级包的链接。
3. 软件通过Tiger Update组件取得最新版本和调用升级包升级。
Tiger Update控件的安装
1. 用Delphi(6/7)打开TigerUpdate60.dpk,编译安装
2. 点击Delphi的菜单\"Tools->.Environment Options..\"进入
Environment Options..对话框,在Library页面中把Tiger Update控件所在的
目录加入到Library Path中
3. 安装完毕。
Tiger Update控件的属性和方法
property Version : String. 软件的当前版本。
property VersionURL : String. 取得最新版本的URL。
property DownloadURL : String; 下载升级包的URL。
property LatestVersion : String. 最新版本。
function Download : Boolean. 下载升级包,并且执行升级。
安装程序和升级包的制作
安装程序和升级包制作参考Tiger Installer使用指南,通过菜单“文件->.新建->.本项目升级包”就可以创建当前项目的升级包。升级包会和原来的安装融合在一起,卸载以后原来安装的对象和历次升级包安装的对象都会被清除干净。
Tiger Update自动更新的流程
首先从LatestVersion取得最新版本,然后和现有版本比较,如果最新版本比现有版本新就执行Download方法更新软件。注意,执行安装包的时候会等待主程序结束,防止不能更新主程序的情况发生,所以在执行Download方法后如果返回值是True表明更新下载成功,升级包已经启动,主程序必须马上关闭,升级包会等待10秒钟,超过了10秒将会报超时错误。
范例:
在需要强制更新软件的情况下(比如某些C/S系统,为了保证数据安全,所有客户端的版本必须是最新的),可以在主程序的Dpr文件加上下面的代码:
//以下的代码适合需要强制升级的情况
with TTigerUpdate.Create(nil) do
begin
try
VersionURL := \ http://127.0.0.1/Update.asp?Command=Version\ .
DownloadURL := \ http://127.0.0.1/Update.asp?Command=Download&.Version=<.VERSION>.\ .
Version := \ 1.01\ .
if (LatestVersion >. Version) and Download then
Exit.
finally
Free.
end.
end.
////////////////////////////////////////
这样每次主程序运行都会检查并更新程序
Web服务器的Asp范例
<.%if request(\"command\") = \"Version\" then
if now >.= \"2005-3-27 00:00:00\" then
response.Write(\"1.01\")
else
response.Write(\"1.00\")
end if
else
if request(\"command\") = \"Download\" then
if request(\"version\") >.= \"1.00\" then
Response.Redirect(\"http://127.0.0.1/Update.exe\")
else
Response.Redirect(\"http://127.0.0.1/Update.exe\")
end if
end if
end if
%>.
更新时间用户可以自己设置
特别推荐:
2009年9月全国计算机等级考试时间及科目预告