我正在开发使用x86和x32版本以及我的Wix安装程序的Excel插件如果用户尝试在x64版本的Excel 2013上安装x86版本的插件,并且反之亦然,我想提出错误。我这样做是这样的:wix - 检查Excel 2013版本
从86插件.wxs文件片段:
<!-- Check if Excel x64 is installed -->
<Property Id="EXCEL2013">
<ComponentSearch Id="DetectExcel2013" Guid="{E3BD1151-B9CA-4D45-A77E-51A6E0ED322A}" Type="file"/>
</Property>
<Condition Message="Please install Excel 2013x64.">
<![CDATA[EXCEL2013]]>
</Condition>
<!-- Check if Excel x86 is installed -->
<Property Id="EXCEL2013">
<ComponentSearch Id="DetectExcel2013" Guid="{C8A65ABE-3270-4FD7-B854-50C8082C8F39}" Type="file"/>
</Property>
<Condition Message="Please install Excel 2013x86.">
<![CDATA[Installed OR EXCEL2013]]>
</Condition>
从64位插件.wxs文件snnipet它似乎可靠。 但是有问题。这个检查就像在x86 Excel机器上的魅力一样 - 在那里找到C8A65ABE ... guid。但是对于x64 Excel机器上的E3BD1151 ... guid,情况并非如此。似乎两个版本的Excel(x86和x64)都具有相同的C8A65ABE ... guid。如何可靠区分Excel 2013版本,因为两个版本都有相同的C8A65ABE ... guid?
在你的x64plugin.wxs文件中,你是否有属性“Platform =”x64“set?否则wix将查找x86注册表位置的GUID。 – Isaiah4110