This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
LaunchAppAndWait
Started by
Xanos
, Oct 05 2009 07:54
5 replies to this topic
Posted 05 October 2009 - 07:54
Hallo,
folgende Ausgangssituation:
Aus einem InstallScript wird via LaunchAppAndWait ein MSI-Setup über seine Setup.exe aufgerufen, beide mit IS12 SP2 generiert.
Nun kommt es hinsichtlich des Aufrufs zu unterschiedlichem Verhalten:
Wird das Setup von einer lokalen Festplatte aufgerufen, dann wartet LaunchApp... bis das MSI-Setup beendet wurde und reagiert auch entsprechend darauf, wie dieses beendet wurde.
Führt man das ganze aber von eine CD/DVD aus, dann wartet LaunchApp... nicht sondern gibt sofort die Kontrolle an das InstallScript zurück, während allerdings das MSI-Setup anläuft.
Interessant ist außerdem noch, dass dieses Verhalten erst mit SP2 auftritt.
Vielleicht weiß ja hier jemand, warum das Verhalten an dieser Stelle so verschieden ist, und wie man das Problem noch lösen kann, abgesehen von der _LaunchAppEx-Methode.
Danke
Michael
folgende Ausgangssituation:
Aus einem InstallScript wird via LaunchAppAndWait ein MSI-Setup über seine Setup.exe aufgerufen, beide mit IS12 SP2 generiert.
Nun kommt es hinsichtlich des Aufrufs zu unterschiedlichem Verhalten:
Wird das Setup von einer lokalen Festplatte aufgerufen, dann wartet LaunchApp... bis das MSI-Setup beendet wurde und reagiert auch entsprechend darauf, wie dieses beendet wurde.
Führt man das ganze aber von eine CD/DVD aus, dann wartet LaunchApp... nicht sondern gibt sofort die Kontrolle an das InstallScript zurück, während allerdings das MSI-Setup anläuft.
Interessant ist außerdem noch, dass dieses Verhalten erst mit SP2 auftritt.
Vielleicht weiß ja hier jemand, warum das Verhalten an dieser Stelle so verschieden ist, und wie man das Problem noch lösen kann, abgesehen von der _LaunchAppEx-Methode.
Danke
Michael
Posted 05 October 2009 - 12:27
Da die Log-Files und auch der Event-Logger von Windows nicht viel hergeben haben, habe ich mir das Ganze nochmals mit einem Process-Monitor angeschaut und festgestellt, dass bei der Installation von CD / DVD die MSI setup.exe in ein Temp-Verzeichnis kopiert wird, gestartet wird und sich dann die eigentlich gestartete Setup.exe beendet.
Laut Hilfe und einigen Foren, klingt dieses Verhalten auch irgendwie einleuchtend.
Bleibt nur die Frage, warum dieses Verhalten erst auftritt, wenn mit SP2 generiert wird.
Laut Hilfe und einigen Foren, klingt dieses Verhalten auch irgendwie einleuchtend.
Bleibt nur die Frage, warum dieses Verhalten erst auftritt, wenn mit SP2 generiert wird.
Posted 06 October 2009 - 12:39
Hast du es mal mit
setup.exe /clone_wait
probiert? as Verhalten von setup.exe wurde irgendwann geändert und in dem Zusammenhang neue Parameter eingeführt. Ich weiß nicht mehr genau, wann das war, aber vielleicht war es IS 12 SP2.
setup.exe /clone_wait
probiert? as Verhalten von setup.exe wurde irgendwann geändert und in dem Zusammenhang neue Parameter eingeführt. Ich weiß nicht mehr genau, wann das war, aber vielleicht war es IS 12 SP2.
Stefan Krüger
InstallSite.org twitter facebook
Posted 06 October 2009 - 13:42
Damit haben wir es auch schon versucht, allerdings zeigt dieser Schalter, nachdem was man so finden konnte, nur bei InstallSkript-Setups Wirkung.
Unser MSI-Setup ist ein Basic-MSI (was wohl bedeutet, dass ich hier im falschen Teil des Forums gelandet bin ).
Unsere SW besteht im Großen und Ganzen aus zwei größeren "Brocken", wobei einer davon zwingend notwendig ist, der andere eher optional.
Da unser CD / DVD - Inhalt auch als Download zur Verfügung steht, um das Setup von lokaler Festplatte aus aufzurufen, wurde der optionale Teil im MSI in ein zweites .cab gepackt, um nicht den Download zu vereinfachen, wobei aber darauf geachtet wurde, dass dieses data2.cab auch auf dem ersten Disk-Image landet.
Dies soll, und hat es bisher auch, verhindern, dass bei der Installation nach einer zweiten CD / DVD gefragt wird.
Die Hoffnung, dass dadurch auch das clonen verhindert wird, scheint sich nun allerdings mit dem SP2 in Rauch aufgelöst zu haben.
Wir haben auch die Vermutung, dass es am Aufteilen liegt, denn wenn wir ein Minimalsetup generieren, welches den zweiten Block außen vor lässt, dann funktioniert auch das Warten wieder so, wie wir uns das vorstellen.
Das es an SP2 liegt, haben wir mit einem älteren Stand verifiziert, welcher ohne SP2 generiert wunderbar wartet, bis das MSI fertig ist, allerdings mit SP2 generiert nicht mehr wartet.
Nun suchen wir nach einer für uns annehmbaren Lösung. Im Acresso-Forum kam bei einem ähnlichen Problem der Hinweis, sich die Prozess-ID des Child-Setups zu holen, und auf dessen Ende zu warten, was wir im Moment als eher unschönen Workaround sehen.
Unser MSI-Setup ist ein Basic-MSI (was wohl bedeutet, dass ich hier im falschen Teil des Forums gelandet bin ).
Unsere SW besteht im Großen und Ganzen aus zwei größeren "Brocken", wobei einer davon zwingend notwendig ist, der andere eher optional.
Da unser CD / DVD - Inhalt auch als Download zur Verfügung steht, um das Setup von lokaler Festplatte aus aufzurufen, wurde der optionale Teil im MSI in ein zweites .cab gepackt, um nicht den Download zu vereinfachen, wobei aber darauf geachtet wurde, dass dieses data2.cab auch auf dem ersten Disk-Image landet.
Dies soll, und hat es bisher auch, verhindern, dass bei der Installation nach einer zweiten CD / DVD gefragt wird.
Die Hoffnung, dass dadurch auch das clonen verhindert wird, scheint sich nun allerdings mit dem SP2 in Rauch aufgelöst zu haben.
Wir haben auch die Vermutung, dass es am Aufteilen liegt, denn wenn wir ein Minimalsetup generieren, welches den zweiten Block außen vor lässt, dann funktioniert auch das Warten wieder so, wie wir uns das vorstellen.
Das es an SP2 liegt, haben wir mit einem älteren Stand verifiziert, welcher ohne SP2 generiert wunderbar wartet, bis das MSI fertig ist, allerdings mit SP2 generiert nicht mehr wartet.
Nun suchen wir nach einer für uns annehmbaren Lösung. Im Acresso-Forum kam bei einem ähnlichen Problem der Hinweis, sich die Prozess-ID des Child-Setups zu holen, und auf dessen Ende zu warten, was wir im Moment als eher unschönen Workaround sehen.
Posted 07 October 2009 - 17:02
QUOTE |
Unser MSI-Setup ist ein Basic-MSI (was wohl bedeutet, dass ich hier im falschen Teil des Forums gelandet bin ). |
Verschoben ins Basic-MSI Forum
Stefan Krüger
InstallSite.org twitter facebook
Posted 07 October 2009 - 17:04
Wäre es eine Alternative, statt per LaunchApp die setup.exe bzw. msiexec.exe aufzurufen, stattdessen über das MSI Windows API die .msi Datei zu starten.
Stefan Krüger
InstallSite.org twitter facebook