I have a base application, let's call it Navigator and with this Navigator there exists a Web app that runs within it that provides customers several bits of information/metrics through a database installed locally.
We have this MSI now. (The WiX project is large and convoluted, attempting to be modular and consisting of 24 files) We currently need to run this MSI three times to install three times to create a different environment each time, Production, Test, and Training.
I would like to create a single solution that ideally will allow the user to select via a Feature Tree, which environments to install.
I have researched this topic a lot and have found many possible solutions which I have not been able to apply successfully.
One solution was to use the Burn engine to essentially shoot off three separate installs. This I have not tried yet.
Second solution was to use InstanceTransforms. From what I've read, in order to install using InstanceTransforms one must use the command prompt to install each instance (i.e. msiexec /i Navigator.msi MSINEWINSTANCE=1 TRANSFORMS=":TEST) so how would one integrate a feature tree to have the user select which features to install? and then NOT use the command prompt to install. Must be user friendly.
Third solution was to use a unique UpgradeCode for each installer and involved using MSBuild Community Tasks. I found this under WiX tricks and tips
What would be 'best' solution to solve this problem and keeping it user friendly, ideally with a feature tree or something similar?
I would like to follow up on this... The Navigator is installed in Program Files The WebApp is an analytics tool where one can customize their settings and reporting, it needs to be in ProgramData because it needs read/write capabilities
Currently, we use Xcopy/Robocopy to make three copies of the WebApp in ProgramData to make WebApp_PROD, WebApp_TEST, WebApp_TRAIN and manually update some config files as well as add them to IIS.
Can this all be done with a FeatureTree or something else to check off what the user would like to install and keep this structure and updating appropriate files? Can WiX do XCopy/Robocopy to this effect or another approach is needed?