This article shows how you can process multiple MSI packages in a single bootstrapper. During the first install, all MSIs will be processed, in the order you specified.
How to build a single installer for multiple MSI packages
- First, download the zip file that is linked at the bottom of this article. Decompress it, and copy the contents into the Bootstrap\Templates sub folder of your MSI Factory program folder.
- After your own installer was build, you can now bundle it together with other MSIs into a single bootstrapper. If you installed the template files from my zip file below correctly, you now should have a new option, like shown below:

- Once the new bootstrapper project was created from the template, go to the Files tab. Now it is time to include your MSI packages. Make sure that you assign the ID "mainsetup" to the main installer, the one that will be run at last. Include all the other MSIs, and give them different IDs.

- After you made these edits, make sure you saved your bootstrapper project.
- Now open the mainscript.lua for editing. Look for this code, and change the elements of the tInstallOrder table according to the IDs you used, in the order you want to process the MSIs.
tInstallOrder = { "firstMSI", "secondMSI", "thirdMSI" };
By default, all MSIs that are included in the tInstallOrder table will be processed in passive mode: The user won't need to configure anything, and can see the installation progress. The installer for the main application, which is installed as the final step, will be executed in interactive mode, as usual. Of course you can change this behavior by adapting the script to fit your needs.
If you found this example helpful, please leave a comment below.
Don't have MSI Factory?
If you want to purchase a license for MSI Factory 2, now is a good time! For a limited period, you can get 10% off the list price simply by clicking the banner below:






