我正在使用Wix v3.0(归结为MSI安装程序),我正在尝试创建一个条件以确保安装了Excel 2003。检测机器上是否存在Excel 2003的最佳(最强大)方法是什么?
我见过很多不同的建议,但没有明确或权威的答案。
答案 0 :(得分:8)
我在Office 2003工具箱Office 2003 Keypath and Default Installation Settings workbooks中找到了一个文件,其中包含Office组件的所有GUID。基于此,我使用组件搜索来定位Core Excel组件。在WiX中,我的情况如下:
<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>
This page包含其他Office应用和其他版本的组件指南。
答案 1 :(得分:4)
我们在以下位置检查InstallRoot注册表项:
HKLM\Software\Microsoft\Office\12.0\Excel\InstallRoot
(将12.0替换为您的应用程序的相关版本号。)
请注意,在64位操作系统上,这将反映到注册表的32位部分(有关注册表反射的更多信息,请参阅this Microsoft article。)
这似乎至少适用于版本2000,XP,2003,2007和2010。 2010年唯一的变化是,64位版本需要您查看注册表的64位部分。
答案 2 :(得分:0)
您可以尝试检查注册表,或者可能是excel的典型安装路径。
答案 3 :(得分:0)
Excel安装程序也安装了Excel(Office)。 你为什么不检查excel组件代码?