One package or two?

Issue: I want a package that can install as French or English automatically.

Solutions:

Method 1-Create one package with 2 features, one feature for each language. Then use Conditional Features to detect a condition to automatically choose the language. (The best way)

-Go to the Installation Expert view

-In Project Definition click on Features

Method 2-Create two packages and assign accordingly. (If bandwidth is a concern this is best way)


Method 3-Create one package and use Custom Actions that install files and registry settings differently depending on the Language. The catch is that anything done in Custom Actions cannot take advantage of the self-healing and rollback features of MSI.


Method 4-Create one big MSI package and use Custom Actions that in-turn launch one of 2 other MSI packages contained within the big package depending on the Language. There is a Custom action called Install MSI from Installation that will do just that. Again, the catch is that anything done in Custom Actions cannot take advantage of the self-healing and rollback features of MSI. Launching an MSI from another causes the child MSI not being able to rollback.


Note: You can use MSI Script but you must script so that your changes work during an install and an uninstall.