Wix RegistrySearch不能读取HKLM下的所有密钥

时间:2015-01-21 12:54:03

标签: wix registry windows-installer

为什么在Wix RegistrySearch中可以读取 HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ App Paths \ test 键,
 但是不可能从中读取 HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ test 键?

1 个答案:

答案 0 :(得分:1)

RegistrySearch元素创建MSI数据库的AppSearch TableRegLocator Table中的行。这些行由AppSearch Action处理。本质上,AppSearch操作使用此信息执行注册表获取值操作并将结果分配给属性。

以下几点需要考虑:

1)记录安装程序并读取日志文件。如果AppSearch失败,您将在日志中看到错误代码。这将告诉你要寻找什么。可能性是:

2)64位Windows有64位和32位注册表配置单元。一定要了解这一点的含义。一个32位MSI读取HKLM \ SOFTWARE ...将真正读取HKLM \ SOFTWARE \ Wow6432Node ...

3)注册表项可以应用ACL。如果运行安装的用户没有权限,MSI将无法读取它。能够规避这一点将是一个安全漏洞。