Detect version, language of MS Office
I would like to create a custom inventory key for get version of microsoft office (XP, 2003, 2007, 2010) and language of MS office.
Could you help me for get this informations ?
Thanks
Answers (4)
Is there some reason why you are unable to use RegEdit and look yourself?
There are so many places to look for this. Perhaps one might be to use HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\[CompressedVersionOfProductCode]\InstallProperties and read 'DisplayVersion'. Then, in the '..\Features' branch, you could search for the feature which installs the different languages you're looking for.
There is code around to help you construct the compressed GUID from the ProductCode, including here on ITNinja.
I have shown one registry key in my response. There are others, e.g. HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\[ProductCode]. Note that this key uses the *actual* ProductCode, not a compressed one.
All you need to gather are the various ProductCodes for the products you want to search for. You have a deployment system which you use to deploy this stuff with, i.e. the KBox. Then by definition you have access to the package source for these products and therefore cam glean the ProductCodes from the packages. Then all you need to do is create the compressed GUIDs and create your search criteria.
EDIT:
Thinking some more, I'm pretty sure the KBox can be set to search for a particular file and get its version number so why not create a search for, say, WINWORD.EXE across the estate and get a report of the version numbers returned. You can then use that data to connect to one of each of the machines with the different versions and get the relevant registry key from them.
EDIT, EDIT:
Here: I've saved you the bother: Description of the numbering scheme for product code GUIDs in Office 2010. The top of the document has links for similar documents for the other Office flavours.