Какой безопасный способ обнаружить установленные компоненты Microsoft Office?

StackOverflow https://stackoverflow.com//questions/10703927

Вопрос

Я ищу самый безопасный способ определить, какие компоненты Microsoft Office (если таковые имеются) установлены на данной рабочей станции.Я понимаю, что это можно рассматривать и как вопрос к Serverfault, но поскольку я буду использовать это в сценарии, а многие люди здесь лучше знакомы с внутренней работой Office, я подумал, что это будет лучшее место, чтобы задать вопрос.

Я просмотрел ключ удаления, но он показывает компоненты, которых на самом деле не существует в системе.Я считаю, что это связано с тем, как Office может установить компонент при первом доступе.Я не люблю искать исполняемые файлы, поскольку путь теоретически может измениться.

Это было полезно?

Решение

В итоге я протестировал определенные ключи реестра, принимая во внимание различия между 32- и 64-битными установками Windows.Я обращаю внимание на следующие места/значения реестра:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\12.0\— Базовый ключ Office12 при установке 64-разрядной версии Windows.
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\— Базовое расположение Office12 при установке 32-разрядной версии Windows.
  • Office base path\Outlook\InstallRoot\Path—Ключ, обозначающий путь установки Outlook.
  • Office base path\Registration\{90120000-0012-0000-0000-0000000FF1CE}—Ключ для стандартного GUID Office 12
  • Office base path\Registration\{90120000-0011-0000-0000-0000000FF1CE}—Ключ для Office 12 Professional Plus GUID

Благодаря этим локациям я смог:

  1. Определите, установлен ли Office.
  2. Определите установленную версию Office.
  3. Определите, установлен ли Outlook.

Я не пытался получить более подробную информацию, чем эта.

Другие советы

Если вы действительно думаете, что вы не можете полагаться на пути к EXE или DLL, я бы отличался реестром (многие инструменты для этого существуют) до и после моментальных снимков установки различных компонентов.Однако в моем опыте, я считаю необходимым тестировать существование DLL и других файлов для обнаружения установленных компонентов для Office (мне пришлось тестировать на VBA DLL для обнаружения наличия установленного наличия визуального базового модуля).Пути файлов могут измениться только так много.Вам просто нужно знать 32-битное и 64-битное исправление, и путь WinXP и Win7.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top