PDA

View Full Version : Run MSI package in full UI mode in Suite project



dannyw
09-05-2012, 05:44 AM
I have included an MSI package in a suite project, and I need to run this package in full UI mode to collect some information from user. However the suite installer always forces the MSI to run in silent mode.

I wonder if there is any workaround for my situation. Right now all I can think of is to write a bootstrapper "setup.exe" to wrap up my MSI package, and include it in the suite.

joshstechnij
09-05-2012, 04:03 PM
In most cases, the recommended use case for a suite installer in this scenario would be to collect any information from a user with the suite installer dialogs (which is then stored in properties associated with the suite install) and then pass that information to an MSI package in the suite through one of the command lines for the package.

For example, if I wanted obtain the standard name/company that is normally on an MSI install dialog such as CustomerInformation, I would either add or modify a dialog in the suite project with the following:
- A textbox control for the user's name, with the Property setting set to a property name such as SUITE_USER_NAME
- A textbox control for the user's company name, with the Property setting set to a property such as SUITE_COMPANY_NAME

(Note that the names of the properties don't really matter so long as they don't conflict with other properties.)

On the command line for the Install operation for an MSI package, I can then pass the following:
COMPANYNAME="[SUITE_COMPANY_NAME]" USERNAME="[SUITE_USER_NAME]"

The above command line sets the MSI properties COMPANYNAME and USERNAME for the MSI package being run and assigns their values based on properties defined in the suite.

More complex scenarios are also possible, such as validating serial numbers, through the use of actions tied to a control.

There are some ways available to run an MSI with full UI from a suite install, but the above approach is recommended. Using an alternate method may diminish the usefulness of the suite installer.