【发布时间】:2009-03-16 12:28:29
【问题描述】:
我正在使用 Wix v3.0(归结为 MSI 安装程序)并且我正在尝试创建一个条件以确保已安装 Excel 2003。检测机器上是否存在 Excel 2003 的最佳(最可靠)方法是什么?
我看到了很多不同的建议,但没有明确或权威的答案。
【问题讨论】:
标签: excel wix installation windows-installer wix3
我正在使用 Wix v3.0(归结为 MSI 安装程序)并且我正在尝试创建一个条件以确保已安装 Excel 2003。检测机器上是否存在 Excel 2003 的最佳(最可靠)方法是什么?
我看到了很多不同的建议,但没有明确或权威的答案。
【问题讨论】:
标签: excel wix installation windows-installer wix3
我在 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 应用程序和其他版本的组件指南。
【讨论】:
我们在以下位置检查 InstallRoot 注册表项:
HKLM\Software\Microsoft\Office\12.0\Excel\InstallRoot
(将 12.0 替换为您的应用程序的相关版本号)。
请注意,在 64 位操作系统上,这将反映到注册表的 32 位部分(有关注册表反射的更多信息,请参阅 this Microsoft article)。
这似乎至少适用于 2000、XP、2003、2007 和 2010 版本。 2010 年唯一的变化是 64 位版本需要您查看注册表的 64 位部分。
【讨论】:
您可以尝试检查注册表,或者可能是 excel 的典型安装路径。
【讨论】:
Excel (Office) 也由 windows 安装程序安装。 为什么不检查 excel 组件代码?
【讨论】: