Installer Does Not Wait For Child Process To Finish

Installer Does Not Wait For Child Process To Finish

Summary

Describe using the /clone_wait switch in InstallShield 2015 SP2 and InstallShield 2016 SP1 and later.

Symptoms

A Setup.exe launcher created by a Basic MSI or InstallScript MSI project waited for the Setup.exe process to complete before return control. In a number of cases such as the command prompt we have been able to identify how unexpected behavior occurs and have suggestions to address the new behavior.

Cause

Due to Setup.exe launcher design change a Setup.exe launcher created from a Basic MSI or InstallScript MSI is intended to use the /clone_wait command line parameter to properly wait on the installation. Starting with the releases of InstallShield 2016 SP1 and InstallShield 2015 SP2 you should now be able to use the /clone_wait parameter.

Steps To Reproduce

Prior to InstallShield 2016 SP1 and InstallShield 2015 SP2, the Setup.exe launcher created by a Basic MSI project did not recognize the switch /clone_wait.Here are some of the known scenarios where the change in behavior has been observed:

Case 1) Launching from command prompt (cmd.exe)

  • Build a compressed setup.exe based on a Basic MSI project.

  • Open the command prompt and navigate to the directory containing the setup.exe to launch.

Prior to InstallShield 2016 you may have preceded the entire Setup.exe command-line option with start /WAIT. A properly formatted example of this usage is as follows:

C:\>start /WAIT setup.exe /w

Using InstallShield 2015 SP2 or InstallShield 2016 SP1 and beyond use:

C:\> start /WAIT setup.exe /clone_wait

Case 2) LaunchAppAndWait() function from an InstallScript Custom Action

  • In your Basic MSI project you include InstallScript code using LaunchAppAndWait() within a compressed setup.exe.

  • Using SUPPORTDIR you include the file "singleexe.exe" - this is the payload intended to be launched.

Using InstallShield 2015 SP2 or InstallShield 2016 SP1 and later, the code change when using LaunchAppAndWait() resembles:

STRING    szProgram, szCmdLine;
NUMBER    nReturn;

szProgram=SUPPORTDIR^"singleexe.exe";
szCmdLine="/clone_wait";
nReturn=LaunchAppAndWait(szProgram, szCmdLine, LAAW_OPTION_WAIT);

Case 3) Launching via a Suite/Advanced UI project
  • Build a compressed setup.exe based on a Basic MSI project.
  • Include the setup.exe as a package in a Suite/Advanced UI project.
  • Add /clone_wait to the EXE Command Line

Resolution

The /clone_wait parameter has been included to work with Basic MSI & InstallScript MSI projects. Using InstallShield 2015 SP2 or InstallShield 2016 SP1 and later will include this updated functionality.

If this issue occurs when using Custom Prerequisites (.prq) then, in the "Application to Run" tab of your prerequisite add /clone_wait to the fields available for specifying command line arguments.

NOTE: For InstallShield 2016, ensure the file version of isdev.exe found in the 'System' directory is equal to or greater than 23.0.0.428. To check the version and find file navigate to:
  • C:\Program Files (x86)\InstallShield\2016\System\isdev.exe
  • Right click and select Properties
  • Select the Details Tab and confirm the 'File Version'
For InstallShield 2015, ensure the file version of isdev.exe found in the 'System' directory is equal to or greater than 22.0.0.401. To check the version and find file navigate to:
  • C:\Program Files (x86)\InstallShield\2015\System\isdev.exe
  • Right click and select Properties
  • Select the Details Tab and confirm the 'File Version'

Additional Information

For more information on the Setup.exe command line parameters for a Basic MSI project, you can look at the following help document, Setup.exe and Update.exe Command-Line Parameters.

See additional articles:

LaunchAppAndWait nOptions Parameter When Using InstallShield 2016 SP1

Best Practices to Avoid Windows Setup Launcher Executable Issues

Related KB Articles

LaunchAppAndWait nOptions Parameter When Using InstallShield 2016 SP1

Best Practices to Avoid Windows Setup Launcher Executable Issues
Was this article helpful? Yes No
No ratings
Version history
Revision #:
1 of 1
Last update:
‎Jun 09, 2018 02:09 AM
Updated by: