计算机二级辅导:DELPHI软件自动更新的实现
来源:优易学  2011-6-7 13:03:31   【优易学:中国教育考试门户网】   资料下载   IT书店
  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
  %>
  更新时间用户可以自己设置

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训