Windows Installer PowerShell Extensions 1.0 Beta Released

Windows Installer PowerShell Extensions 1.0 Beta Released

Rate This
  • Comments 7

I have released Windows Installer PowerShell Extensions 1.0 beta, complete with an installer package. I have also added a couple of cmdlets, and format and type configurations for a good out-of-the-box experience when using the cmdlets Get-MSIProductInfo, Get-MSIPatchInfo, and Get-MSIRelatedProductInfo.

When I introduced PSMSI, you had to manually register the snapin and this was seemingly an adoption blocker. I've been looking into adding a WiX extension to more easily dealing with this without having to load the CLR as is typically done today through InstallUtilLib.dll or InstallUtil.exe. Binder support is needed earlier and we're looking into that feature to support this type of extension where assembly information is needed at compile time.

I encourage you to download this release. The goal is to effectively replace the Windows Installer scripts in the Windows Installer SDK as well as msiinv.exe though that's still a ways off. The most compelling difference is what you can do with that data, since PowerShell is based on an object pipeline and not simply a text pipeline like cmd.exe and other command shells. Too see how you can chain these and built-in cmdlets to find the information you need, see the examples page. For example, to find out how much space all registered patches are consuming, you could type the following:

get-msipatchinfo –filter all | get-itemproperty | format-table fullname, lastwritetime, length -autosize

Leave a Comment
  • Please add 1 and 5 and type the answer here:
  • Post
  • Hello Heath,

    talking about a WiX extension, is WiX 3.0 still being developed by Microsoft? I know an important WiX person left MS, and 3.0 has been in beta for some time, so I am curious whether the developer community can still rely on it being supported.

    Arno

  • The majority of it, yes. If you look at http://wix.sourceforge.net you'll see a lot of active development.

  • Heath Stewart as recently released a beta of some very cool and useful cmdlets to access WIndows Installer

  • I've installed the Windows Installer Cmdlets and they are working, but am I correct in that there is no help for the Cmdlets or is not working?

    PS C:\Users\justme> get-help get-msipatchinfo

    Get-Help : Error loading help content for Get-MSIPatchInfo from file "Microsoft.Windows.Installer.PowerShell.dll-Help.x

    ml". Details: Microsoft.Windows.Installer.PowerShell.dll-Help.xml.

    At line:1 char:9

    + get-help  <<<< get-msipatchinfo

    Regards,

    Stefan Stranger

  • Stefan, there is no help yet. I'll have that for 1.0 RC.

  • Heath, I completed the install, but I get the following when trying to do add-pssnapin.  Any ideas?

    -Clint

    PS C:\Program Files\Windows PowerShell\v1.0> add-pssnapin psmsi

    Add-PSSnapin : Cannot load PSSnapIn psmsi. Encountered following error: Unable

    to load one or more of the requested types. Retrieve the LoaderExceptions prope

    rty for more information.

    Loader Exceptions:

    Could not load file or assembly 'System.Management.Automation, Version=1.0.0.0,

    Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies.

    The system cannot find the file specified.

    Could not load file or assembly 'System.Management.Automation, Version=1.0.0.0,

    Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies.

    The system cannot find the file specified.

    Could not load file or assembly 'System.Management.Automation, Version=1.0.0.0,

    Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies.

    The system cannot find the file specified.

    Could not load file or assembly 'System.Management.Automation, Version=1.0.0.0,

    Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies.

    The system cannot find the file specified.

    Could not load file or assembly 'System.Management.Automation, Version=1.0.0.0,

    Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies.

    The system cannot find the file specified.

    Could not load file or assembly 'System.Management.Automation, Version=1.0.0.0,

    Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies.

    The system cannot find the file specified.

    At line:1 char:13

    + add-pssnapin  <<<< psmsi

    PS C:\Program Files\Windows PowerShell\v1.0>

  • Clint, do you have the RTM of PowerShell installed?

Page 1 of 1 (7 items)