我正在使用 InstallShield 并创建一个类似于插件的安装。它必须从已安装程序 X 的注册表中读取,然后将必要的文件添加到找到的位置。我的问题是:在 32 位计算机上,注册表位于 HKEYLM\Software\X 下。在 64 位计算机上,注册表位于 HKEYLM\Software\Wow6432Node\X 下。
那么如何从注册表中读取正确的注册表值,然后将找到的值设置为 INSTALLDIR?
我正在使用 InstallShield 并创建一个类似于插件的安装。它必须从已安装程序 X 的注册表中读取,然后将必要的文件添加到找到的位置。我的问题是:在 32 位计算机上,注册表位于 HKEYLM\Software\X 下。在 64 位计算机上,注册表位于 HKEYLM\Software\Wow6432Node\X 下。
那么如何从注册表中读取正确的注册表值,然后将找到的值设置为 INSTALLDIR?
Firstly find if the target machine is 64 or 32 bit machine.You can use SYSINFO.bIsWow64
similar commands. Once found run the reg commands thru IF loop and achieve your goal.
你已经测试过了吗?我认为,如果您搜索 x86-RegKey(HKEYLM\Software\X),您应该被重定向到 x64 系统上正确的 x64-RegKey(HKEYLM\Software\Wow6432Node\X)。
如果这不起作用试试这个:x64-redirection