I don't know how to decode the Advanced PID, but would it be an alternative solution to decode the DigitalProductId's? 1. Get all entries under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ 2. Match all the entries against regex \d{2}\.\d (eg. 10.0 (Office XP) or 12.0 (Office 2007) etc.) 2. a) All matched entries represents an Office version, for each of them ... 3. Open key > eg. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Registration\[GUID]\DigitalProductId 3. a) You could just use a regex to check if it's a GUID, or you could hard code the GUID constants. 4. Decode the DigitalProductId for each product. This approach would even be WMI independent