我有一个WIX设置。在安装我的设置之前,我想在某些先决条件下使用消息框。 我使用下面的代码来检查特定软件的注册表项。 但它总是提示安装软件或不安装软件。
<Condition Message="This application requires ReportViewer.">
<![CDATA[ReportViewerV10 OR ReportViewerWow64V10]]>
</Condition>
<util:RegistrySearch
Root="HKLM"
Key="SOFTWARE\Microsoft\ReportViewer\v10.0"
Value="Install"
Variable="ReportViewerV10"
Win64="yes"
/>
<util:RegistrySearch
Root="HKLM"
Key="SOFTWARE\Wow6432Node\Microsoft\ReportViewer\v10.0"
Value="Install"
Variable="ReportViewerWow64V10"
Win64="yes"/>
任何人都可以指导我在哪里做错了吗? 什么应该是软件的注册表项?
答案 0 :(得分:1)
根据this documentation,您的注册表搜索参数设置不正确。以下应该会产生更好的结果。
<Property Id="NReportViewerV10">
<RegistrySearch Id="NetFramework20"
Root="HKLM"
Key="SOFTWARE\Microsoft\ReportViewer\v10.0"
Name="Install"
Type="raw" />
</Property>
<Property Id="ReportViewerWow64V10">
<RegistrySearch Id="NetFramework20"
Root="HKLM"
Key="SOFTWARE\Wow6432Node\Microsoft\ReportViewer\v10.0"
Name="Install"
Type="raw" />
</Property>