你目前正处于脱机状态,正在等待 Internet 重新连接

如何查找 Office 2000、Office XP 或 Office 2003 应用程序的安装路径

针对 Office 2003 的支持已终止

Microsoft 已于 2014 年 4 月 8 日终止了针对 Office 2003 的支持。该更改已影响到您的软件更新和安全选项。 了解这一措施对于您的含义以及如何继续保持受保护状态。

概要
本文阐释如何使用 Windows Installer 查找 Microsoft Office、Office XP 或 Office 2003 应用程序的安装路径。
更多信息
版本高于 2000 的 Microsoft Office 在安装时不会在快捷方式链接中包含路径信息。这样做的目的是可以使用“首次使用时运行”选项。当使用此选项时,快捷方式将显示,但应用程序将不会安装在硬盘上。当您首次单击该快捷方式时,应用程序将被安装。

您可以使用 Windows Installer 来获取所安装的 Office 应用程序的路径。按照下面给出的步骤操作,可以创建一个能够报告所安装的 Office 应用程序的目录的控制台应用程序。

生成示例

  1. 在 Visual C++ 中创建一个空的控制台应用程序。
  2. 创建一个名为 main.cpp 的新文件,然后在代码窗口中粘贴下面的代码:
    #include <windows.h>#include <msi.h>#include <ostream.h>const char *Word = "{CC29E963-7BC2-11D1-A921-00A0C91E2AA2}";const char *Excel = "{CC29E96F-7BC2-11D1-A921-00A0C91E2AA2}";const char *PowerPoint = "{CC29E94B-7BC2-11D1-A921-00A0C91E2AA2}";const char *Access = "{CC29E967-7BC2-11D1-A921-00A0C91E2AA2}";const char *Office = "{00000409-78E1-11D2-B60F-006097C998E7}";int main(void){	DWORD size = 300;	INSTALLSTATE installstate;	char *sPath;	sPath = new char[size];        installstate = MsiGetComponentPath(        Office,Word,sPath,&size);	if ((installstate == INSTALLSTATE_LOCAL) ||             (installstate == INSTALLSTATE_SOURCE)) 	  cout << "Installed in: " << sPath << endl;	delete sPath;	return 0;}					
  3. 单击项目菜单,然后单击设置以显示项目设置对话框。
  4. 单击链接选项卡,然后在对象/库模块列表中添加 msi.lib
  5. 运行该程序。它将显示安装 Microsoft Word 的文件路径。

    注意:代码中还包含与 Word、Excel、PowerPoint 和 Access 关联的 GUID。要查找另一个 Office 应用程序的路径,请将该应用程序的名称作为 MsiGetComponentPath 函数的第二个参数进行传递。

    要查找 Office XP 应用程序的路径,请使用下面的内容替换上述常量:
    const char *Word = "{8E46FEFA-D973-6294-B305-E968CEDFFCB9}";const char *Excel = "{5572D282-F5E5-11D3-A8E8-0060083FD8D3}";const char *PowerPoint = "{FC780C4C-F066-40E0-B720-DA0F779B81A9}";const char *Access = "{CC29E967-7BC2-11D1-A921-00A0C91E2AA3}";const char *Office = "{20280409-6000-11D3-8CFE-0050048383C9}";					
    要查找 Office 2003 应用程序的路径,请使用下面的内容替换上述常量:
    const char *Word = "{1EBDE4BC-9A51-4630-B541-2561FA45CCC5}";const char *Excel = "{A2B280D4-20FB-4720-99F7-40C09FBCE10A}";const char *PowerPoint = "{C86C0B92-63C0-4E35-8605-281275C21F97}";const char *Access = "{F2D782F8-6B14-4FA4-8FBA-565CDDB9B2A8}";const char *Office = "{90110409-6000-11D3-8CFE-0150048383C9}";					
参考
您可以从以下位置下载 Windows Installer SDK(它包含 MSI.LIB 文件): 有关 Office 自动化的更多信息,请访问以下 Microsoft Office Development 支持中心网站:

属性

文章 ID:234788 - 上次审阅时间:03/31/2006 02:55:36 - 修订版本: 5.6

  • Microsoft Office Word 2003
  • Microsoft Office Access 2003
  • Microsoft Office PowerPoint 2003
  • Microsoft Office Excel 2003
  • Microsoft Excel 2000 标准版
  • Microsoft Access 2000 标准版
  • Microsoft PowerPoint 2000 标准版
  • Microsoft Word 2000 标准版
  • Microsoft Access 2002 标准版
  • Microsoft Excel 2002 标准版
  • Microsoft PowerPoint 2002 标准版
  • Microsoft Word 2002 标准版
  • kbhowto KB234788
反馈