0

我一直在开发一个 WIX .net 项目,该项目需要更新 Microsoft 注册表项才能正常工作。在测试逻辑时,我发现很难调试通过MSiexec.exe命令行 /log 选项更新注册表的 WIX 组件。为了验证正确的行为,我必须手动检查注册表值。如何强制 WIX 项目从 MSI 日志输出中的以下片段记录注册表搜索和更新逻辑?

<util:RegistrySearch Id="Office2013RegistySearch"
                     Root="HKLM"
                     Key="SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine\Engines\Excel"
                     Value="TypeGuessRows"
                     Variable="Office2013GuessRowsx86Exist"
                     Win64="no"
                     Result="exists" />   

<Component Id="Office2013GuessRowsx86RegComponent" Guid="CFE579F9-292A-4777-A671-B5E8E330B1A0" Win64="no">
    <Condition>Office2013GuessRowsx86Exists</Condition>
    <RegistryKey Root="HKLM"
                 Key="SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine\Engines\Excel" ForceDeleteOnUninstall="no">
      <RegistryValue Type="integer" Name="TypeGuessRows" Value="0"/>
    </RegistryKey>
  </Component>
4

1 回答 1

1

尝试使用完整日志

msiexec /i "dotnetproject.msi" /L*v "log.log"

或添加<Property Id="MsiLogging" Value="voicewarmup"/>(也适用于完整日志)

于 2013-09-09T08:32:42.780 回答