1
1
Programmatically, what is a method that can get the name of the installed Microsoft Office version? I have tried every Powershell command, VBScript, and WMI query I could find. I have pored through the registry and the file system, and I can find no perfect method for collecting the installed Office version.
The closest method I was able to come up with was using a WMIC query:
wmic product where "Name like '%Office%'" get name,version
Unfortunately, this returns a varying array of applications and even if more finely filtered it doesn't tell me if "Office 16" is "Pro", "Professional Plus", or "Office365".
Otherwise, the registry value at
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Scenario\INSTALL\ProductstoAdd
exists at least on version 2016, but not with older versions. And it, itself, doesn't contain a friendly name so further scripting would be necessary to convert data of ProPlusRetail.16_en-us_x-none
to "Office 2016 Professional Plus" or O365BusinessRetail.16_en-us_x-none
to "Office 365 Business (2016)"
I'm hoping that someone has an easier methodology than a bunch of if/elseif/elseif statements in a huge script.
Try something from this answer
– DrZoo – 2016-10-29T02:33:19.287That methodology only returns the "Year" of the Office version. As noted, I need to determine further the product such as "Office 2016 Professional Plus" or "Office 365 Business (2016)". – Beems – 2016-10-31T12:49:04.557
http://superuser.com/questions/1097079/how-to-check-the-office-version-remotely This script seems pretty solid, however it doesnt tell you which license version is installed... – Kage – 2016-10-31T19:19:26.343
I looked at that one. Unfortunately, it does not determine the difference between "Office 2016 Professional Plus" and "Office 365 Business (2016)". Since this question was downvoted, I've been forced to write an entirely new detection script in Powershell that involves dozens and dozens of different mechanisms to get specific, named versions. – Beems – 2016-10-31T19:23:10.053