I'm in a situation where we have numerous "products" that are being developed in house plus we have some third party "products" that we are including in our installs. On top of this we also have OEM partners who want to pick and chose which products their customers will and will not see.
We have argued back and forth here at work about the best way to approach this. One suggestion is to write a shell application that would dynamically pick up the MSIs that were on a CD and based on an configuration file, present the user with a UI that looks like the standard MSI Feature tree. The other option is to write one huge MSI that incorporates all the products. 3rd party products would have to be included as merge modules.
One of the debates here is that the "shell application" method would allow the different products to be developed as stand alone MSIs with their own CA etc... whereas one big MSI would mean that everyone would have to produce MSMs which we would then deal with.
As far as I can see both options have both their good points and their bad so the big question is what do you guys think and has anyone else had to deal with this type of problem

David Athay
Software and Installer Developer