Question

I need to execute an installation of an msi file from the command line and be able to modify the options in this msi install file (check boxes, radio buttons... etc) from the command line.

I'm using superorca and msiexec to find the properties I would need to modify and to modify them. But since msiexec can only modify public properties I'm stuck since some of the options such as radio buttons and check boxes cannot be changed by just modifying the public properties.

Is there a way for me to modify those public properties from the command line?

Was it helpful?

Solution

Using transforms as Yan suggested first, is one of the most powerful ways. With using the parameter (this is a kind of public property) "TRANSFORMS" like in:

msiexec /i "c:\myinstall.msi" /qb TRANSFORMS="c:\mytran1.mst" 

you can modify the original MSI like you want. Using properties is restricted. Private properties (that's whey they are called 'private') can normally not be changed from command line (They could be changed if there are custom actions prepared in the MSI on which the private ones depend, but that's not the way to go). Dialog boxes are not always designed to be controlled by properties from the command line. Of course you can edit a transform, so that you favorite dialog settings belong to special newly defined public properties you like, and use them already in the same command line !

OTHER TIPS

One way that I've found to do this is to use Database Queries Using SQL and Script to modify the msi file to suite my needs and then execute it from the command line.

Information on how to do this can be found here

Also this is an issue I encountered and the solution for it.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top