<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>Windows Installer PowerShell Module</title><link>http://psmsi.codeplex.com/project/feeds/rss</link><description>Exposes Windows Installer functionality to PowerShell, providing means to query installed product and patch information and to query views on packages.</description><item><title>Edited Feature: Cmdlets for querying summary information stream [2756]</title><link>http://psmsi.codeplex.com/workitem/2756</link><description>Create cmdlets to query the summary information stream for any storage passed to it, along with substorages &amp;#40;optionally&amp;#63;&amp;#41;. For Windows Installer file types, create handlers to display proper property names &amp;#40;perhaps along with standard names&amp;#41; to give more meaning &amp;#40;since PROPIDs are overloaded like Revision Number, Template, etc.&amp;#41;.&lt;br /&gt;</description><author>heaths</author><pubDate>Mon, 20 May 2013 16:41:15 GMT</pubDate><guid isPermaLink="false">Edited Feature: Cmdlets for querying summary information stream [2756] 20130520044115P</guid></item><item><title>Edited Feature: Add cmdlet for validation [9423]</title><link>http://psmsi.codeplex.com/workitem/9423</link><description>Add a cmdlet for validating MSIs - maybe even MSPs or MSTs applied to MSIs. The output is an object with properties for the ICE messages. But to easily select records based on messages consider how the table&amp;#47;column&amp;#47;primary keys would be output. Could be some sort of reference to a record that would work with the record selection &amp;#47; update cmdlets.&lt;br /&gt;There should be a parameter to grab the default &amp;#34;darice.cub&amp;#34; from Orca by using a component search. With -Include and -Exclude, first generate inclusions &amp;#40;default is all&amp;#41;&amp;#160;then remove exclusions &amp;#40;if any&amp;#41;.&lt;br /&gt;According to docs, &amp;#34;validate&amp;#34; is not valid but should actually be &amp;#34;test&amp;#34; as shown below.&lt;br /&gt;Usage&amp;#58;&lt;br /&gt;test-wipackage &amp;#91;-Path&amp;#93; &amp;#60;String&amp;#91;&amp;#93;&amp;#62; &amp;#91;&amp;#91;-CubPath&amp;#93; &amp;#60;String&amp;#91;&amp;#93;&amp;#62;&amp;#93;&amp;#160;&amp;#91;-Default&amp;#93; &amp;#91;-Include &amp;#60;String&amp;#91;&amp;#93;&amp;#62;&amp;#93; &amp;#91;-Exclude &amp;#60;String&amp;#91;&amp;#93;&amp;#62;&amp;#93;&lt;br /&gt;</description><author>heaths</author><pubDate>Mon, 20 May 2013 16:41:15 GMT</pubDate><guid isPermaLink="false">Edited Feature: Add cmdlet for validation [9423] 20130520044115P</guid></item><item><title>Edited Feature: Given a list of products and patches, return would-be sequence of patches [9121]</title><link>http://psmsi.codeplex.com/workitem/9121</link><description>Create a cmdlet that would accept a list of patch packages and&amp;#47;or MSP XML&amp;#160;file, and an optional list of product packages or ProductCodes. If no products were provided, then the union of the target ProductCodes should be used. Machine state can be optionally ignored.&lt;br /&gt;Possible definitions&amp;#58;&lt;br /&gt;get-wipatchsequence &amp;#91;-Path&amp;#93; &amp;#60;string&amp;#91;&amp;#93;&amp;#62; &amp;#91;&amp;#91;-ProductPath&amp;#93; &amp;#60;string&amp;#91;&amp;#93;&amp;#62;&lt;br /&gt;get-wipatchsequence &amp;#91;-LiteralPath&amp;#93; &amp;#60;string&amp;#91;&amp;#93;&amp;#62; &amp;#91;&amp;#91;-ProductPath&amp;#93; &amp;#60;string&amp;#91;&amp;#93;&amp;#62;&lt;br /&gt;get-wipatchsequence &amp;#91;-Path&amp;#93; &amp;#60;string&amp;#91;&amp;#93;&amp;#62; &amp;#91;&amp;#91;-ProductCode&amp;#93; &amp;#60;string&amp;#91;&amp;#93;&amp;#62; &amp;#91;-UserContext &amp;#60;UserContexts&amp;#93; &amp;#91;-UserSid &amp;#60;string&amp;#62;&amp;#93;&lt;br /&gt;get-wipatchsequence &amp;#91;-LiteralPath&amp;#93; &amp;#60;string&amp;#91;&amp;#93;&amp;#62; &amp;#91;&amp;#91;-ProductCode&amp;#93; &amp;#60;string&amp;#91;&amp;#93;&amp;#62; &amp;#91;-UserContext &amp;#60;UserContexts&amp;#93; &amp;#91;-UserSid &amp;#60;string&amp;#62;&amp;#93;&lt;br /&gt;The object returned has Sequence, Path &amp;#40;attach PSPath&amp;#41;, and ProductCode or product package path &amp;#40;depending on parameterset&amp;#41;. The default view would group by product and order by Sequence.&lt;br /&gt;</description><author>heaths</author><pubDate>Mon, 20 May 2013 16:41:15 GMT</pubDate><guid isPermaLink="false">Edited Feature: Given a list of products and patches, return would-be sequence of patches [9121] 20130520044115P</guid></item><item><title>Commented Feature: Provider for mounting MSI files [5778]</title><link>http://psmsi.codeplex.com/workitem/5778</link><description>Create a provider for mounting MSI files as PSDrives so that users can navigate and copy out of the media.&lt;br /&gt;Comments: Given the new read-only stance I&amp;#39;m taking with the module &amp;#40;install package changes should be done in-source using your toolset - like WiX - to make sure everything is valid&amp;#41;, this would be overkill. I will consider a cmdlet to extract files or even run an admin installation for a future release. Something like Export-MSIPackageFile.</description><author>heaths</author><pubDate>Mon, 20 May 2013 16:39:44 GMT</pubDate><guid isPermaLink="false">Commented Feature: Provider for mounting MSI files [5778] 20130520043944P</guid></item><item><title>Edited Feature: Provider for mounting MSI files [5778]</title><link>http://psmsi.codeplex.com/workitem/5778</link><description>Create a provider for mounting MSI files as PSDrives so that users can navigate and copy out of the media.&lt;br /&gt;</description><author>heaths</author><pubDate>Mon, 20 May 2013 16:39:44 GMT</pubDate><guid isPermaLink="false">Edited Feature: Provider for mounting MSI files [5778] 20130520043944P</guid></item><item><title>Edited Feature: Given a list of products and patches, return would-be sequence of patches [9121]</title><link>http://psmsi.codeplex.com/workitem/9121</link><description>Create a cmdlet that would accept a list of patch packages and&amp;#47;or MSP XML&amp;#160;file, and an optional list of product packages or ProductCodes. If no products were provided, then the union of the target ProductCodes should be used. Machine state can be optionally ignored.&lt;br /&gt;Possible definitions&amp;#58;&lt;br /&gt;get-wipatchsequence &amp;#91;-Path&amp;#93; &amp;#60;string&amp;#91;&amp;#93;&amp;#62; &amp;#91;&amp;#91;-ProductPath&amp;#93; &amp;#60;string&amp;#91;&amp;#93;&amp;#62;&lt;br /&gt;get-wipatchsequence &amp;#91;-LiteralPath&amp;#93; &amp;#60;string&amp;#91;&amp;#93;&amp;#62; &amp;#91;&amp;#91;-ProductPath&amp;#93; &amp;#60;string&amp;#91;&amp;#93;&amp;#62;&lt;br /&gt;get-wipatchsequence &amp;#91;-Path&amp;#93; &amp;#60;string&amp;#91;&amp;#93;&amp;#62; &amp;#91;&amp;#91;-ProductCode&amp;#93; &amp;#60;string&amp;#91;&amp;#93;&amp;#62; &amp;#91;-UserContext &amp;#60;UserContexts&amp;#93; &amp;#91;-UserSid &amp;#60;string&amp;#62;&amp;#93;&lt;br /&gt;get-wipatchsequence &amp;#91;-LiteralPath&amp;#93; &amp;#60;string&amp;#91;&amp;#93;&amp;#62; &amp;#91;&amp;#91;-ProductCode&amp;#93; &amp;#60;string&amp;#91;&amp;#93;&amp;#62; &amp;#91;-UserContext &amp;#60;UserContexts&amp;#93; &amp;#91;-UserSid &amp;#60;string&amp;#62;&amp;#93;&lt;br /&gt;The object returned has Sequence, Path &amp;#40;attach PSPath&amp;#41;, and ProductCode or product package path &amp;#40;depending on parameterset&amp;#41;. The default view would group by product and order by Sequence.&lt;br /&gt;</description><author>heaths</author><pubDate>Mon, 20 May 2013 16:37:20 GMT</pubDate><guid isPermaLink="false">Edited Feature: Given a list of products and patches, return would-be sequence of patches [9121] 20130520043720P</guid></item><item><title>Edited Issue: Files are not being signed [9173]</title><link>http://psmsi.codeplex.com/workitem/9173</link><description>The &amp;#42;.ps1 and &amp;#42;.psm1 files are not being signed, even before the code was removed from the &amp;#42;.csproj files. The previous method of using PowerShell didn&amp;#39;t always work, but the SignFile task only handles PE files, and XML-based Office files like .docx files. It does not sign all Authenticode-signable files.&lt;br /&gt;The files could be signed prior to check-in after every edit, but this is not easily sustainable. A task could be created either to host PowerShell directly or to properly use the Crypto APIs to Authenticode sign the files.&lt;br /&gt;</description><author>heaths</author><pubDate>Mon, 20 May 2013 16:37:02 GMT</pubDate><guid isPermaLink="false">Edited Issue: Files are not being signed [9173] 20130520043702P</guid></item><item><title>Created Issue: Installer handles are not being closed [14454]</title><link>http://psmsi.codeplex.com/workitem/14454</link><description>By using a PSPropertyAdapter, installer handles must be kept open so database, view, and record information can be retrieved when needed &amp;#40;which may not be right away&amp;#41;. Will probably have to dump the PSPropertyAdapter and just do everything in the cmdlets. The problem is that, unless I use PSNoteProperty &amp;#40;which has no explicit type - just returns Value.GetType&amp;#40;&amp;#41;&amp;#41;, there&amp;#39;s really no supported way to create a concrete-looking object since I can&amp;#39;t supportedly extend PSProperty&amp;#40;Info&amp;#41; and no other PSPropertyInfo derivative supports the scenario.&lt;br /&gt;&lt;br /&gt;Looking through Reflector - at least for PSv2 and PSv3 - extending PSPropertyInfo may work.&lt;br /&gt;&lt;br /&gt;The question will be whether to keep the PSPropertyAdapter in addition to provide a near-consistent view of records no matter how retrieved.&lt;br /&gt;&lt;br /&gt;&amp;#40;PS&amp;#58; Same goes for the SummaryInfo, since an open handle is required to get values.&amp;#41;&lt;br /&gt;</description><author>heaths</author><pubDate>Mon, 20 May 2013 16:33:58 GMT</pubDate><guid isPermaLink="false">Created Issue: Installer handles are not being closed [14454] 20130520043358P</guid></item><item><title>Closed Feature: Select records from an MSI or MSP database [5779]</title><link>http://psmsi.codeplex.com/workitem/5779</link><description>Implement a cmdlet &amp;#40;select-record&amp;#63;&amp;#41; to select records - either by a SQL expression or for a whole table with a scriptblock for a filter - from either an MSI or MSP database. Another way might be to write a single cmdlet for performing queries and updates to a database.&lt;br /&gt;Comments: Coming in the 2.2 release soon.</description><author>heaths</author><pubDate>Sun, 19 May 2013 19:29:28 GMT</pubDate><guid isPermaLink="false">Closed Feature: Select records from an MSI or MSP database [5779] 20130519072928P</guid></item><item><title>Created Issue: No PSPath for component key path starting with "20:\CLSID" [14453]</title><link>http://psmsi.codeplex.com/workitem/14453</link><description>There another registry key root no currently handled by the module that uses &amp;#34;20&amp;#58;&amp;#34;, like in &amp;#34;20&amp;#58;&amp;#92;CLSID&amp;#34;. This is probably another root ID for HKCR but need to test this out.&lt;br /&gt;</description><author>heaths</author><pubDate>Sat, 18 May 2013 11:34:56 GMT</pubDate><guid isPermaLink="false">Created Issue: No PSPath for component key path starting with "20:\CLSID" [14453] 20130518113456A</guid></item><item><title>Updated Wiki: Documentation</title><link>https://psmsi.codeplex.com/documentation?version=6</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Help&lt;/h1&gt;The list of features and help resources can be found for each major release in the &lt;a href="https://psmsi.codeplex.com/wikipage?title=Help&amp;referringTitle=Documentation"&gt;Help&lt;/a&gt; section. You may also view the discussion threads from the tabs above. If you have found a bug or want to see a new features, use the issue tracker from the tabs above. Please be sure to provide sufficient steps to reproduce the problem along with a detailed description of what happen and what you expect to happen.&lt;br /&gt;&lt;br /&gt;You may also discuss new &lt;a href="https://psmsi.codeplex.com/discussions/8191"&gt;feature ideas&lt;/a&gt; in the discussion tab.
&lt;h2&gt;Current release: &lt;a href="https://psmsi.codeplex.com/releases/view/35457"&gt;2.1.5&lt;/a&gt;&lt;/h2&gt;Version 2 provides a snap-in registered to the machine and a module that can be installed by a user without administrative privileges. The module is installed to a user profile but can also be installed to a secure machine location for use by all users. The snap-in and the module provide the same set of cmdlets, but the module does provide additional functions and aliases for backward call-compatibility with version 1 cmdlets.&lt;br /&gt;&lt;br /&gt;To use either the module or the snap-in from from this release, you must install &lt;a href="http://go.microsoft.com/fwlink/?LinkID=151321"&gt;PowerShell 2.0&lt;/a&gt;. PowerShell 2.0 is included in both Windows 7 by default, and Windows Server 2008 R2 as an optional feature.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="https://psmsi.codeplex.com/wikipage?title=Help.v2.1.4&amp;referringTitle=Documentation"&gt;Help &amp;#40;v2.1.4&amp;#41;&lt;/a&gt; (Applies to 2.1.5)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://psmsi.codeplex.com/wikipage?title=Formats&amp;referringTitle=Documentation"&gt;Formats&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h2&gt;Examples&lt;/h2&gt;Types sent through the pipeline by these cmdlets are designed to work with standard cmdlets so you can string many cmdlets together. See &lt;a href="https://psmsi.codeplex.com/wikipage?title=Examples&amp;referringTitle=Documentation"&gt;Examples&lt;/a&gt; for a few ideas of what you can do with the Windows Installer PowerShell snap-in.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>heaths</author><pubDate>Tue, 07 May 2013 20:19:52 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20130507081952P</guid></item><item><title>Updated Wiki: Formats</title><link>https://psmsi.codeplex.com/wikipage?title=Formats&amp;version=7</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Formats&lt;/h1&gt;Several formats are provided for display. You can also view the formats for an output type using the following expression.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
get-formatdata -typename (get-msiproductinfo)[0].pstypenames | select -expand format*
&lt;/pre&gt;To view all predefined views for the psmsi snap-in, use the expressions below.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
$formats = dir (get-pssnapin psmsi).ApplicationBase -filter *formats.ps1xml
$formats | %{ [xml]$xml = gc $_.FullName; $xml.Configuration.ViewDefinitions.View } `
| sort {$_.ViewSelectedBy.TypeName}, Name `
| ft @{l=&amp;quot;Type&amp;quot;; e={$_.ViewSelectedBy.TypeName} }, Name, @{l=&amp;quot;Control&amp;quot;; e={$_.psbase.ChildNodes.ItemOf(2)} } -auto
&lt;/pre&gt;
&lt;h2&gt;PackageSource&lt;/h2&gt;Displays source list information for patches and products.
&lt;ul&gt;&lt;li&gt;Format-Table -View Indexed&lt;/li&gt;&lt;/ul&gt;
&lt;pre&gt;
PS&amp;gt; get-msiproductinfo | get-msisource | ft -view indexed

 Index Type     Path
 ----- ----     ----
     0 Network  C:\MSOCache\All Users\{90120000-0030-0000-0000-0000000FF1CE}-C\
     0 Network  C:\MSOCache\All Users\{90120000-0021-0000-0000-0000000FF1CE}-C\
&lt;/pre&gt;
&lt;ul&gt;&lt;li&gt;Format-List -View Indexed&lt;/li&gt;&lt;/ul&gt;
&lt;pre&gt;
PS&amp;gt; get-msiproductinfo | get-msisource | fl -view indexed

Index : 0
Type  : Network
Path  : C:\MSOCache\All Users\{90120000-0030-0000-0000-0000000FF1CE}-C\

Index : 0
Type  : Network
Path  : C:\MSOCache\All Users\{90120000-0021-0000-0000-0000000FF1CE}-C\
&lt;/pre&gt;
&lt;ul&gt;&lt;li&gt;Format-Table -View Package&lt;/li&gt;&lt;/ul&gt;
&lt;pre&gt;
PS&amp;gt; (get-msiproductinfo), (get-msipatchinfo) | get-msisource | ft -view package

    ProductCode: {90120000-0030-0000-0000-0000000FF1CE}

Index Type    Path
----- ----    ----
    0 Network C:\MSOCache\All Users\{90120000-0030-0000-0000-0000000FF1CE}-C\

    PatchCode: {7CA106D1-664C-40D4-BD94-5783ED9B7E3E}

Index Type    Path
----- ----    ----
    0 Network \\products\public\Products\Applications\User\Office_2007\Visio_Professional_2007\updates\
&lt;/pre&gt;
&lt;h2&gt;PatchInfo&lt;/h2&gt;Displays patch information.
&lt;ul&gt;&lt;li&gt;Format-Table -View Package&lt;/li&gt;&lt;/ul&gt;
&lt;pre&gt;
PS&amp;gt; get-msipatchinfo | ft -view package

PatchCode                                   State LocalPackage                      DisplayName
---------                                   ----- ------------                      -----------
{BEE75E01-DD3F-4D5F-B96C-609E6538D419}    Applied C:\Windows\Installer\312e0a2d.msp 2007 Microsoft Office Suite Serv...
{02B5A17B-01BE-4BA6-95F1-1CBB46EBC76E}    Applied C:\Windows\Installer\1a9654c8.msp Security Update for Office 2007 ...
&lt;/pre&gt;
&lt;ul&gt;&lt;li&gt;Format-List -View Patch&lt;/li&gt;&lt;/ul&gt;
&lt;pre&gt;
PS&amp;gt; get-msipatchinfo | fl -view patch

PatchCode     : {BEE75E01-DD3F-4D5F-B96C-609E6538D419}
ProductCode   : {90120000-0030-0000-0000-0000000FF1CE}
DisplayName   : 2007 Microsoft Office Suite Service Pack 1 (SP1)
State         : Applied
Uninstallable : False

PatchCode     : {02B5A17B-01BE-4BA6-95F1-1CBB46EBC76E}
ProductCode   : {90120000-0030-0000-0000-0000000FF1CE}
DisplayName   : Security Update for Office 2007 (KB947801)
State         : Applied
Uninstallable : True
&lt;/pre&gt;
&lt;ul&gt;&lt;li&gt;Format-Table -View Patch&lt;/li&gt;&lt;/ul&gt;
&lt;pre&gt;
PS&amp;gt; get-msipatchinfo | ft -view patch

PatchCode                                    State  Uninstallable DisplayName
---------                                    -----  ------------- -----------
{BEE75E01-DD3F-4D5F-B96C-609E6538D419}     Applied          False 2007 Microsoft Office Suite Service Pack 1 (SP1)
{02B5A17B-01BE-4BA6-95F1-1CBB46EBC76E}     Applied           True Security Update for Office 2007 (KB947801)
&lt;/pre&gt;
&lt;ul&gt;&lt;li&gt;Format-Table -View State&lt;/li&gt;&lt;/ul&gt;
&lt;pre&gt;
PS&amp;gt; get-msipatchinfo | ft -view state

   ProductCode: {90120000-0030-0000-0000-0000000FF1CE}

PatchCode                                   State  Uninstallable DisplayName
---------                                   -----  ------------- -----------
{BEE75E01-DD3F-4D5F-B96C-609E6538D419}    Applied          False 2007 Microsoft Office Suite Service Pack 1 (SP1)
{02B5A17B-01BE-4BA6-95F1-1CBB46EBC76E}    Applied           True Security Update for Office 2007 (KB947801)
&lt;/pre&gt;
&lt;h2&gt;ProductInfo&lt;/h2&gt;Displays product information.
&lt;ul&gt;&lt;li&gt;Format-Table -View Package&lt;/li&gt;&lt;/ul&gt;
&lt;pre&gt;
PS&amp;gt; get-msiproductinfo | ft -view package

ProductCode                             LocalPackage                      ProductName
-----------                             ------------                      -----------
{90120000-0030-0000-0000-0000000FF1CE}  C:\Windows\Installer\a5824.msi    Microsoft Office Enterprise 2007
{90120000-0021-0000-0000-0000000FF1CE}  C:\Windows\Installer\33704f3.msi  Microsoft Office Visual Web Developer 2007
&lt;/pre&gt;
&lt;ul&gt;&lt;li&gt;Format-Table -View Product&lt;/li&gt;&lt;/ul&gt;
&lt;pre&gt;
PS&amp;gt; get-msiproductinfo | ft -view product

ProductCode                             ProductVersion       ProductName
-----------                             --------------       -----------
{90120000-0030-0000-0000-0000000FF1CE}  12.0.6215.1000       Microsoft Office Enterprise 2007
{90120000-0021-0000-0000-0000000FF1CE}  12.0.4518.1066       Microsoft Office Visual Web Developer 2007
&lt;/pre&gt;
&lt;ul&gt;&lt;li&gt;Format-List -View Product&lt;/li&gt;&lt;/ul&gt;
&lt;pre&gt;
PS&amp;gt; get-msiproductinfo | fl -view product

ProductCode    : {90120000-0030-0000-0000-0000000FF1CE}
Manufacturer   : Microsoft Corporation
ProductName    : Microsoft Office Enterprise 2007
ProductVersion : 12.0.6215.1000
InstallDate    : 3/12/2008 12:00:00 AM

ProductCode    : {90120000-0021-0000-0000-0000000FF1CE}
Manufacturer   : Microsoft Corporation
ProductName    : Microsoft Office Visual Web Developer 2007
ProductVersion : 12.0.4518.1066
InstallDate    : 2/14/2008 12:00:00 AM
&lt;/pre&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>heaths</author><pubDate>Tue, 07 May 2013 20:17:53 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Formats 20130507081753P</guid></item><item><title>Updated Wiki: Documentation</title><link>https://psmsi.codeplex.com/documentation?version=5</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Help&lt;/h1&gt;The list of features and help resources can be found for each major release in the &lt;a href="https://psmsi.codeplex.com/wikipage?title=Help&amp;referringTitle=Documentation"&gt;Help&lt;/a&gt; section. You may also view the discussion threads from the tabs above. If you have found a bug or want to see a new features, use the issue tracker from the tabs above. Please be sure to provide sufficient steps to reproduce the problem along with a detailed description of what happen and what you expect to happen.&lt;br /&gt;&lt;br /&gt;You may also discuss new &lt;a href="https://psmsi.codeplex.com/discussions/8191"&gt;feature ideas&lt;/a&gt; in the discussion tab.
&lt;h2&gt;Current release: &lt;a href="https://psmsi.codeplex.com/releases/view/35457"&gt;2.1.5&lt;/a&gt;&lt;/h2&gt;Version 2 provides a snap-in registered to the machine and a module that can be installed by a user without administrative privileges. The module is installed to a user profile but can also be installed to a secure machine location for use by all users. The snap-in and the module provide the same set of cmdlets, but the module does provide additional functions and aliases for backward call-compatibility with version 1 cmdlets.&lt;br /&gt;&lt;br /&gt;To use either the module or the snap-in from from this release, you must install &lt;a href="http://go.microsoft.com/fwlink/?LinkID=151321"&gt;PowerShell 2.0&lt;/a&gt;. PowerShell 2.0 is included in both Windows 7 by default, and Windows Server 2008 R2 as an optional feature.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="https://psmsi.codeplex.com/wikipage?title=Help.v2.1.4&amp;referringTitle=Documentation"&gt;Help &amp;#40;v2.1.4&amp;#41;&lt;/a&gt; (Applies to 2.1.5)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://psmsi.codeplex.com/wikipage?title=v2_Formats&amp;referringTitle=Documentation"&gt;Formats&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h2&gt;Examples&lt;/h2&gt;Types sent through the pipeline by these cmdlets are designed to work with standard cmdlets so you can string many cmdlets together. See &lt;a href="https://psmsi.codeplex.com/wikipage?title=Examples&amp;referringTitle=Documentation"&gt;Examples&lt;/a&gt; for a few ideas of what you can do with the Windows Installer PowerShell snap-in.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>heaths</author><pubDate>Tue, 30 Apr 2013 23:37:38 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20130430113738P</guid></item><item><title>Closed Issue: Cmdlets with PassThru parameters do not chain correctly [5554]</title><link>http://psmsi.codeplex.com/workitem/5554</link><description>For those cmdlets that provide a -PassThru switch, they cannot be chained such that the NoteProperty objects they add are all visible.&lt;br /&gt;Repro&amp;#58;&lt;br /&gt;dir &amp;#124; get-msifilehash -passthru &amp;#124; get-msifiletype -passthru&amp;#160;&amp;#124; ft name,msi&amp;#42;&lt;br /&gt;Expected&amp;#58;&lt;br /&gt;Name, MSIFileType, MSIHashPart1, MSIHashPart2, MSIHashPart3, and MSIHashPart4 are all displayed.&lt;br /&gt;Result&amp;#58;&lt;br /&gt;Name and MSIFileType are only displayed.&lt;br /&gt;</description><author>heaths</author><pubDate>Tue, 30 Apr 2013 01:02:50 GMT</pubDate><guid isPermaLink="false">Closed Issue: Cmdlets with PassThru parameters do not chain correctly [5554] 20130430010250A</guid></item><item><title>Closed Issue: Typo in Error_InvalidContext [14452]</title><link>http://psmsi.codeplex.com/workitem/14452</link><description>The message for Error_InvalidContext reads, &amp;#34;The user context &amp;#34;None&amp;#34; is not validation for this operation.&amp;#34; The word &amp;#34;validation&amp;#34; should be &amp;#34;valid&amp;#34;.&lt;br /&gt;</description><author>heaths</author><pubDate>Tue, 30 Apr 2013 01:02:31 GMT</pubDate><guid isPermaLink="false">Closed Issue: Typo in Error_InvalidContext [14452] 20130430010231A</guid></item><item><title>Created Issue: Typo in Error_InvalidContext [14452]</title><link>http://psmsi.codeplex.com/workitem/14452</link><description>The message for Error_InvalidContext reads, &amp;#34;The user context &amp;#34;None&amp;#34; is not validation for this operation.&amp;#34; The word &amp;#34;validation&amp;#34; should be &amp;#34;valid&amp;#34;.&lt;br /&gt;</description><author>heaths</author><pubDate>Thu, 25 Apr 2013 21:34:07 GMT</pubDate><guid isPermaLink="false">Created Issue: Typo in Error_InvalidContext [14452] 20130425093407P</guid></item><item><title>New Comment on "Get-MSIProductInfo.v2.1.4"</title><link>https://psmsi.codeplex.com/wikipage?title=Get-MSIProductInfo.v2.1.4&amp;ANCHOR#C27254</link><description>The Windows Installer APIs do not work across machine boundaries. You can use WMI but won&amp;#39;t have quite the same Experience&amp;#58; get-wmiobject Win32_Product -computer name</description><author>heaths</author><pubDate>Sun, 21 Apr 2013 02:28:20 GMT</pubDate><guid isPermaLink="false">New Comment on "Get-MSIProductInfo.v2.1.4" 20130421022820A</guid></item><item><title>Commented Issue: Cmdlets with PassThru parameters do not chain correctly [5554]</title><link>http://psmsi.codeplex.com/workitem/5554</link><description>For those cmdlets that provide a -PassThru switch, they cannot be chained such that the NoteProperty objects they add are all visible.&lt;br /&gt;Repro&amp;#58;&lt;br /&gt;dir &amp;#124; get-msifilehash -passthru &amp;#124; get-msifiletype -passthru&amp;#160;&amp;#124; ft name,msi&amp;#42;&lt;br /&gt;Expected&amp;#58;&lt;br /&gt;Name, MSIFileType, MSIHashPart1, MSIHashPart2, MSIHashPart3, and MSIHashPart4 are all displayed.&lt;br /&gt;Result&amp;#58;&lt;br /&gt;Name and MSIFileType are only displayed.&lt;br /&gt;Comments: Added file type and hash parts to FileInfo and DirectoryInfo via ETS. Cmdlets are basically pass-throughs.</description><author>heaths</author><pubDate>Fri, 29 Mar 2013 18:25:54 GMT</pubDate><guid isPermaLink="false">Commented Issue: Cmdlets with PassThru parameters do not chain correctly [5554] 20130329062554P</guid></item><item><title>Edited Issue: Cmdlets with PassThru parameters do not chain correctly [5554]</title><link>http://psmsi.codeplex.com/workitem/5554</link><description>For those cmdlets that provide a -PassThru switch, they cannot be chained such that the NoteProperty objects they add are all visible.&lt;br /&gt;Repro&amp;#58;&lt;br /&gt;dir &amp;#124; get-msifilehash -passthru &amp;#124; get-msifiletype -passthru&amp;#160;&amp;#124; ft name,msi&amp;#42;&lt;br /&gt;Expected&amp;#58;&lt;br /&gt;Name, MSIFileType, MSIHashPart1, MSIHashPart2, MSIHashPart3, and MSIHashPart4 are all displayed.&lt;br /&gt;Result&amp;#58;&lt;br /&gt;Name and MSIFileType are only displayed.&lt;br /&gt;</description><author>heaths</author><pubDate>Fri, 29 Mar 2013 18:25:54 GMT</pubDate><guid isPermaLink="false">Edited Issue: Cmdlets with PassThru parameters do not chain correctly [5554] 20130329062554P</guid></item><item><title>Source code checked in, #a91509e01aa4</title><link>http://psmsi.codeplex.com/SourceControl/changeset/changes/a91509e01aa4</link><description>Add default gitattributes&amp;#10;</description><author>Heath Stewart</author><pubDate>Sat, 23 Mar 2013 01:24:44 GMT</pubDate><guid isPermaLink="false">Source code checked in, #a91509e01aa4 20130323012444A</guid></item></channel></rss>