Why does Get-MSIProductInfo not return information about the Windows Installer PowerShell Module?

Topics: Comments
Jul 30, 2012 at 12:30 AM

I can use the Product Code of Visual Studio 2010 to query information with Get-MSIProductInfo:

C:\users\zippy\Downloads> Get-WmiObject Win32_Product -Filter 'Name = "Microsoft Visual Studio 2010 Professional - ENU"'

IdentifyingNumber : {D6B15AE6-B052-363E-B6BB-C4714CBA6509}Name              : Microsoft Visual Studio 2010 Professional - ENUVendor            : Microsoft CorporationVersion           : 10.0.40219Caption           : Microsoft Visual Studio 2010 Professional - ENU


C:\users\zippy\Downloads> Get-MSIProductInfo '{D6B15AE6-B052-363E-B6BB-C4714CBA6509}'
ProductCode                            ProductVersion      ProductName-----------                            --------------      -----------{D6B15AE6-B052-363E-B6BB-C4714CBA6509} 10.0.40219          Microsoft Visual Studio 2010 Professional - ENU

However, this module cannot seem to do the same with itself:

C:\users\zippy\Downloads> Get-WmiObject Win32_Product -Filter 'Name = "Windows Installer PowerShell Module"'

IdentifyingNumber : {4FF51B4D-F17A-4EC6-8301-0BA58AF364F6}Name              : Windows Installer PowerShell ModuleVendor            : Microsoft CorporationVersion           : 2.1.5.0Caption           : Windows Installer PowerShell Module


C:\users\zippy\Downloads> Get-MSIProductInfo '{4FF51B4D-F17A-4EC6-8301-0BA58AF364F6}'C:\users\zippy\Downloads> Get-MSIComponentInfo '{4FF51B4D-F17A-4EC6-8301-0BA58AF364F6}'C:\users\zippy\Downloads>

Why is this? I assume this is not actually not a bug in the module, but something I don't understand about MSIs. 

Coordinator
Aug 15, 2012 at 9:37 AM

The module.msi is installed per-user:

> get-msiproductinfo -name *powershell* -context userunmanaged

ProductCode                            ProductVersion      ProductName
-----------                            --------------      -----------
{64C37ACC-A262-4E1F-8564-A12CA8ABC2AD} 2.1.4.0             Windows Installer PowerShell Module

You could also use "All" for the context. The default is "Machine".

Coordinator
May 25, 2013 at 6:35 PM
I opened and resolved bug #14455 to enumerate all products in the user and machine contexts.
Marked as answer by heaths on 10/3/2013 at 2:14 PM