Multiple setup projects in a Microsoft Visual Studio solution

Sometimes it makes sense the create multiple setup projects in a Microsoft Visual Studio solution if you use the same projects, but you want to create separate MSI files for slightly different functionality. An example would be the processing of audio and graphics files. You can use the same middle tier and backend projects for both processes, but deploy two versions of the application to be able to set up two separate scheduled tasks. This way you can stop them separately and set up different schedules for them.

 

Visual Studio Multiple Setup Projects

 

The two setup projects can coexist, but by default they place the output MSI files to the same sub folder of the setup project: “Release” or “Debug” depending on the configuration. When you start the build of the setup project the compiler deletes all files from the target folder, so if you are expecting two MSI files after the two builds you will be surprised. You will only find the latest build result. The easiest way to handle this is to add an extra folder level in the output file name field of  the setup project properties for the Debug and Release configuration.

 

Visual Studio Multiple Setup Projects Output File Name

 

Send the audio processing MSI to Audio\Debug and Audio\Release, and the graphics processing MSI to Graphics\Debug and Graphics\Release.

Leave a Reply