Как обнаружить Office 2019 программно?
Мы привыкли обнаруживать установленную на данный момент версию Office, получая полную версию (например, из информации о файле установленного исполняемого файла Office) и сопоставляя версию мэра с понятным именем, например 15 сопоставлений с "Office 2013", 16 с "Office" 2016".
Однако для Office 2019 не происходит существенного изменения номера версии. Номер получаемой нами версии 16.0.10827.20138.
Есть ли надежный способ сопоставить дополнительный номер версии с "Office 2019"? Начиная с какого значения это будет 2019? Есть ли другой способ определить, установлен ли Office 2019?
Нет ли более мелких обновлений для "Office 2016"?
4 ответа
Из того, что мы выяснили, номера версий / сборок Office могут быть одинаковыми для Office 2016, 2019 и Office 365.
Предполагается, что Office 2016 и 2019 будут иметь замороженные наборы функций, а Office 365 будет автоматически обновляться новыми функциями. На некотором этапе O365 и другие номера сборки будут перекрываться. Мы также обнаружили, что Office 2016, установленный с Click-to-Run, может иметь тот же номер сборки, что и 2019, хотя он должен содержать только обновления безопасности.
Office 2016, установленный с MSI, будет иметь статический номер сборки. Установщика MSI для Office 2019 не существует, а это означает, что он будет автоматически обновляться, и номера его сборок могут увеличиться так же, как и для Office 365?
В любом случае: больше невозможно определить версию Office по номеру сборки. Мы прибегли к поиску следующего ключа реестра в дополнение:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun
Если он не существует, а основной номер версии - 16, это установка MSI для Office 2016.
Если он существует, вы знаете, что это установка "нажми и работай", и вы можете проверить следующее значение подраздела, из которого вы можете сделать вывод 2016, 2019 или 365:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Configuration\ProductReleaseIDs
Примером значений являются "O365ProPlusRetail" или "ProPlus2019Retail" или просто "ProPlusRetail"
Любые лучшие предложения приветствуются.
Не знаю, важно ли это для кого-то, но для меня это было сегодня, поэтому я хотел бы поделиться тем, что я нашел.
Я не знаю, можно ли это перенести в другие версии офиса, но для 2016 года я обнаружил следующие значения реестра
HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Common\ExperimentConfigs\Ecs\CountryCode
HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Common\ExperimentConfigs\Ecs\LicenseCategoryInfo
HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Common\ExperimentConfigs\Ecs\LicenseSKUInfo
HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Common\ExperimentConfigs\Ecs\PerpetualLicenseInfo
В моем случае эти ключи содержат следующую информацию (в том же порядке):
std::wstring|DE
std::wstring|3
std::wstring|ProPlusRetail
std::wstring|2016
Итак, все, что вам нужно сделать, это прочитать эти ключи и вырезать "std::wstring|" часть.
Надеюсь, это кому-то поможет.
Я сделал полный ответ для обнаружения Office 95-2019 / O365 здесь. Как определить установленную версию MS-Office?
Этот код позволяет использовать откат от 64 до 32 бит, а также специальное обнаружение ClickAndRun. Обзор приветствуется ;)
Office 365, Office 2019 и Office 2016 имеют одинаковую версию: 16.0. Вы можете обратиться к следующей ссылке:
Поддерживаемые сценарии установки разных версий Office, Project и Visio на одном компьютере
В настоящее время Microsoft не выпустила сообщение о прекращении обновления office2016.
Я видел только из документа, что office2019 имеет только один выпуск, и если вы установили office2019, то ваш office2019 - это начало.
Пожалуйста, смотрите следующую ссылку: