为什么在Wix RegistrySearch中可以读取 HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ App Paths \ test 键,
但是不可能从中读取
HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ test 键?
答案 0 :(得分:1)
RegistrySearch元素创建MSI数据库的AppSearch Table和RegLocator Table中的行。这些行由AppSearch Action处理。本质上,AppSearch操作使用此信息执行注册表获取值操作并将结果分配给属性。
以下几点需要考虑:
1)记录安装程序并读取日志文件。如果AppSearch失败,您将在日志中看到错误代码。这将告诉你要寻找什么。可能性是:
2)64位Windows有64位和32位注册表配置单元。一定要了解这一点的含义。一个32位MSI读取HKLM \ SOFTWARE ...将真正读取HKLM \ SOFTWARE \ Wow6432Node ...
3)注册表项可以应用ACL。如果运行安装的用户没有权限,MSI将无法读取它。能够规避这一点将是一个安全漏洞。