我创建了一个为 Windows 2010 部署插件的 WiX 安装程序。目标系统当前安装了 x64 Win 和 Office。我浏览了几个微软网站,告诉我我需要一个 x64 安装程序和运行时(因为加载到当前单词运行的过程中)。此安装程序使用以下语句检查 VSTO 运行时是否存在:
<?if $(var.Platform)=x64 ?>
<?define win64Flag = "yes"?>
<?else ?>
<?define win64Flag = "no"?>
<?endif ?>
<Property Id="VSTORUNTIMEREDIST">
<RegistrySearch Id="VSTORuntimeRedist" Root="HKLM" Key="SOFTWARE\Microsoft\vsto runtime setup\v4R\VSTORFeature_CLR40" Name="Version" Type="raw" Win64="$(var.win64Flag)"/>
</Property>
<Property Id="OFFICERUNTIME">
<RegistrySearch Id="OfficeRuntime" Root="HKLM" Key="SOFTWARE\Microsoft\VSTO Runtime Setup\v4" Name="Version" Type="raw" Win64="$(var.win64Flag)"/>
</Property>
<Condition Message="The Visual Studio 2010 Tools for Office Runtime is not installed. Please install the Office Runtime.">
<![CDATA[Installed OR VSTORUNTIMEREDIST>="10.0.30319" OR OFFICERUNTIME>="10.0.21022"]]>
</Condition>
实际上它适用于我的安装程序的 x86 版本,但是在 x64 模式下构建,它在任何时候都无法在注册表中找到 x64 条目(即使安装了运行时)。我已经尝试卸载并重新安装运行时(实际上重新启动),但它不起作用。
我还删除了检查以安装我的插件,但它并没有真正加载。
因此我的问题是,如果有任何已知的错误问题或我使用了错误的注册表项?