WiX 包 RegistrySearch 总是失败
WiX bundle RegistrySearch always fails
我正在尝试在 WiX 包中使用注册表搜索来检测是否安装了 Microsoft Access 数据库引擎,然后根据结果有条件地安装它:
<util:RegistrySearch Root="HKLM" Key="SOFTWARE\Microsoft\Office.0\Access Connectivity Engine" Result="exists" Variable="AccessDbInstalled" />
<PackageGroup Id="AccessDb">
<ExePackage
Id="AccessDb14"
Cache="no"
Compressed="yes"
PerMachine="yes"
Permanent="yes"
Vital="yes"
SourceFile="Prereqs\AccessDatabaseEngine_X64.exe"
InstallCommand="/quiet /norestart"
InstallCondition="NOT AccessDbInstalled">
</ExePackage>
</PackageGroup>
但是日志显示注册表搜索总是失败,即使我可以清楚地看到注册表中的密钥:
[77E4:51D8][2021-10-14T16:45:11]i000: Registry key not found. Key = 'SOFTWARE\Microsoft\Office.0\Access Connectivity Engine'
[77E4:51D8][2021-10-14T16:45:11]i000: Setting numeric variable 'AccessDbInstalled' to value 0
我有其他注册表搜索可以正常工作,只是这个不行?!
添加Win64="yes"
。搜索默认为 32 位注册表配置单元。您需要告诉 Burn 您需要 64 位注册表。
我正在尝试在 WiX 包中使用注册表搜索来检测是否安装了 Microsoft Access 数据库引擎,然后根据结果有条件地安装它:
<util:RegistrySearch Root="HKLM" Key="SOFTWARE\Microsoft\Office.0\Access Connectivity Engine" Result="exists" Variable="AccessDbInstalled" />
<PackageGroup Id="AccessDb">
<ExePackage
Id="AccessDb14"
Cache="no"
Compressed="yes"
PerMachine="yes"
Permanent="yes"
Vital="yes"
SourceFile="Prereqs\AccessDatabaseEngine_X64.exe"
InstallCommand="/quiet /norestart"
InstallCondition="NOT AccessDbInstalled">
</ExePackage>
</PackageGroup>
但是日志显示注册表搜索总是失败,即使我可以清楚地看到注册表中的密钥:
[77E4:51D8][2021-10-14T16:45:11]i000: Registry key not found. Key = 'SOFTWARE\Microsoft\Office.0\Access Connectivity Engine'
[77E4:51D8][2021-10-14T16:45:11]i000: Setting numeric variable 'AccessDbInstalled' to value 0
我有其他注册表搜索可以正常工作,只是这个不行?!
添加Win64="yes"
。搜索默认为 32 位注册表配置单元。您需要告诉 Burn 您需要 64 位注册表。