检测Excel 2003是否安装的最佳方法是什么?

时间:2009-03-16 12:28:29

标签: excel wix installation windows-installer wix3

我正在使用Wix v3.0(归结为MSI安装程序),我正在尝试创建一个条件以确保安装了Excel 2003。检测机器上是否存在Excel 2003的最佳(最强大)方法是什么?

我见过很多不同的建议,但没有明确或权威的答案。

4 个答案:

答案 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组件代码?