我正在使用Wix v3.0(它归结为MSI安装程序),我正在尝试编写一个条件来确保安装了Excel 2003。检测计算机上是否安装了Excel 2003的最佳(最强大)方法是什么?
我看到了很多不同的建议,但没有明确或权威的答案。
我看到了很多不同的建议,但没有明确或权威的答案。
<Property Id="EXCEL2003INSTALLED">
<!-- This is the Component Id of Global_Excel_Core -->
<ComponentSearch Id="DetectExcel2003" Guid="{A2B280D4-20FB-4720-99F7-40C09FBCE10A}" Type="file"/>
</Property>
<Condition Message="This application requires Excel 2003 to be installed."><![CDATA[Installed OR EXCEL2003INSTALLED]]></Condition>
这个页面包含其他Office应用程序和其他版本的组件Guids。
我们在以下位置检查InstallRoot注册表键:
HKLM\Software\Microsoft\Office\12.0\Excel\InstallRoot
(将12.0替换为您的应用程序的相关版本号)。
请注意,在64位操作系统上,这将反映在注册表的32位部分(有关注册表反射的更多信息,请参见此Microsoft文章)。
至少对于2000、XP、2003、2007和2010版本,这似乎运行良好。唯一的变化是,对于2010年版,64位版本需要您查看注册表的64位部分。
你可以尝试检查注册表,或者查看 Excel 的典型安装路径。
Excel(Office)也是由Windows Installer安装的。 为什么不检查Excel组件代码呢?