且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-10-02 20:38:04

原文: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)的解决办法