Archive: Silent ExecWait possible?


Silent ExecWait possible?
I want to know if there's any way to make ExecWait calls in silent mode (without showing the command prompt).

Does anyone know the answer?


Use nsExec::Exec

-Stu


Use the nsExec plug-in (comes with NSIS) or ExecDos plug-in.

Edit: Good timing.


I've tried nsExec::Exec, but it doesn't wait for the program to terminate, neither does ExecDos...

Please note that I *must* wait for the program to finish and I don't want to show the command prompt...


They both always wait because they are waiting for the output. The program might be executing another program and exiting. Provide more details about the program you're trying to execute.


Hi. I have the same problem here.

In my case the program is the uninstaller : if any previous version is detected, removing it is mandatory.

Running the uninstaller (not silently) is done in the .onInit function so I would expect the Welcome Page to appear after user clicks Close button of the uninstaller.

But instead the Welcome Page appears underneath the uninstaller window. Maybe pedroac has the same problem.

Please see script attached.


The uninstaller actually copies itself to $TEMP and then executes from there. My guess is that ExecWait is hooking onto the first instance of the unistall and when it closes, the install proceeds.

Try running the uninstaller with the _? switch in the command line.

See the help files for more information on the switch. (There's some examples there, too.)