Feature Ideas

Topics: Features
Coordinator
Mar 14, 2007 at 6:38 PM
Do you have any ideas for additional cmdlets or providers, or how to extend existing or proposed types? Reply to this thread to discuss ideas, or use the Issue Tracker to file a new Feature request.
Apr 13, 2007 at 6:20 PM
Based on what I've read so far, it looks like this is going to target applications that have already installed and provides mechanisms to interact with previously installed products. Do you plan on providing a mechanism to execute an MSI install within a PowerShell script? I believe MSI provides hooks to do so. Basically PowerShell would take the place of IS. It that something you are looking at?
Coordinator
Apr 13, 2007 at 9:24 PM

Do you plan on providing a mechanism to execute an MSI install within a PowerShell script? I believe MSI provides hooks to do so.


Yes, that is a planned cmdlet. For your information, too, those hooks are in the form of an external UI handler. The idea I have (and is mostly implemented) is to provide progress in PowerShell (see write-progress for a cmdlet that does this) for installs. Honestly, though, you don't really need any external UI handler. You can run MSIs on their own, so long as you define any public properties required. For example, Visual Studio installs using an external UI handler, but administrators might choose to deploy the MSIs directly and need to pass USING_EXUIH=1 or VSEXTUI=1 (both work as of VS2005) on the command line to msiexec.exe.
Feb 19, 2008 at 12:35 AM
Related to the above, I'd like to be able to create an installer package from within powershell. Something simple and straightforward that administrators could use to bundle custom apps. I need to do more research on this. I know there are tools out there now to do it, but last time I looked into it "straightforward" was not a word I would use to describe it. :)
Coordinator
Feb 19, 2008 at 4:33 AM

halr9000 wrote:
Related to the above, I'd like to be able to create an installer package from within powershell. Something simple and straightforward that administrators could use to bundle custom apps. I need to do more research on this. I know there are tools out there now to do it, but last time I looked into it "straightforward" was not a word I would use to describe it. :)

There are too many complexities in a Windows Installer database to use a simple command-line interface to construct it. That would be like using Orca, which requires in-depth knowledge. I recommend using WiX for your package creation needs.
Sep 2, 2008 at 10:57 AM
Hey,

I'd love to see an uninstall feature, that takes wither an MSI file or a GUID as an argument, and uninstalls the package.
Sep 22, 2008 at 10:49 AM
Oh, and an install one too.

MSI-InstallProduct and MSI-RemoveProduct perhaps ?

Of course with the various parameters available :) That would be awesome :)
Coordinator
Oct 8, 2008 at 10:08 AM
I've considered doing that: taking advantage of the progress capabilities of PowerShell would be cool, but this seems unnecessary given the following would work, for example:

get-msiproductinfo | ?{ $_.Name -match "Foo" } | %{ msiexec.exe /x "$_.ProductCode" /l*vx "$env:temp\$_.Name.log" }

Do you have any particular use cases where this would be easier? It's really a question of priority, though, not whether or not to do it.
Oct 8, 2008 at 1:10 PM
I think this is the sort of thing which could easily be handled with a few functions which could be included with the snapin download perhaps, or (even better IMHO) posted to a script repository such as http://poshcode.org.
Feb 10, 2009 at 4:42 PM
I realize that there are already COM types to take advantage of this, but it might be nice to have cmdlets to query an MSI file (database, streams, properties).
May 26, 2014 at 7:41 PM
I would like to see which files by which Windows Patch was changed. There is a plethora of Windows Hotfixes out there which cumulate, obsolete other KBs which makes it very hard to find out which file was patched by which KB last.
I am well aware that these MSPs only look like normal msi files but the underlying installer is completely different. Currently I even do not know a way how to check which files in a hotfix are contained. Some query functionality would be useful to get at least the file size, modify date from these msp files.
Jul 30, 2014 at 11:50 AM
I would like to modify .MSIs ( beginning with PROPERTIES, ...) and the other is to modify .PCPs.
The target is to create patches in silent mode.
Coordinator
Aug 16, 2014 at 9:46 AM
Alois wrote:
I would like to see which files by which Windows Patch was changed. There is a plethora of Windows Hotfixes out there which cumulate, obsolete other KBs which makes it very hard to find out which file was patched by which KB last.
I am well aware that these MSPs only look like normal msi files but the underlying installer is completely different. Currently I even do not know a way how to check which files in a hotfix are contained. Some query functionality would be useful to get at least the file size, modify date from these msp files.
Windows patches have never been MSPs. These hotfixes range from OCM executables to MSUs that are undocumented, so I cannot expose how to check the files. There are some clues on the web, however.

As for MSPs, see patch examples. Note that you must have the target MSI available whether installed or not.

JohJoh70771 wrote:
I would like to modify .MSIs ( beginning with PROPERTIES, ...) and the other is to modify .PCPs. The target is to create patches in silent mode.
The scope of this project is to provide read-only functionality. Creating and updating packages and patches is best done with a toolset meant for such operations, such as WiX for which I'm also a developer. Windows Installer products - and especially patches - are very finicky to get right and such toolsets already have all the abstractions and validations in place to assist creating such packages.