cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Bobtcny
Level 3

DoInstall Doesn't Wait

In an Installscript install, I launch another install that installs the prerequistes for our product. I use the following syntax:

DoInstall(SRCDIR^"eMgrPrq\\Disk1\\setup.exe", "sql", LAAW_OPTION_WAIT);

I also used:

DoInstall(SRCDIR^"eMgrPrq\\Disk1\\setup.inx", "sql", LAAW_OPTION_WAIT);

The script works fine if I copy the installation files to the hard dirve and run the install from the hard drive. The main install waits for the prerequisite install to finish.

If I run the install from the CD, the main install does not wait after kicking off the prerequisite install. It starts the prerequisite install and then continues with the main install.

Anyone else encountered this?
Labels (1)
0 Kudos
(5) Replies
DebbieL
Level 17

When the installation is run from any removable media, such as a CD-ROM, the Setup.exe file on Disk1 may not be available during the entire installation. (If Setup.exe becomes unavailable while it is running, the operating system sometimes displays a prompt to request that the end user insert the correct disk, and this may cause the installation to fail.) Therefore, to avoid this problem, the Setup.exe file is copied to a Temp folder, and the installation is relaunched from there. The original Setup.exe then terminates. However, when this happens, DoInstall behaves as if the installation has completed, and it does not wait.

You might want to try using the /clone_wait parameter when you are launching the child installation; if you do this, the launched installation keeps the original launched process running, and the parent installation then waits. Note, however, that this may cause problems if the original CD containing Setup.exe is not available throughout the entire installation. This includes multiple-CD installations, where the first CD is not available during some parts of the installation.
0 Kudos
Bobtcny
Level 3

Thanks for your reply. First, I have never had this issue in either IS 6.3 or IS 11, so it would seem that something has changed in IS 2009.

Second, how long does it take the original Setup.exe to be copied to the temp folder and be relaunched? I do not kick off the second install until after the end user has responded to some messages. It would seem that by then the original install would have ended and the one in the temp folder would be running.

Third, I shared the CD-Rom drive of another machine on the network and ran the install from there. The install worked fine. I would have thought that with all the issues of network traffic, there would have been problems. There weren't.

The test machine that I use is ghosted with the same image each time I test, so it is always starting off in the same condition. The problem appears when it is run from a CD-Rom drive attached directly to the machine, either internally or via USB.

I will look into the work around you suggest, plus I am also working on copying the prerequisite install to the hard drive if the setup is being run from a CD-Rom drive.

I cannot believe that this is normal behavior. As I said before, I have not had an issue in 6.3 or 11, which would lead me to believe this is a bug in 2009. In fact the install that I am working on was an upgrade from an IS 11 install.
0 Kudos
DebbieL
Level 17

The DoInstall function was changed in InstallShield 12. Here's a link to a help topic that describes that change (plus other changes):
http://helpnet.acresso.com/Robo/BIN/Robo.dll?tpc=/robo/projects/installshield15helplib/UpgradingISMSI.htm

You may want to scan the "Upgrading Projects from Earlier InstallShield Versions" section of the help. This section is where we describe possible changes in behavior that you may notice between new InstallShield projects and projects that are upgraded from older versions of InstallShield to the latest version.
0 Kudos
Bobtcny
Level 3

Debbie

Thanks for the tip about the /clone_wait parameter. It appears to have solved the problem.

But I do have a question as to why this was not in the IS 2009 help files for DoInstall. If I was not upgrading from another version, I wouldn't be checking the help on upgrading from prior versions.

Also your help file on DoInstall states this about the szCmdLine parameter:

"Specifies the command line for the launched installation. You can specify any valid startup InstallShield command line for this parameter. Note that DoInstall automatically adds some command-line switches, depending on the nOptions specified. "

If I specify the LAAW_OPTION_WAIT option in nOptions, why wouldn't the /clone_wait option automatically be added?

At the very least, update the help for DoInstall to include the /clone_wait option if one specifies LAAW_OPTION_WAIT in the nOptions parameter.
0 Kudos
DebbieL
Level 17

I'm glad that using /clone_wait resolved the issue. Sorry about the documentation; you're right. The DoInstall help topic definitely needs to be updated. This documentation issue is logged as IOC-000054833. Thanks for the feedback.
0 Kudos