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 位注册表。