View Full Version : Executing an external install app?

01-12-2009, 09:48 AM
I've got a second install application that I have a need to execute from my installer. I can't seem to find too much information on how to go about doing it, and I've got almost no experience using IS scripts.

If you need any more info, just let me know! I wasn't sure what to add past this.

Thanks a lot!!

01-13-2009, 08:38 AM
What project type are you using? If you're using a Basic MSI project, for example, consider creating a setup prerequisite from within InstallShield, and then add that to your Basic MSI project. You can search the help for more information.

01-13-2009, 12:22 PM
How might this be done without using a prerequisite? I also need to install some external apps but I'd like to be able to run them outside of the setup.msi but still be packaged together in a single installer file. Sort of a delayed install. Can this be done?

01-13-2009, 12:36 PM
Really, my problem is thus:

I've got to install a database engine along with the app that I'm installing (i made that installer simply using an IS project), and the database engine can really only effectively be installed using it's .msi, so all I really want to figure out is how to execute the .msi from within InstallShield. My experience with installshield is awfully limited, by the way.

01-13-2009, 01:31 PM
If the project is using Install Shield (IS) scripts, you can use LaunchAppAndWait. As for prerequisites for that installation, you can use IS code to look in the registry. There are several examples on how to read the registry and how to use LaunchAppAndWait in the IS help. Not to mention this forum.

01-14-2009, 09:46 AM
Windows Installer does not allow two packages to run the Execute sequence at the same time. Period. You can nest installations, but that is not recommended by Microsoft due to many issues that arise in upgrading, uninstalling, etc.

You can write a Custom Action during the UI sequence that will run your second MSI, but if a user runs your MSI silently, the UI sequence doesn't execute and therefore your second installation won't run.

The newest version of Windows Installer supports chaining MSIs, but that can't be done on older OS's.

Your best bet is to set up the additional installs as pre-requisites, or write an external installer that will run your multiple MSIs in order. The latter can be accomplished in an InstallScript project or with any other flavor of executable you choose.

I've done this with an InstallScript project that gathers all the UI information necessary for all the installs, and then passes the appropriate info as properties on the command line for each MSI. It runs the MSIs with the /qb switch, so all the user sees are my InstallScript project dialogs and then progress bars for the individual installs.