ein Befehl wartet auf den anderen in Batchdatei

  • #1
T

travelfreak

Neues Mitglied
Themenersteller
Dabei seit
10.07.2005
Beiträge
2
Reaktionspunkte
0
Hallo,

ich muss mittels batch ein programm installieren, danach der Hotfix für dieses Programm.
Das Programm selber ist ein msi Paket, der Hotfix ist eine setup.exe.

Das Prog kopiere ich erst lokal auf den Client unter C:\inst. Dann ruf ich es in einer
Batch auf mit

msiexec -i C:\Inst\IDM_Client.msi /qr

danach sollte der Hofix installiert werden:

setup.exe -setup.iss

Ich mach ich es, dass die setup.exe erst anfängt zu installieren, wenn die msi komplett
durchgelaufen ist ???

Die setup.exe erforder einen reboot. Momentan ist es so, dass teilweise der reboot schon erfolgt,
wenn die msi noch gar nicht vollständig installiert ist :/

Vielen Dank, Gruß
Marcus
 
  • #2
ein trick währe den befehl call anzuwende ... du baust dir 2 batch dateien: in die erste schreibst du folgendes

@echo off
call msi.bat
setup.exe -setup.iss

in die 2. (msi.bat) baust du den befehl

@echo off
msiexec -i C:\Inst\IDM_Client.msi /qr

ein ... der call bewirkt, daß die msi.bat complett abgearbeiet wird und erst dann der rücksprung in die erste, also die start batch erfolgt. somit wird gewährleistet, daß das msi paket komplett installiert wird, erst dann wird die setup.exe ausgeführt ...

greetz

hugo
 
  • #3
travelfreak schrieb:
Hallo,

ich muss mittels batch ein programm installieren, danach der Hotfix für dieses Programm.
Das Programm selber ist ein msi Paket, der Hotfix ist eine setup.exe.

Das Prog kopiere ich erst lokal auf den Client unter C:\inst. Dann ruf ich es in einer
Batch auf mit

msiexec -i C:\Inst\IDM_Client.msi /qr

danach sollte der Hofix installiert werden:

setup.exe -setup.iss

Ich mach ich es, dass die setup.exe erst anfängt zu installieren, wenn die msi komplett
durchgelaufen ist ???

Die setup.exe erforder einen reboot. Momentan ist es so, dass teilweise der reboot schon erfolgt,
wenn die msi noch gar nicht vollständig installiert ist :/

Vielen Dank, Gruß
Marcus

Normalerweise reicht es eigentlich die beiden Befehle in zwei Zeilen zu schreiben, dann startet der zweite Prozess erst wenn der erste beendet wurde.

----------------------------------
@echo off
notepad.exe
regedit.exe
----------------------------------

Bei dem Beispiel startet bei mir erst Notepad, und wenn ich dann Notepad beende dann wird regedit.exe aufgerufen.
 
  • #4
das sollte bei jeder batch-verarbeitung so sein, da hast du rech. aber offensichtlich steigt das msi paket früher aus als es sollte und der setup-prozess läuft dann schon, bevor das msi paket installiert ist, desshalb den umweg über call ...

greetz

hugo
 
  • #5
Hallo,

man könnte natürlich auch das MSI-Paket mit:

Code:
start /WAIT msiexec -i C:\Inst\IDM_Client.msi /qr

starten.
Die nächste Zeile im Batch wird dann erst abgearbeitet, wenn der START-Befehl zurückkehrt. Und der kehrt erst zurück, wenn er seine jeweilige Befehlszeile abgearbeitet hat!

Gruss

Reiner
 
  • #6
es gibt ja mehrere lösungsansätze ... nur: leider kommt kein feedback vom poster, ob ihm unsere vorschläge weitergeholfen haben ...

greetz

hugo
 
Thema:

ein Befehl wartet auf den anderen in Batchdatei

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.965
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben