Advanced Installer读取注册表时将Program Files读取为Program Files (x86)的解决办法

时间:2021-12-16 10:38:29

原文:Advanced Installer读取注册表时将Program Files读取为Program Files (x86)的解决办法

今天同事在做安装包的时候,有一个读取注册表路径的需求,需要根据读取的值来写配置文件,按照常规的做法,写好了注册表搜索方法,但是在测试的时候,发现总是会将系统盘下的Program Files\xxx路径读取为Program Files (x86)\xxx,如下图所示:

Advanced Installer读取注册表时将Program Files读取为Program Files (x86)的解决办法

之后测试了如果读取非系统盘下的此路径,不会出现这个问题。

但是这个路径一般情况下都是默认安装在系统盘的,难道必须要求客户安装在非系统盘?这个不现实,抱着这个问题,翻阅了Advanced Installer社区,发现这个问题由来已久,一直以来Advanced Installer都知道这个问题,如下图:

Advanced Installer读取注册表时将Program Files读取为Program Files (x86)的解决办法

这里给出的解决办法,就是将安装包的类型设置为64位或32/64位混合模式,而不能是纯粹的32位安装包。

设置方法如下图:

Advanced Installer读取注册表时将Program Files读取为Program Files (x86)的解决办法

设置好后,再次运行注册表测试,就和原始路径一致了。

Advanced Installer读取注册表时将Program Files读取为Program Files (x86)的解决办法

Advanced Installer读取注册表时将Program Files读取为Program Files (x86)的解决办法的更多相关文章

  1. Advanced Installer 中测试数据库连接提示“未发现数据源名称并且未指定默认驱动程序”的解决办法

    原文:Advanced Installer 中测试数据库连接提示"未发现数据源名称并且未指定默认驱动程序"的解决办法 最近需要制作一个安装包,安装包的要求如下: 1.用户手工填写M ...

  2. ContextSwitchDeadlock was detected Message(读取注册表时出现).

    google的时候,在*中得到个暂时解决的方法: http://*.com/questions/2797677/contextswitchdeadloc ...

  3. inno setup读取注册表遇到的一个坑

    一.背景 目前,公司针对PR开发的一个插件需要发布到64位系统上.该插件包括一个prm格式的文件和若干个DLL文件.其中,prm文件需要复制到PR公共插件目录下,DLL需要复制到Windows系统目录 ...

  4. 【VS调试】C#读写Windows 7注册表时抛出“不允许所请求的注册表访问权”的解决办法

    原文:[VS调试]C#读写Windows 7注册表时抛出"不允许所请求的注册表访问权"的解决办法 项目 - 属性 - 安全性,"使用ClickOnce",修改a ...

  5. WinCE下读取注册表获得SD路径

    WinCE下读取注册表获得SD路径 [要点]WinCE注册表中[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDMemory\] 下键Folde ...

  6. C#读取注册表信息

    注册表是视窗系统的一个核心的数据库,在这个数据库中存放中与系统相关的各种参数,这些参数直接控制中系统的启动.硬件的驱动程序安装信息以及在视窗系统上运行的各种应用程序的注册信息等.这就意味着,如果注册表 ...

  7. c++读取注册表的实例

    // CRegisterTest.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> #in ...

  8. C&plus;&plus; 64位操作系统调用 RegOpenKey&lpar;&rpar; 读取注册表,返回 2, ERROR&lowbar;FILE&lowbar;NOT&lowbar;FOUND

    环境:64位操作系统, VS2017 首先在命令行执行 REG ADD HKLM\Software\seastarsun /v serial /t REG_SZ /d 58ae4cb077a4e1 在 ...

  9. C&num;读取注册表中二进制类型的值(REG&lowbar;BINARY)

    如需要读取注册表中某个键的值, 例如读取DriverDesc对应的值,一般情况下为String类型,读取代码如下: RegistryKey driverKey = Registry.LocalMach ...

随机推荐

  1. 写入标题使用依赖注入Title的setTitle方法

    1. 声明 Generator的声明方式类似一般的函数声明,只是多了个*号,并且一般可以在函数内看到yield关键字 function* showWords() { yield 'one'; yiel ...

  2. CSS之transition过渡练习

    代码: <!DOCTYPE html><html><head> <title>transition</title> <meta cha ...

  3. 查看应用程序使用的所有dll

    VS2008命令提示符下: >dumpbin.exe   /dependents  <文件路径+文件名> □

  4. ssh相关操作

    连接:ssh username@ip 拷贝ssh客户端文件到ssh服务器: cp 文件名 username@ip:文件名 拷贝ssh服务器文件夹到ssh客户端: scp -r wanglianghe@ ...

  5. apple-touch-icon&comma;shortcut icon和icon的区别

    apple-touch-icon 可以了解到这是一个类似网站favicon的图标文件,用来在iphone和ipod上创建快捷键时使用. 这个文件应当是png格式,57x57像素大小,放在网站根目录之下 ...

  6. php中jsonp的跨域实例

    我们现在www.test.com这个域名下面有这么个html文件testjsonp.html: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 ...

  7. AL32UTF8 and UTF8 and ZHS16GBK

    About AL32UTF8 ORACLE数据库字符集,即Oracle全球化支持(Globalization Support), 或即国家语言支持(NLS)其作用是用本国语言和格式来存储.处理和检索数 ...

  8. excel数据处理,公式

    1. 替换 SUBSTITUTE(字符串, 原字符串, 新字符串) =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(L2,"镇",""),& ...

  9. Java 多线程 并发和并行

    并发和并行都可以表示执行多个任务,但是偏重点不同.并发偏重于多个任务交替执行,而多个任务之间有可能是串行的.并行是真正意义上的同时执行. 并发和并行示意图如下: 从严格意义上来说,并行的多个任务是真实 ...

  10. 【PAT】B1053 住房空置率(20 分)

    #include<cstdio> #include<string.h> #include<algorithm> using namespace std; int m ...