杉宫竹苑工作室

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2440|回复: 0

Advanced Installer 搜索注册表,根据注册表选择安装路径

[复制链接]
发表于 2017-12-25 19:17:29 | 显示全部楼层 |阅读模式

正式会员享受无限制浏览网站功能和高速网盘下载,赶快加入本站吧!

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1、确定安装路径所存的变量名称及更改的地方
老鸟可以无视这个步骤,对于新手可以看一下,这里先说结果,安装路径是存在
APPDIR 这个变量里面的,具体查看方式如下:
1>打开Advanced Installer你的工程文件,在Advanced Installer最上面的工具栏中选中Show run log按钮,如下图所示:
1.png
2>点击上方的Run按钮,启用调试模式,这时程序开始打包,然后自动运行你的安装包,这时你可以发现工具下方出现了调试日志:
2.png
3>一直下一步,选择一个安装路径后,点击下一步,进入到等待安装的界面。
3.png
4.png
4>翻看下方的调试日志,找到 C:\Program Files (x86)\您的公司\您的应用程序\这段文字前方对应的变量名称,那就是 APPDIR。
5.png
2、找到给APPDIR赋值的地方,当然是在点击浏览后的地方,将浏览按钮删除,然后设置此编辑栏为只读状态,设置后需要再下方的Control Conditions中增加一条:
1 disable,才能真正保证只读。
6.png
7.png
3、新建若干个查询项(我这里新建了3个,当然你可以按照自己的需求增加),分别对应需要查询的注册表路径。
8.png
4、可以对每一个查询项测试一下,这里可以看到,如果注册表中存在此键值,那么返回的查询结果为注册表键值的值,如果不存在,则返回空值,以此来判断路径是否存在。
9.png
10.png
11.png
12.png
5、回到对话框页面,在APPDIR那个编辑栏下方的Init Events初始化条件中加入如下条件:
Set installer property value
property : APPDIR
Argument: [RESULT_PATH1]
Condition: RESULT_PATH1<>””
分别将RESULT_PATH1和RESULT_PATH2、RESULT_PATH3都加进去,最后的效果如下:
13.png
14.png
6、大功告成,测试一下:
当PATH1存在:
15.png
当PATH2存在:
16.png
搞定。
这里需要注意的是,如果注册表中所有读出来都是空,那么APPDIR的值就会是一个默认的路径,如果不希望是默认路径的话,那么可以增加提示信息,然后强制退出即可。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SgzyStudio

GMT+8, 2024-3-29 13:00 , Processed in 0.120726 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表