bgx
bgx

Reputation: 790

How to detect Office 2019 programmatically?

We are used to detect the currently installed Office version by getting the full version (e.g. from the file info of an installed Office executable) and map the mayor version to a friendly name, like 15 maps to "Office 2013", 16 to "Office 2016".

However, there is no major version number change for Office 2019. The version number we get is 16.0.10827.20138

Is there a reliable way to map the minor version number to "Office 2019"? From which value onward will it be 2019? Is there another way to detect if Office 2019 is installed?

Are there no more minor updates to "Office 2016"?

Upvotes: 6

Views: 7905

Answers (4)

Orsiris de Jong
Orsiris de Jong

Reputation: 3016

I made a full answer to detect Office 95-2019 / O365 here How to detect installed version of MS-Office?

That code allows 64 to 32 bit fallback and specific ClickAndRun detection too. Review is welcome ;)

Upvotes: 0

rootusertom
rootusertom

Reputation: 53

no idea if this still is important to someone, but to me it was today so I'd like to contribute what I've found.

I don't know if this can be transferred to other versions of office, but for 2016 I found the following registry values

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

In my case, these keys contain the following info (same order):

std::wstring|DE
std::wstring|3
std::wstring|ProPlusRetail
std::wstring|2016

So all you have to do is read these keys and cut the "std::wstring|" part.

Hope that helps someone.

Upvotes: 2

bgx
bgx

Reputation: 790

From what we have found out the Office version numbers/build numbers can be the same for Office 2016, 2019 and Office 365.

Office 2016 and 2019 are supposed to have frozen feature sets while Office 365 will auto-update with new features. At some stage O365 and other build numbers will overlap. We found also that Office 2016 installed with Click-to-Run may have the same build number as 2019, although it is meant to contain security updates only.

Office 2016 installed with MSI will have a static build number. There's no MSI installer for Office 2019, meaning it will auto-update and its build numbers might increase the same way as the ones for Office 365?

In any case: it is no longer possible to determine the Office version from the build number. We have resorted to look up the following registry key in addition:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun 

If it doesn't exist and the major version number is 16 it is an Office 2016 MSI install.

If it exists, you know it's a Click-to-Run installation and you can examine the following subkey value from which you can infer 2016, 2019 or 365:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Configuration\ProductReleaseIDs 

Example values are "O365ProPlusRetail" or "ProPlus2019Retail" or just "ProPlusRetail"

Any better suggestions welcome.

Upvotes: 7

Bruce
Bruce

Reputation: 182

Office 365, Office 2019, and Office 2016 all have the same version: 16.0. You can refer to the following link:

Supported scenarios for installing different versions of Office, Project, and Visio on the same computer

Currently, Microsoft has not released a message to stop updating office2016.

I've only seen from the document that office2019 has only one release, and if you've installed office2019, then your office2019 is the start.

Please See the following link:

Update history for Office 2019

Upvotes: 0

Related Questions