又停了一段时间没有更新了,今天上博客,发现有位朋友就打包的时候需要搜索注册表(不同版本注册表路径不一致,需要搜索多次来确定安装的是哪个版本,然后再来读取之前的安装路径为现在的路径)来实现安装路径自动选择的问题,这里就这个问题来更新一篇关于搜索注册表和设置安装路径的办法,话不多说,开整。


1、确定安装路径所存的变量名称及更改的地方
老鸟可以无视这个步骤,对于新手可以看一下,这里先说结果,安装路径是存在
APPDIR 这个变量里面的,具体查看方式如下:
1>打开Advanced Installer你的工程文件,在Advanced Installer最上面的工具栏中选中Show run log按钮,如下图所示:

2>点击上方的Run按钮,启用调试模式,这时程序开始打包,然后自动运行你的安装包,这时你可以发现工具下方出现了调试日志:

3>一直下一步,选择一个安装路径后,点击下一步,进入到等待安装的界面。

4>翻看下方的调试日志,找到 C:\Program Files (x86)\您的公司\您的应用程序\这段文字前方对应的变量名称,那就是 APPDIR。

2、找到给APPDIR赋值的地方,当然是在点击浏览后的地方,将浏览按钮删除,然后设置此编辑栏为只读状态,设置后需要再下方的Control Conditions中增加一条:
1 disable,才能真正保证只读。

3、新建若干个查询项(我这里新建了3个,当然你可以按照自己的需求增加),分别对应需要查询的注册表路径。

4、可以对每一个查询项测试一下,这里可以看到,如果注册表中存在此键值,那么返回的查询结果为注册表键值的值,如果不存在,则返回空值,以此来判断路径是否存在。

5、回到对话框页面,在APPDIR那个编辑栏下方的Init Events初始化条件中加入如下条件:
Set installer property value
property : APPDIR
Argument: [RESULT_PATH1]
Condition: RESULT_PATH1<>””
分别将RESULT_PATH1和RESULT_PATH2、RESULT_PATH3都加进去,最后的效果如下:

6、大功告成,测试一下:
当PATH1存在:

当PATH2存在:

搞定。

这里需要注意的是,如果注册表中所有读出来都是空,那么APPDIR的值就会是一个默认的路径,如果不希望是默认路径的话,那么可以增加提示信息,然后强制退出即可。

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

  1. 从注册表中获取文件的安装路径

    从注册表中取值(Windows平台) 本篇文章的内容是从Windows平台的注册表里取值 程序开发一般都会涉及从注册表获取相关信息,我将以从注册表获取软件的安装路径为例子 一.需求 我现在要获取微信的 ...

  2. 使用Advanced Installer制作IIS安装包(二:配置安装包依赖项和自定义dll)

    原文:使用Advanced Installer制作IIS安装包(二:配置安装包依赖项和自定义dll) 前言:上篇使用Advanced Installer制作IIS安装包(一:配置IIS和Web.con ...

  3. C#进阶系列——使用Advanced Installer制作IIS安装包(二:配置安装包依赖项和自定义dll)...

    C#进阶系列--使用Advanced Installer制作IIS安装包(二:配置安装包依赖项和自定义dll) 原文:C#进阶系列--使用Advanced Installer制作IIS安装包(二:配置 ...

  4. PPC修改注册表大全 (注册表必看)(转载)

    在PPC上很多功能可以通过改注册表实现  下面是一些较为常用的注册表修改方法 一共有133条 前面是目录 后面对应的是实现功能和修改方法--希望对大家有帮助 理论上通用与WM2003  5.0 6.1 ...

  5. win8.1注册表-修改资源管理器的默认路径regedit

    默认情况下,激活Win8的资源管理器都是直接打开库,对于习惯了以前版本的Windows用户来说,还要重新选择"计算机"才能进入相应的磁盘寻找文件,操作起来很是不便.为此,可以进行设 ...

  6. Django框架项目——BBS项目介绍、表设计、表创建同步、注册、登录功能、登录功能、首页搭建、admin、头像、图片防盗、个人站点、侧边栏筛选、文章的详情页、点赞点踩、评论、后台管理、添加文章、头像

    文章目录 1 BBS项目介绍.表设计 项目开发流程 表设计 2 表创建同步.注册.登录功能 数据库表创建及同步 注册功能 登陆功能 3 登录功能.首页搭建.admin.头像.图片防盗.个人站点.侧边栏 ...

  7. 【转】VS2008制作打包程序将安装路径写入注册表

    安装打包程式右键 *视图->编辑器->注册表: HKEY_CURRENT_USER|HKEY_LOCAL_MACHINE\Software\[Manufacturer]\    //可自定 ...

  8. VC++程序开机自启动(注册表上注册)

    //实现程序开机自启动,在注册表上注册 BOOL CClientTracerDlg::autoRun() {  HKEY   RegKey;  LPCSTR KeyPath="Softwar ...

  9. 验证码的编写——本质:图片目的:防止恶意表单注册

    验证码         1. 本质:图片         2. 目的:防止恶意表单注册 CheckCodeServlet.java package cn.itcast.web.servlet;impo ...

  10. 电脑服务器注册表,电脑注册表怎么清理 服务器安全狗清理注册表教程

    我们在安装一些软件的时候经常会增加一些注册表,有些软件还会修改我们系统本身的注册表,有时候卸载的时候卸载的不是很干净,久而久之注册表的垃圾文件就会越来越多,这个时候清理我们的电脑注册表就很有必要了,那 ...

最新文章

  1. C#用Tesseract进行OCR识别,可识别中英日韩所有语言
  2. mysql数据库主从同步
  3. boost之ThreadPool
  4. 2017计算机发展,【2017年整理】计算机发展的四个阶段.doc
  5. 单向链表的C语言实现与基本操作
  6. Java多线程之并发容器(五)
  7. elementui ts vant冲突_如何解决vue多个ui框架css冲突?
  8. Java ObjectInputStream readLong()方法(带示例)
  9. 13建造者模式(Builder)
  10. android 隐藏所有 fragment,Android 隐藏Fragment
  11. ABAP Util代码
  12. linux 主流 集群 软件,Linux 高可用(HA)集群之Pacemaker详解
  13. MobTech城市智图 | 如何进行商场客群和竞品客群分析?
  14. Unity 手机VR GoogleVR 详细配置教程
  15. SPSS软件做配对t检验
  16. Python从入门到自闭(网络篇)
  17. [机器学习与数据分析] 数据分析常用方法
  18. Vue2.和Vue3.生命周期的区别,对比。 详解生命周期中的每个钩子函数,setup,
  19. R:字符串截取和匹配
  20. ArcGIS 地图切图系列之(一)切片原理解析

热门文章

  1. CubeMX 5.5 修改HAL库库函数版本
  2. 计算机屏幕出现条纹w7,电脑重装win7后屏幕出现条纹怎么办
  3. pixi 小游戏_关于PIXI引擎制作页面小游戏的几个总结
  4. poi导出百万数据到excel,只在瞬息之间
  5. YARN学习总结-第九节-YARN-Web-App-Proxy
  6. C#中,想要获得我的Windows中“我的文档”,以及桌面等,文件夹的路径。
  7. 真是绝了,做了这么多年程序员第一次搞懂微服务架构的数据一致性
  8. 太牛逼了!从Python入门到入魔
  9. vue开发网站seo优化方法
  10. windows 系统清理工具