<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>psmsi Work Item Rss Feed</title><link>http://www.codeplex.com/psmsi/WorkItem/List.aspx</link><description>psmsi Work Item Rss Description</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>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>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>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: ** Comment from web user: heaths ** &lt;p&gt;Another idea would just be to append ScriptMethods to the typedata, such that only when you retrieve these properties the cmdlets would run. The only problem is that remove-module wouldn&amp;#39;t remove that type data update, but the ScriptMethod could first validate if the cmdlet is even available. Would have to see how that would work with import-module -prefix.&lt;/p&gt;</description><author>heaths</author><pubDate>Thu, 16 Jun 2011 00:59:07 GMT</pubDate><guid isPermaLink="false">Commented Issue: Cmdlets with PassThru parameters do not chain correctly [5554] 20110616125907A</guid></item><item><title>Closed Issue: Could not load ... Failed to grant minimum permission requests. [14451]</title><link>http://psmsi.codeplex.com/workitem/14451</link><description>After installing the Module.msi and trying to import the module I&amp;#39;m getting the error&amp;#58;&lt;br /&gt;&lt;br /&gt;PS C&amp;#58;&amp;#92;Users&amp;#92;Administrator&amp;#62; import-module msi&lt;br /&gt;Import-Module &amp;#58; Could not load file or assembly &amp;#39;Microsoft.Deployment.WindowsInstaller, Version&amp;#61;3.0.0.0, Culture&amp;#61;neutra&lt;br /&gt;l, PublicKeyToken&amp;#61;ce35f76fcda82bad&amp;#39; or one of its dependencies. Failed to grant minimum permission requests. &amp;#40;Exception&lt;br /&gt; from HRESULT&amp;#58; 0x80131417&amp;#41;&lt;br /&gt;At line&amp;#58;1 char&amp;#58;14&lt;br /&gt;&amp;#43; import-module &amp;#60;&amp;#60;&amp;#60;&amp;#60;  msi&lt;br /&gt;    &amp;#43; CategoryInfo          &amp;#58; InvalidOperation&amp;#58; &amp;#40;&amp;#58;&amp;#41; &amp;#91;Import-Module&amp;#93;, FileLoadException&lt;br /&gt;    &amp;#43; FullyQualifiedErrorId &amp;#58; FormatXmlUpateException,Microsoft.PowerShell.Commands.ImportModuleCommand&lt;br /&gt;&lt;br /&gt;looks like there are problems since the module was installed on a network share. my home dir is redirected to a network share.&lt;br /&gt;Why is the module installed in my home dir instead of in C&amp;#58;&amp;#92;Windows&amp;#92;System32&amp;#92;WindowsPowershell&amp;#92;v1.0&amp;#92;Modules&lt;br /&gt;Comments: &lt;P&gt;The CLR (the runtime for .NET) knows when it's run from the network and fewer permissions (including those to call native APIs, which the assembly does) are granted.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;The module is not installed to %WINDIR%\System32 by design - only privileges products can write there, and this is actually a Windows Logo violation. Modules are most often per-user instead of per-machine, so I can only write to a per-user location - which is designed by the PowerShell team to be in your Documents folder (not sure why since %APPDATA% would make more sense). But you could install SnapIn.msi instead. To load that you'll need to use "add-pssnapin psmsi".&lt;/P&gt;</description><author>heaths</author><pubDate>Sat, 04 Dec 2010 18:59:02 GMT</pubDate><guid isPermaLink="false">Closed Issue: Could not load ... Failed to grant minimum permission requests. [14451] 20101204065902P</guid></item><item><title>Reopened 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: Decided to fix this one afterall.</description><author>heaths</author><pubDate>Sat, 04 Dec 2010 18:52:49 GMT</pubDate><guid isPermaLink="false">Reopened Issue: Cmdlets with PassThru parameters do not chain correctly [5554] 20101204065249P</guid></item><item><title>Created Issue: Could not load ... Failed to grant minimum permission requests. [14451]</title><link>http://psmsi.codeplex.com/workitem/14451</link><description>After installing the Module.msi and trying to import the module I&amp;#39;m getting the error&amp;#58;&lt;br /&gt;&lt;br /&gt;PS C&amp;#58;&amp;#92;Users&amp;#92;Administrator&amp;#62; import-module msi&lt;br /&gt;Import-Module &amp;#58; Could not load file or assembly &amp;#39;Microsoft.Deployment.WindowsInstaller, Version&amp;#61;3.0.0.0, Culture&amp;#61;neutra&lt;br /&gt;l, PublicKeyToken&amp;#61;ce35f76fcda82bad&amp;#39; or one of its dependencies. Failed to grant minimum permission requests. &amp;#40;Exception&lt;br /&gt; from HRESULT&amp;#58; 0x80131417&amp;#41;&lt;br /&gt;At line&amp;#58;1 char&amp;#58;14&lt;br /&gt;&amp;#43; import-module &amp;#60;&amp;#60;&amp;#60;&amp;#60;  msi&lt;br /&gt;    &amp;#43; CategoryInfo          &amp;#58; InvalidOperation&amp;#58; &amp;#40;&amp;#58;&amp;#41; &amp;#91;Import-Module&amp;#93;, FileLoadException&lt;br /&gt;    &amp;#43; FullyQualifiedErrorId &amp;#58; FormatXmlUpateException,Microsoft.PowerShell.Commands.ImportModuleCommand&lt;br /&gt;&lt;br /&gt;looks like there are problems since the module was installed on a network share. my home dir is redirected to a network share.&lt;br /&gt;Why is the module installed in my home dir instead of in C&amp;#58;&amp;#92;Windows&amp;#92;System32&amp;#92;WindowsPowershell&amp;#92;v1.0&amp;#92;Modules&lt;br /&gt;</description><author>BZanten</author><pubDate>Tue, 12 Oct 2010 18:29:41 GMT</pubDate><guid isPermaLink="false">Created Issue: Could not load ... Failed to grant minimum permission requests. [14451] 20101012062941P</guid></item><item><title>Closed Issue: Cmdlets querying the same information cannot be chained [9464]</title><link>http://psmsi.codeplex.com/workitem/9464</link><description>Cmdlets that query similar information - like get-wiproductinfo or get-wicomponentinfo - cannot be chained together whether one after another or separated by other cmdlets as shown below&amp;#58;&lt;br /&gt;PS&amp;#62; get-wiproductinfo &amp;#124; get-wiproductinfo&lt;br /&gt;PS&amp;#62; get-wiproductinfo &amp;#124; get-wicomponentinfo &amp;#34;&amp;#123;...&amp;#125;&amp;#34; &amp;#124; get-wiproductinfo&lt;br /&gt;PS&amp;#62; get-wiproductinfo &amp;#34;&amp;#123;...&amp;#125;&amp;#34; &amp;#124; get-wicomponentinfo &amp;#34;&amp;#123;...&amp;#125;&amp;#34; &amp;#124; get-wiproductinfo&lt;br /&gt;The reason is that the registry keys that are being enumerated are opened by one cmdlet invocation and cannot be reopened by the same cmdlet later running in the same thread. One possible solution is to process all input in EndProcessing for each cmdlet so that by then the registry key being enumerated is closed.&lt;br /&gt;Comments: Resolved with changeset 56747.</description><author>heaths</author><pubDate>Tue, 20 Jul 2010 02:16:29 GMT</pubDate><guid isPermaLink="false">Closed Issue: Cmdlets querying the same information cannot be chained [9464] 20100720021629A</guid></item></channel></rss>