我一直在研究需要更新Microsoft注册表项才能正常工作的WIX .net项目。在测试逻辑时,我发现很难调试通过MSiexec.exe命令行/日志选项更新注册表的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>
答案 0 :(得分:1)
尝试使用完整日志
msiexec / i“dotnetproject.msi”/ L * v“log.log”
或添加<Property Id="MsiLogging" Value="voicewarmup"/>
(对于完整日志)