Определение папки, в которую было установлено приложение из пакета Office 2000, Office XP или Office 2003

Поддержка Office 2003 завершена

8 апреля 2014 г. корпорация Майкрософт прекратила поддержку Office 2003. Это повлияло на обновления программного обеспечения и параметры безопасности. Узнайте, что это значит для вас и какие меры по безопасности можно предпринять.

Данная статья была ранее опубликована под номером RU234788
Аннотация
Данная статья содержит описание процесса определения с помощью установщика Windows папки, в которую было установлено приложение из пакета Office 2000, Office XP или Office 2003.
Дополнительная информация
Ярлык программы из пакета Microsoft Office версии более поздней, чем Office 2000, не содержит сведений о папке, в которой установлена программа. Благодаря этому возможна установка «при первом вызове». В случае выбора этого способа появляется только ярлык, а установка самого приложения происходит только при первом его запуске с помощью ярлыка.

Папку, в которую было установлено приложение Office, можно определить с помощью установщика Windows. Ниже приведены инструкции по созданию соответствующего консольного приложения.

Пример приложения

  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. Для открытия диалогового окна свойств проекта выберите команду Settings в меню Project.
  4. Откройте вкладку Link и добавьте файл msi.lib в список модулей Object/library.
  5. Запустите программу. В результате ее выполнения будет отображено имя папки, в которой установлена система Microsoft Word.

    Примечание. В приведенный пример программного кода включены коды GUID, сопоставленные Word, Excel, PowerPoint и Access. Для определения папки, в которой установлено другое приложение, передайте функции 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, можно загрузить со следующего веб-узла корпорации Мicrosoft: Для получения дополнительных сведений об автоматизации обратитесь на веб-узел Microsoft Office Development Support:

Vlastnosti

ID článku: 234788 – Posledná kontrola: 05/30/2006 06:19:30 – Revízia: 3.4

Microsoft Office Word 2003, Microsoft Office Access 2003, Microsoft Office PowerPoint 2003, Microsoft Office Excel 2003, Microsoft Excel 2000 Standard Edition, Microsoft Access 2000 Standard Edition, Microsoft PowerPoint 2000 Standard Edition, Microsoft Word 2000 Standard Edition, Microsoft Access 2002 Standard Edition, Microsoft Excel 2002 Standard Edition, Microsoft PowerPoint 2002 Standard Edition, Microsoft Word 2002 Standard Edition

  • kbhowto KB234788
Pripomienky