PDA

View Full Version : Setup not waiting until finished before returning



TerryH
04-04-2017, 10:15 AM
First a little background. I have an InstallShield project that works correctly when built with InstallShield 2012 Premiere. I am in the process of upgrading to InstallShield 2016 SP1 Premiere. The only thing that has changed is the InstallShield version. All testing is run on Windows 7.

The installer launches the InstallShield setup.exe (Basic MSI project) from a VBScript:

Dim WshShell
Set WshShell = CreateObject("WScript.Shell")

Call WshShell.Run("""" & strFileName & """ /w", 0, True)

'strFileName' is the full path to the setup.exe. The problem is that setup.exe returns right away, even though I've specified the /w switch. I've also tried "/clone_wait", which didn't work either. The /w switch is supposed to block until the setup is finished, but it is not.

When running the IS2012 version, it did not have the /w switch and it worked as expected. The .Run call would block until the setup was finished and then the rest of the script would run. But, with IS2016, the .Run call returns right away and chaos ensues. It seems to me, the /w switch should do what I want, but it is not. Any ideas about why it's not working or other things I should try?

Thanks,
Terry

Edit: As a test, I created a batch file to launch the setup and wait.

start /WAIT setup.exe /w
echo "Setup has finished"
pause

When I run the above batch file, as soon as the setup window appears, I see the message "Setup has finished". It's not waiting. What is wrong with the /w switch?

TerryH
04-05-2017, 01:48 PM
I've seen other posts claiming problems with SP1. Could this be an issue with SP1? I was not able to find any other posts with my specific issue, though. :confused:

TerryH
04-05-2017, 02:39 PM
Confirmed. This only happens with 2016 SAB SP1. Going back to regular non-SP1 2016 SAB everything works as it should.

:mad: I wasted so much time on this.

rguggisberg
04-05-2017, 03:40 PM
What version of 2016 SP1 are you using? There are at least 2!
Sounds like what I ran into... see this post
https://community.flexerasoftware.com/showthread.php?222642-What-is-the-difference-between-InstallShield-2016-SP1-23-0-406-0-and-23-0-428-0

hirosea
04-06-2017, 02:34 AM
Does not the following description matter?
LaunchAppAndWait nOptions Parameter When Using InstallShield 2016 SP1
https://flexeracommunity.force.com/customer/articles/en_US/INFO/LaunchAppAndWait-nOptions-Parameter-When-Using-InstallShield-2016-SP1

I am sorry if there is no relation....

rguggisberg
04-06-2017, 08:06 AM
hirosea,
Thanks for pointing that out. Most likely it is related. LaunchAppAndWait is relevant when launching an install package from InstallScript code. I am launching the packages with 2 different scenarios... 1) from Suite, 2) from bat file using silent install. I think this new behavior is only exhibited by packages built with InstallShield 2016 SP1. So the wait parameters we are discussing probably don't matter if you are launching packages not built with IS 2016 SP1. Would be great if someone who is certain about that could confirm.

TerryH
04-06-2017, 09:20 AM
What version of 2016 SP1 are you using? There are at least 2!
Sounds like what I ran into... see this post
https://community.flexerasoftware.com/showthread.php?222642-What-is-the-difference-between-InstallShield-2016-SP1-23-0-406-0-and-23-0-428-0

File version says: 23.0.419.0 on the installer, product name "InstallShield 2016 SP1 Standalone Build". I see this version is different than either of the versions you mentioned in your post, so now there are at least three versions! :D

TerryH
04-06-2017, 09:30 AM
The file version of the SAB installer I have is: 23.0.419.0. So, it appears there are at least three builds of SP1 out there. :confused:

I'm not launching from InstallScript, rather the setup.exe is being called from VBScript via the Windows Scripting Host. But the behaviors seem the same between it and LaunchAppAndWait.

The behavior is easily confirmed with the batch file I included in my original post. It would be nice to hear from Flexera. This new behavior broke the installer for our biggest product, we have a release we're trying to get out and I wasted almost a week trying to figure out what I was doing wrong. It wasn't until I had completely exhausted all possibilities, and after reading other people's problems with SP1 I decided to revert on a hunch.

rguggisberg
04-06-2017, 09:40 AM
If you have a maintenance contract you should be able to get a resolution rather quickly from Flexera Support.

hirosea
04-06-2017, 08:44 PM
A new document has been added.

Installer Does Not Wait For Child Process By Command Line "start /wait setup.exe"
https://flexeracommunity.force.com/customer/articles/en_US/ISSUE/Installer-Does-Not-Wait-For-Child-Process-By-Command-Line-start-wait-setup-exe

Information seems to come out later....

What is "the latest build of Service Pack 1 for InstallShield 2016 or a later version"?
"The latest build" = "23.0.0.428" ??

I do not want they to call all the different things SP1. . .