0
votes

I am struggling with a issue of making one installer dependent upon other.Suppose i have a setup project Through which, i use to make MSI(or setup) of my c# application for deployment on windows machine. Now suppose i have another project whose MSI(or setup) is generated by another setup project.

Now what i want to make is that when my first setup is run than it will first check for whether second MSI(or setup) is installed or not. If its not installed on target machine then it first set up will run and install second setup, once second set up is properly installed then installer of first continues and completes the its installation.

I can't figure it out how can i check whether second setup has installed or not. i.e how to make second installer dependent upon first installer. I am using visual studio 2013 and the project which i am deploying is c# application

First time i am dealing with making setups for application deployment so may be my way of asking may not be good. Thankyou!

3

3 Answers

0
votes

In general that is not possible by means of MSI only since you can't run two MSI installers at the same time. You'll need to use some external solution: a self-made script, InstallShield wrapper etc. The only thing you can do within the MSI is to check that a prerequisite application is installed and if it's not - abort the installation.

0
votes

Yes, you need to use a packaging tool that either offer out of the box support or you will have to write your own code for this.

You have quite few options here: -InstallShield -AdvancedInstaller -Wix

What you are trying to achieve is known as prerequisite or runtimes required by your application.

0
votes

As J.Tribbiani mentioned in his answer the solution you need is to use a professional tool like Advanced Installer or the others, to configure your setup as a prerequisite. This is the standard procedure for your requirement.

Here is an example tutorial of how to do it with Advanced Installer:

Or a video of configuring an optional prerequisite, i.e. which the users could choose to skip (let's say if they have an equivalent alternative or want to manually install the prerequisite)

Disclaimer: I work on the team building Advanced Installer