Zu Guter letzt würde ich auch ein Sleep von ca. 30 Sekunden vor dem nächsten "run" Befehle einbauen, damit die vorherige Installation noch Zeit hat sich zu beenden.
Da ist es m.M. nach komfortabler, beim Starten der Installation die PID aufzufangen (oder wenn man den Prozeßnamen kennt reicht auch der) und eine Schleife anzuhängen:
$timeOut = 30000 ; zur Sicherheit ein TimeOut definieren um Endlosschleife bei Installproblem zu verhindern
$t = TimerInit()
Do
Sleep(100)
Until Not ProcessExists('PID oder Prozeßname') Or TimerDiff($t) >= $timeOut