自动更新功能简单实现

2016-08-22 10:16:55来源:http://hangzhou492.blog.51cto.com/67690/162450作者:hangzhou492人点击


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 := '替换127.0.0.1/Update.asp?Command=Version'; DownloadURL := '替换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("替换127.0.0.1/Update.exe") else Response.Redirect("替换127.0.0.1/Update.exe") end if end if end if %>
上面这个简单的Asp可以根据用户设定的更新时间更新软件,同时还可以根据客户端的版本提供不同的升级包

文章来自: 好喜爱学习网(www.haoxiai.net) 网址:http://www.haoxiai.net/bianchengyuyan/Delphi/14021.html

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台