cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
sgoldstein
Level 6

Bundling and Packaging multiple MSI

I have a number of MSI packages that I would like to bundle/package in a variety of different ways depending on what the customer purchases. I'd like to avoid combining them all into one large msi due to the fact that the associated products are released at different times.

Is there a robust way to combine multiple msi's through scripting or a 3rd party installer tool?

Thanks.
Labels (1)
0 Kudos
(3) Replies
KathyMorey
Level 10

We did something similar using an InstallScript project and creating a scripted media set that corresponds to the combinations that can be installed.

Once the user has made his selections, we run the MSI packages silently using MsiSetInstallLevel and MsiInstallProduct from OnFirstUIAfter. (You can also use LaunchAppAndWait, but we've gotten better results using the MSI API).

We constructed the InstallScript project to disallow maintenance - "Maintenance Experience" = no uninstall or maintenance and "Update Mode Supported" = no in the Project Properties - so that it always runs as a new install and leaves no footprints on the machine. And it, itself, has no files or other installable components.
0 Kudos
sgoldstein
Level 6

Thanks, Kathy.

How do you handle Rollback during errors or cancelled installs?

Scott
0 Kudos
KathyMorey
Level 10

Probably not as well as we should!

We capture the return code from MsiInstallProduct and display a message for any individual MSI that fails, but we don't uninstall any MSIs that had run before the one that failed. I suppose it wouldn't be that hard to script an uninstall of all the previous MSIs should one fail, but our product doesn't really require that so I haven't spent the time to do it. (Our modules are fairly independent, so a failure of one only means that the customer won't have that addin until/unless he retries that install).
0 Kudos