run and shell (difference also explained in docs)

run runs application but does not wait for it to finish before returning to script execution.

shell runs application and waits until it's finished (the process) and returns.

pretty simple.

if setup has (like normal little bit more complex setups have) childprocesses, like it first starts with setup.exe and it starts an installer or other program, shell does not wait for the other programs to finish.

this why on those cases you should use start /w which waits also childprocesses to finish.

cheers,
_________________________
!

download KiXnet