利用TigerInstaller实现自动升级功能..docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
利用TigerInstaller实现自动升级功能.

利用Tiger Installer实现自动升级功能 理论篇 软件的自动升级功能是一个非常实用的技术。对于C/S系统每次系统修改都要逐一升级客户端,这是一个繁琐的让人痛恨的工作,也是C/S系统经常被人抨击的一个痛处。即便是三层系统,在系统修改的时候也免不了要更新客户端。对于其他的单机软件,在现在互联网普及的环境下给软件增加一个通过互联网自动升级的功能也能给用户带来便利,同时提升软件的档次。 要实现自动升级的功能在技术上有什么要求呢? 第一,需要制作升级包。这个升级包还需要功能全面,简单的系统一般是直接更新一个客户端程序就可以了,但是实际复杂一点的系统都可能包含多个文件、注册表、ActiveX组件、COM/COM+组件、BDE/ODBC别名、升级的时候还可能要执行一些程序。这是自动升级功能中最复杂的部分,但是现在Tiger Installer已经支持生成功能完备的升级包了,而且这些升级具有可以和原来的安装融合在一起的功能,也就是说无论装了多少个/次升级包,卸载的时候都可以一次过卸载所有的对象,不需要对升级包进行逐一卸载。具体操作请参阅Tiger Installer的帮助文件。 第二,需要从服务器获得最新的版本,下载升级包。这个有很多的实现方案,可以通过服务器的共享文件夹、FTP服务器、WEB服务器、或者自己写的服务器。我认为实用WEB服务器是最佳选择,管理方便,功能强大,我们可以通过脚本实现比如预定时间发布升级包、根据客户端的版本发布不同的升级包等功能,在后面的例子将会用简单的ASP脚本实现上面的功能。 第三,更新主程序的问题。在自动升级的时候一般都是在主程序里获得最新版本并启动升级包进行升级。这样会带来一个问题,就是如何避免由于主程序在运行的时候不能更新造成的升级失败。在这里我使用了一个简单的办法,在启动升级包的时候把主程序的进程ID传给升级包,这样升级包就可以根据这个进程ID获得主程序的进程句柄,使用WaitforsingleObject函数等待主程序退出再执行升级操作,这样就不会有无法更新主程序的问题了。 根据上面的技术分析,第一点已经由Tiger Installer实现了,第三点中升级包中根据进程ID等待主程序退出也已经在Tiger Installer中实现了,其他的部分我写了一个Delphi简单的控件来实现。下面是控件的属性和方法。 ? 属性/方法 类型 ? Version : String; 属性 软件的当前版本。 VersionURL : String; 属性 取得最新版本的URL。 DownloadURL : String; 属性 下载升级包的URL。 LatestVersion : String; 属性 获取最新版本。 Download : Boolean; 方法 下载升级包,并且执行升级。 实战篇 下载Tiger Update控件包 从下面的地址下载Tiger Update控件包里面包含控件和一个范例程序,两者都包括源代码。/stuff/tigerupdate.rar 控件的安装 1. 用Delphi打开TigerUpdate60.dpk或TigerUpdate70.dpk(分别在Delphi6和Delphi7目录下)Compile再点击Install。 2. 点击Delphi的菜单Tools-Environment Options..进入Environment Options..对话框,在Library页面中把Tiger Update控件所在的目录加入到Library Path中,如下图 3. 安装完毕。 编译测试程序 打开TigerUpdate\Sample目录下的UpdateTest.dpr文件,编译出可执行文件UpdateTest.exe。 生成原始安装程序 1.? TigerInstaller,在左边对象树状图中右击我的应用软件节点,在弹出菜单上点击属性,如下图 把产品名称改成“自动升级测试程序”如下图 2.? (即安装目录)的右击弹出菜单中点击添加-文件如下图 在弹出的打开文件对话框中选择刚才编译出来的UpdateTest.exe文件。 3.? UpdateTest.exe文件,在弹出菜单上点击“创建快捷方式”,如下图: 4.? 5.? Sample.tpr 6.? 修改并编译新的UpdateTest程序 打开TigerUpdate\Sample目录下的UpdateTest.dpr文件,修改TigerUpdate1组件的属性Version为1.01,保存项目,然后重新编译出可执行文件UpdateTest.exe。 生成升级包 1.?????? 打开刚才保存的Sample.tpr文件。 2.?????? 点击菜单上的“新建-本项目升级包”创建Sample.tp

文档评论(0)

stzs + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档