[BAT] Warten bis Setup fertig, dann nächstes Setup

Element22

Ensign
Registriert
Jan. 2009
Beiträge
238
Hallo zusammen,

ich schreibe eine Bat, die zwei Versionen vom Flash Player (Fifo/IE) installiert. Hierbei soll das Programm warten, bis Setup 1 Fertig ist und dann mit Setup 2 weiter machen.

Der Aufruf lautet:
"\\Server\Freigabe\install_flash_player_12_active_x.exe" -install -au 2

Erklärung: Keine MSI, da mit der MSI der -au 2 nicht funktioniert. Dabei wird die Update Suche ausgestellt.

Das Problem ist mit start /wait funktioniert der Aufruf nicht. Er öffnet ein zweites CMD aber dann gehts nicht weiter. Auch start /B /wait bringt nichts da er zwar keine neue CMD öffnet, aber auch nicht weiter macht.
Die Umweg über pstools und Abfragen ob ein Prozess noch da ist ist auch nicht praktikabel.
Derzeit wird mit Wait einfach eine gewisse Zeit gewartet. Ich hätte es aber liebe dynamisch.

Hat hier jemand noch eine Idee?
 
Zuletzt bearbeitet:
Code:
start "\\Server\Freigabe\install_flash_player_12_active_x.exe" -install -au 2
​sollte das machen?

Edit: brrr -.- wohl nicht, ist doch zu lange her dass ich mich mit Batches beschäftigt habe ;)
 
Zuletzt bearbeitet:
Ne, macht er so leider nicht ;).

Hm, wartet call dann auf die Setups? In meinem kurzen Test ging das nicht.

Evtl. geht auch das hier, dass kommt ja auch ohne PSTOOLS aus. Aber dachte das geht "simpler"

Code:
:schleife 

ping -n 2 localhost > nul & for /f %%i in ('tasklist^| find /I /C "install_flash_player_12_plugin.exe"') do if %%i EQU 0 (goto weiter) ELSE (goto schleife)

:weiter
 
install.bat
call inst_flash_1.bat
call inst_flash_2.bat

inst_flash_1.bat
start "\\Server\Freigabe\install_flash_player_12_active_x.exe" -install -au 2
exit


inst_flash:2.bat
start "\\Server\Freigabe\die_andere_exe_wie_sie_auch_immer_heißen_mag.exe" -install -au 2
exit

mit call springst du in eine andere batch rein und kommst erst wieder zurück, wenn diese abgeschlossen wurde
 
Ja sind so 3 .Bat's

Bei deiner Lösung: Das Problem mit dem Ping ist dann nur wenn der Prozess des Installers nicht gleich heisst wie das Paket dass du ausführst, müsstest du nachsehen ob wirklich "install_flash_player_12_active_x.exe" läuft oder das Ding irgendwie anders heißt.
 
Batch kann nicht gut mit UNC pfaden umgehen. Mounte das Share auf einen unbenutzten Laufwerksbuchstaben wie Q: und mach dann start /wait mit dem Q:\-Pfad

net use Q: \\Server\Freigabe\
start /wait Q:\install.blabla -bla
start /wait Q:\install.bla -bla
 
Zuletzt bearbeitet:
Code:
Start /w .\install_1.exe
Start /w .\install_2.exe
in dem man einen "." davor setzt, müsste es erst weiter gehen wenn die Install EXE fertig ist...
 
Zuletzt bearbeitet: (Tippfehler)
Laufwerk Mounten fällt flach. Dann kann ich es nicht universal einsetzen, da es inzwischen für jeden Buchstaben bei irgendwem etwas gibt O.o.

Das mit dem . (Punkt) davor kann ich leider nicht bestätigen. Da findet er die Datei nicht.
 
Zurück
Oben