Installing another MSI as part of a server component install
Two questions in one... first, I want to install another MSI as part of my install... I think this is a "Custom Action", but I'm not quite clear... It seemed to me that I could use the Custom Action Wizard, and set a few things, but perhaps with my details I should be using a simple script instead?
Here's the command line to pull of the MSI as a silent install (just a progress bar and success/failure)
msiexec /i postgresql-8.1-int.msi /qr INTERNALLAUNCH=1 ADDLOCAL=server,psql SERVICEDOMAIN=%COMPUTERNAME% SERVICEPASSWORD=password SUPERPASSWORD=password2 BASEDIR=c:\postgres CREATESERVICEUSER=1 PERMITREMOTE=1 SERVICEACCOUNT=accountName
Is there a way to pass all of that information through the setup directly, or should I setup some VBScript which shells out and runs it?
Second question... my install has both a server component and a client component, this should only run during the server component install... does that change anything & how do I accomplish this?
Re: Installing another MSI as part...
I was never able to get this to work. Here's what I ended up doing. For clarity, let's call the .msi you want to install "the postgres msi". I installed the postgres .msi file as part of my product. Whenever my product needed to use postgres, it would first check to see if it was installed (in the case of a database like postgres, this would probably only be done on first run of your product). If the product was not installed, then I ran the postgres .msi file in pure silent mode to install it. While this was going on, I told the user we were doing some important setup.
What I wanted to do was to have my installer kick off the other .msi installer and wait till it was finished. I could not figure out how to do this.
If you have found a better solution, I am very interested.
Well, I ended up scrapping InstallShield and going with Visual Studio's MSI, but I don't see any reason why this wouldn't work with InstallShield... what I did was set a registry entry depending on a checkbox selection during install... then immediately after my MSI finished, I launched a setup executable which collected client information, and if the registry value was set, I also installed PostgreSQL.
Originally Posted by sbqSam