Jump to content


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.
Photo

Silent Installation aus einer anderen Installation


6 replies to this topic

juergen.haigis

juergen.haigis
  • Full Members
  • 31 posts

Posted 11 March 2004 - 15:47

Hallo,

ich möchte ein Setup(Installscript Project) aus einem anderen Setup (ebenfalls InstallScript Project) mit DoInstall() heraus starten. Das gestartete Setup sollte unsichtbar ablaufen und ich will entsprechende Parameter wie Company Name und InstallDir (...) mit übergeben. Ich möchte nicht den Weg über setup.exe /r gehen, weil ich auf die Eingaben des ersten Setups reagieren will.
Ist das prinzipiell möglich und wenn ja, wie ? Ich möchte zwei getrennte Setup's haben, damit jeweils ein eigenes Icon in Add/Remove Programs erscheint.
Bei den InstallScript objects von msde ist dies auch ohne eigenes Setup möglich, so dass durch das einbinden eines MergeModules/Objects die Software eigenständig deinstalliert werden kann. Wie ist so etwas möglich ?

Vielen Dank

Juergen Haigis


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 12 March 2004 - 15:14

Das MSDE Objekt ruft intern das MSDE Setup von Microsoft auf, ist also im Prinzip das gleiche Verfahren.

Wenn du das untergeordnete Setup selbst entwickelst, dann kannst du einen selbstdefinierten Kommandozeilenparameter verwenden und einfach keine Dialoge anzeigen (d.h. keine Dialogfunktionen aufrufen, also im Wesentlichen die OnFirstUIBefore und OnFirstUIAfter Funktionen überspringen.

Wen du das untergeordnete Setup nicht selbst erstellst, bleibt nur der Weg über die .iss Datei, d.h. du zeichnest mit /r ein response-File auf. Du kannst es dann im TEMP-Verzeichnis ablegen und ggf. ändern (z.B. Benutzernamen, Pfade), denn es ist einfache Textdatei. Dann rufst du das untergeordenete Setup auf, so dass es die .iss Datei aus dem TEMP Verzeichnis verwendet.

juergen.haigis

juergen.haigis
  • Full Members
  • 31 posts

Posted 12 March 2004 - 16:00

Hallo,

ich entwickle das aufzurufende Setup selbst. Es ist ein Produkt, das mit allen zukünftigen Produkten mit ausgeliefert werden soll. Somit wäre es günstig, wenn ich es einfach als Object einbinden, etwas konfigurieren und dann verwenden könnte.
Im Moment hab ich eine Lösung über das Response File gefunden. Ich habe das Response File als Support File eingebunden, passe es dynamisch aus dem Hauptsetup an und rufe dann das zweite Setup mit : LaunchAppAndWait ( SRCDIR ^ "Produkt2\\setup.exe", l_sCmdLine ,LAAW_OPTION_SHOW_HOURGLASS); auf
in sCmdLine steht dabei: l_sCmdLine = "/s /f1\"" + SUPPORTDIR ^ "CustomSetup.iss" + "\"";
So geht es, aber es schein mit selbst etwas kompliziert zu sein. Ich möchte eigentlich nur erreichen dass die Parameter szCompany, szName und szDir neu gesetzt werden.
Das Installationsverzeichnis des 2. Setup soll TARGETDIR + "\\..\\Produkt2" sein.
d.h. ich möchte es bei einer Änderung des Installationsverzeichnisses der Hauptinstallation neben das eigentliche Produkt legen.

Grüsse und soweit ein schönes Wochenende

Juergen Haigis

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 12 March 2004 - 16:10

Es liegt in deiner Hand ob du den CustomerInformation Dialog aufrufst, oder die Daten über die Kommandozeile übergibst. Du musst nur die OnFirstUIBefore Funktion des Sub-Setups anpassen.

juergen.haigis

juergen.haigis
  • Full Members
  • 31 posts

Posted 15 March 2004 - 08:26

Interessant ! Jetzt fehlt mir nur noch das "know how" ! Wie muss ich die OnFirstUIBefore anpassen und wie übergebe ich dann die entsprechenden Info in der Kommandozeile. Ich hab da mal stundenlang rumprobiert, bin aber auf keinen grünen Zweig gekommen.

Jürgen Haigis

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 15 March 2004 - 13:40

Über die Kombo-Boxen in der Kopfleiste der Skript-Ansicht kannst du das Default-Skript für OnFirtsUIBefore in deine Skriptdatei einfügen. Dann entfernst du den Funktionsaufruf für SdCustomerInformation.

Die Daten kannst du einfach beim Aufruf deines Setups auf der Kommandozeile übergeben. Die übergebenen Daten kannst du im Skript dann aus der Systemvariablen CMDLINE auslesen.

knarz

knarz
  • Full Members
  • 11 posts

Posted 19 February 2008 - 14:45

sorry, war der falsche thread ^^

Edited by knarz, 19 February 2008 - 14:47.