在32位和64位计算机上查找第三方32位产品

时间:2011-04-05 14:48:57

标签: windows-installer registry

我正在创作一个MSI文件,该文件使用 RegLocator 表通过其HKLM\Software\...键找到现有应用程序的附加组件;这在32位Windows上运行得很好。

在64位Windows上,密钥可以在HKLM\Software\WOW6432Node\...下找到;这显然是正确的,因为其他应用程序是一个32位应用程序,但它使RegLocator绊倒。

有没有办法检查原始和重写的密钥路径,并使用第一个存在的密钥路径(如果两个密钥都不存在,则根本不应安装该组件)?

1 个答案:

答案 0 :(得分:2)

嗯,根据RegLocator table的文档,如果你没有设置Type列的msidbLocatorType64bit,它将搜索注册表的32位部分。否则它将搜索64位部分。所以,如果你的第三方总是32位(至少这是我从你的问题中理解的那样),你可以不设置该位,它总是会看到32位的配置单元。