WaitUntilIdle may not work. You should use waituntilterminated (default behavior).
From the InnoSetup FAQ (http://www.jrsoftware.org
Setup isn't waiting for a program executed by a [Run] entry to finish.
First, make sure that you are not using the "nowait" or "waituntilidle" flags on the [Run] entry. These flags prevent Setup from waiting until the process completely terminates.
If you aren't using those flags and it still doesn't seem to be waiting for the program to finish, then likely what is happening is that the EXE you're running is spawning some other process and then terminating itself immediately, causing Setup to think the program has finished. This is known to happen with older InstallShield-based installers (to work around it, try using the /SMS switch).
A simple way to check if a program does that is to run "START /WAIT ProgramName.exe" from the command line, and see if you are returned to the command prompt before the program exits.
Main Topics
Browse All Topics





by: ingprokopPosted on 2009-08-06 at 04:16:54ID: 25031996
will this work?
}"; Flags: nowait postinstall skipifsilent; StatusMsg: "Installing Program";
[Run]
Filename: "{app}\3rdparty.exe"; Parameters: "/verysilent"; Flags: waituntilterminated
Filename: "{app}\Program.exe"; Description: "{cm:LaunchProgram,Program
I think I made it vice versa...
but it's still not waiting until it's finished...