I have 3 driver installers (.exe). I need to wrap them up in a single installer app so that my users can run one executable which then installs the 3 drivers.
In visual studio 2010, what is the best way to do this?
EDIT: I don’t want the three executables to remain on the machine once the install is finished.
What I did to solve this problem was to put my multiple exe’s into a self-extracting zip file and set the
PostExtractCommandLineto a separate “installer” exe, which in turn checked for requirements, installed necessary components, restarted when needed, and installed my original exe’s. This does however leave behind all the files, though you can have the “installer” exe delete everything when it’s done.(I used a library called DotNetZip to make the SFX.)
Edit
I had two applications I wanted to install, App1 and App2. These were both msi setup projects and could be installed separately. I then created AppsInstaller.exe, which ran App1.msi and App2.msi by calling
msiexec /i C:\\Install\\App1.msi /qn, etc, as well as doing some other work. All three programs were put into an SFX file, with AppsInstaller.exe as thePostExtractCommandLine. My AppsInstaller.exe did everything silently, so no wizards where present, and is why I usedmsiexec. Since you want the wizard to show you can just call the msi’s asProcess‘s and use aWaitForExitto keep it coming one at a time.