Delphi程序的自动升级功能的实现(AutoUpdate使用指南)
在UtiMnid组件下,利用auAutoUpgrader实现自动升级(已经测试通过)
第一步:下载AutoUpgrader.Pro.v4.6.4。
第二步:打开AutoUpgrader.Pro.v4.6.4下面的Delphi7目录,双击AutoUpgraderProD7.package文件安装,点install,安装。完成后,在工具面板上增加了一个UtiMnid组件。然后将Delphi7目录下面的全部文件都复制到delphi7的安装目录下面的bin目录中。
第一次发布程序时要做的事。
1、在已开发完成的程序中,在第一个启动的窗体上,放一个TauAutoUpgrader控件。
2.双击auAutoUpgrader1,在弹出的对话框中做以下设置:
(1)选择ByNumer,按版本号检查更新,在Numer文本框中填好程序版本号。注意,程序版本号的格式一定要是如:1.0.0.1这种格式,否则会出错。
(2)单击add按钮,添加本次升级文件的http下载地址,格式如:http://192.168.1.104:8080/update/project1.exe,千万别写错了。AutoUpgrader只支持http方式。不要填错。Upgrade method默认;可以在“Release Notes Message”里面写上本次的更新内容;
(3)单击“Export to info-file”按钮,输入文件名,生成一个后缀为.inf的配置文件,然后将这个配置文件上传到你的网站,和升级文件放在同一个目录,如http://192.168.1.104:8080/update。
(4)在auAutoUpgrader1控件的InfoFileURL属性里,输入你的网站里的那个inf文件,假如文件名为aa.inf,那么属性里的值就应该是http://192.168.1.104:8080/update/aa.inf,这儿也千万别搞错了。因为程序升级是靠这个文件来断定是否升级。
(5)把auAutoUpgrader1的autocheck设为true。
(6)自动检查并提示升级:方法是:在第一个启动窗体上,添加以下代码:
procedure TForm1.FormCreate(Sender: TObject);
begin
auAutoUpgrader1.CheckUpdate(true);//实际上就只加这一句。
end;
(7)手动升级:方法是,窗体上放一个按钮button,属性为“检查更新”,在按钮的onclick事件里面写上auAutoUpgrader1.CheckUpdate(False);
(8):在网站上建目录和端口设置。
必须和程序开发中设置的目录一致,否则升级时找不到文件。如开发中的目录是http://192.168.1.104:8080/update,那么网站上就必须设置update目录。还有一点,网站的端口也必须是8080。
(9):将升级文件和配置文件放在网站上已设置好的目录中,例如:update目录。如果文件很多,分不清哪些是升级的,哪些不是的,就全部放进去吧。呵呵。。反正现在硬盘够大了。如果你能分清楚就更好。
修改客户端后,怎么升级处理?
如果你的客户端因业务需要而需要进行修改,那么应在修改完成后,进行下面的修改和处理,才能实现自动升级。
1、对auAutoUpgrader1的修改。双击打开,修改ByNumer的版本号。注意必须比上一次的号高。如上一次是1.0.0.1,那么这一次就应该是1.0.0.2。
2、单击“Export to info-file”按钮,输入与开发时相同的文件名,生成一个后缀为.inf的配置文件,然后将这个配置文件上传到你的网站,和升级文件放在同一个目录,如
3、点OK按钮,然后全部保存Delphi文件,然后编译运行。
4、将新生成的配置文件和全部编译后的Delphi文件复制到网站上指定的目录中,例如http://192.168.1.104:8080/update。覆盖以前的文件。注意:这时不用打包。因为这儿需要的不是打包的程序文件,而是打包之前的散件(未打包的文件)。
5、OK。
6、以后的升级都如法炮制了。
最新文章
- 【转】Source Insight的Alt + W键不能使用的解决办法
- Git创建ssh-key
- 8.10 CSS知识点3
- Booklet Printing[HDU1117]
- 经典SQL练习题
- CMake交叉编译配置
- TextWatcher编辑框监听器
- 开机后将sim/uim卡上的联系人写入数据库
- 转: linux文件链接(软链接和硬链接)
- Documentation | AnsibleWorks
- web系统数据导出功能设计实现(导出excel2003/2007 word pdf zip等)
- 三种方式打印杨辉三角形(JAVA实现)
- Apache、IIS、Nginx等绝大多数web服务器,都不允许静态文件响应POST请求,否则会返回“HTTP/1.1 405 Method not allowed”错误。
- 2017-06-28(passwd 主要组与附属组 gpasswd newgrp groups)
- 有道云笔记MarkDown 插入图片
- 10分钟搭建服务器集群——Windows7系统中nginx与IIS服务器搭建集群实现负载均衡
- AllocateHWnd SetTimer API
- redis底层设计(三)——redis数据类型
- Web 安全漏洞之 XSS 攻击
- 谷歌浏览器升级引起的BUG
热门文章
- CentOS4.5下LVS方案
- 远程桌面工具 TeamViewer
- could not find class that it depends on; nested exception is java.lang.NoClassDefFoundError: org/aspectj/weaver/reflect/ReflectionWorld$ReflectionWorldException
- SVN 创建仓库操作
- HDU 4883 TIANKENG’s restaurant Bestcoder 2-1(模拟)
- java.lang.NoClassDefFoundError: ch/qos/logback/core/joran/spi/JoranException
- 使用 cacti 批量监控服务器以及其 PHP 运作环境配置
- c3p0;maven;model;
- 洛谷P1073 最优贸易==codevs1173 最优贸易
- 【BZOJ3168】[Heoi2013]钙铁锌硒维生素 高斯消元求矩阵的逆+匈牙利算法