Windows Installer PowerShell Extensions 1.0 Beta Released

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