PowerShell 2.0 and later
Anyone who needs to manage MSI installer packages may benefit from an open source project found here: http://psmsi.codeplex.com/.
Simply download the PowerShell module – it comes as an MSI installer package itself. Make sure you unblock the MSI file before you install it (Unblock-File). Otherwise, Windows may refuse to install it.
Unfortunately, the module installs itself in a highly unusual location (AppData\Local\Apps\…), and extends $env:PSModulePath so PowerShell can find the module. This is why you need to restart PowerShell after module installation, because PowerShell will not pick up the changes to $env:PSModulePath.
This is how you can list the new MSI-related cmdlets:
PS> Get-Command -Module MSI CommandType Name ModuleName ----------- ---- ---------- Function Get-MSIComponentState MSI Function Get-MSISharedComponentInfo MSI Function Install-MSIAdvertisedFeature MSI Cmdlet Add-MSISource MSI Cmdlet Clear-MSISource MSI Cmdlet Edit-MSIPackage MSI Cmdlet Export-MSIPatchXml MSI Cmdlet Get-MSIComponentInfo MSI Cmdlet Get-MSIFeatureInfo MSI Cmdlet Get-MSIFileHash MSI Cmdlet Get-MSIFileType MSI Cmdlet Get-MSILoggingPolicy MSI Cmdlet Get-MSIPatchInfo MSI Cmdlet Get-MSIPatchSequence MSI Cmdlet Get-MSIProductInfo MSI Cmdlet Get-MSIProperty MSI Cmdlet Get-MSIRelatedProductInfo MSI Cmdlet Get-MSISource MSI Cmdlet Get-MSISummaryInfo MSI Cmdlet Get-MSITable MSI Cmdlet Install-MSIPatch MSI Cmdlet Install-MSIProduct MSI Cmdlet Measure-MSIProduct MSI Cmdlet Remove-MSILoggingPolicy MSI Cmdlet Remove-MSISource MSI Cmdlet Repair-MSIProduct MSI Cmdlet Set-MSILoggingPolicy MSI Cmdlet Test-MSIProduct MSI Cmdlet Uninstall-MSIPatch MSI Cmdlet Uninstall-MSIProduct MSI