For my application, I need to install the main application and allow users to pick and choose one or more additional features to install. I tried to run the main msi and have a custom action to install other feature msi files. How开发者_开发问答ever, it doesn't work since MSI doesn't support nested installation. Should I build a window application and give the users the choices and internally call msi files sequentially? The additional msi files are custom applications that we built. They are not pre-requisites. We separated these features into different msi files because we want to make changes to the features msi files without recompile the main msi file. Please help!
Thank you. Amy Pham
I think the short answer is that you can't do what you described using an MSI. Since Windows Installer only allows a single MSI to be installing at a time, you may need to write a non-MSI application that can present a UI, and install the MSIs sequentially based on the user's choices. You can use the MSIs as external resources if you don't want to compile them into your main setup program.
As MSI does not support nested installations (yet) you will have to create a so-called bootstrapper. This is a separate .exe file normally named setup.exe. The purpose of this exe is to (download and) install the pre-requisites of your MSI before your MSI is launched.
A bootstrapper can e.g. be generated using Visual Studio.
See this related question:
How to create installer inside another installer?
精彩评论