2016-11-17 75 views
-1

MSI包本身是x64,但包中定义的注册表项(HKLM/SOFTWARE/[Key])是在64位系统中写入Wow6432Node的。是什么让MSI选择HKLM/SOFTWARE/HKLM/SOFTWARE/Wow6432Node

我使用InstallShield作为工具。

定义的注册表项是这样的: “HKLM \ SOFTWARE \ [软件]”

,我有当包裹被部署进程监视器条目:

msiexec.exe RegCreateKey HKLM\SOFTWARE\Wow6432Node\[software] SUCCESS 

什么想法?

回答

4

你应该说你正在使用哪个工具来构建你的MSI,以及你对注册表项的定义是什么样子,但最明显的解释是包含的组件是一个32位组件。它应该被标记为64位组件以写入本机64位注册表。 64位MSI可以写入32位和64位注册表位置和文件系统。

+0

我正在使用InstallShield,并且定义的密钥类似于“HKLM \ SOFTWARE \ [软件]”。我有两个包含32位或64位版本组件的软件包,但它们都写入“HKLM \ SOFTWARE \ Wow6432Node \ [软件]”而不是“HKLM \ SOFTWARE \ [软件]” –