1

Программно, какой метод может получить имя установленной версии Microsoft Office? Я перепробовал все команды Powershell, VBScript и WMI-запросы, которые я смог найти. Я просматривал реестр и файловую систему, и я не могу найти идеальный способ сбора установленной версии Office.

Самым близким методом, который мне удалось придумать, было использование запроса WMIC:

wmic product where "Name like '%Office%'" get name,version

К сожалению, это возвращает различный массив приложений, и даже если более тонко отфильтровано, оно не сообщает мне, "Office 16" - "Pro", "Professional Plus" или "Office365".

В противном случае значение реестра в

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Scenario\INSTALL\ProductstoAdd

существует по крайней мере в версии 2016 года, но не в более старых версиях. И само по себе оно не содержит понятного имени, поэтому для преобразования данных ProPlusRetail.16_en-us_x-none в "Office 2016 Professional Plus" или O365BusinessRetail.16_en-us_x-none в "Office 365 Business" потребуются дополнительные сценарии. 2016)»

Я надеюсь, что у кого-то есть более простая методология, чем куча операторов if/elseif/elseif в огромном сценарии.

1 ответ1

2

Вы можете найти имя установленного Microsoft Office в реестре. Процесс может быть автоматизирован с помощью следующих шагов:

Проверьте ключи реестра
для 32-битных версий:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
для 64-битных версий:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

Если ключ соответствует одному из шаблонов идентификатора продукта, согласно описанию схемы нумерации для идентификаторов GUID кода продукта в Office 2016, 2013, 2010, 2007, 2003, XP, 2000, прочитайте значение ключа DisplayName , которое фактически является именем установлен офис.

Также я нашел Robust Office Inventory Scan Tool (ROISCAN), который выполняет довольно полный поиск установленных версий Microsoft Office.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .