2016-07-13 8 views
2

Ich habe ein Inno Script isntaller läuft Kind setup.exe drin. Ich muss dem setup.exe Parameter für die unbeaufsichtigte Installation geben, wenn der Installationsprogramm-Parameter für die unbeaufsichtigte Installation angegeben wurde.Sub-Installer (sehr) still ausführen, wenn das Master-Installationsprogramm (sehr) leise läuft

Inno Script ausführen Befehl:

[Run] 
Filename: "setup.exe"; Parameters:"/Install silent"; Flags: nowait 

I unbeaufsichtigte Installation Parameter in Eingabeaufforderung gab wie folgt

"setup location" /VERYSILENT /Install silent 

Der Master Inno Setup Installer läuft leise, aber das Kind setup.exe mit UI gestartet .

Wie man den Parameter für die unbeaufsichtigte Installation von der Eingabeaufforderung in der Inno-Setup-Skriptdatei erhält? Bitte helfen Sie mir, dies zu lösen.

+0

Möchten Sie das Unterinstallationsprogramm im Hintergrund ausführen, nur wenn das übergeordnete Installationsprogramm im Hintergrund ausgeführt wird? Oder immer? –

+0

@MartinPrikryl, Ja, ich möchte Sub-Installer still ausführen, während in der Eingabeaufforderung inno-Setup den Parameter verysilent gibt. In oben, gab den Parameter für die unbeaufsichtigte Installation zu meinem Unter-Installer aber UI gezeigt. Wenn es direkt als erstes Code-Snippet angegeben wird, funktioniert es. Bitte schlagen Sie mir vor, wie man Parameter von der Eingabeaufforderung erhält. – cheran

+0

Das ist, was meine Antwort zeigt. Hast du es gesehen? Ich habe es jetzt um stille und sehr leise Installationen erweitert. –

Antwort

0

habe ich versucht, diese und es funktioniert total still:

[Run] 
Filename: "path\setup.exe"; Parameters:/VERYSILENT; Flags: nowait 

without "" in Parameter 

Hope this

helfen
0

Es gibt keine /Install silent Parameter in Inno Setup.

Es gibt /silent und /verysilent. Die /silent zeigt weiterhin das Fenster für den Fortschritt der Installation an, während die /verysilent dies nicht tut.

Siehe Setup Command Line Parameters in Inno Setup-Dokumentation:

/SILENT,/VERYSILENT

Einrichtung beauftragt still oder sehr leise zu sein. Wenn Setup nicht ausgeführt wird, werden der Assistent und das Hintergrundfenster nicht angezeigt, aber das Installationsfortschrittsfenster ist. Wenn ein Setup sehr leise ist, wird dieses Installationsfortschrittsfenster nicht angezeigt. Alles andere ist normal, so werden beispielsweise Fehlermeldungen während der Installation angezeigt und die Startaufforderung wird angezeigt (wenn Sie sie nicht mit DisableStartupPrompt oder der oben erläuterten Befehlszeilenoption '/ SP-' deaktiviert haben).

Wenn ein Neustart erforderlich ist und der Befehl '/ NORESTART' nicht verwendet wird (siehe unten) und das Setup still ist, wird jetzt ein Neustart angezeigt? Nachrichtenbox. Wenn es sehr leise ist, wird es neu starten, ohne zu fragen.


So haben Sie die Sub-Installer mit dem /verysilent Flagge laufen jede GUI zu vermeiden.

[Run] 
Filename: "setup.exe"; Parameters: "/verysilent"; Flags: nowait 

Obwohl, wenn Sie die Unter Installer geräuschlos ausgeführt werden soll, nur dann, wenn der übergeordnete Installer leise läuft, Sie tun können, es mag:

[Run] 
Filename: "setup.exe"; Parameters: "{code:SilentParameter}"; Flags: nowait 

[Code] 

function WizardVerySilent: Boolean; 
var 
    i: Integer; 
begin 
    Result := False; 
    for i := 1 to ParamCount do 
    if CompareText(ParamStr(i), '/verysilent') = 0 then 
    begin 
     Result := True; 
     Break; 
    end; 
end; 

function SilentParameter(Param: string): string; 
begin 
    if WizardSilent then 
    begin 
    if WizardVerySilent then 
     Result := '/verysilent' 
    else 
     Result := '/silent'; 
    end; 
end; 

Der Code zur Unterscheidung schweigt und sehr leise Installationen wurde inspiriert von How to detect whether the setup runs in very silent mode? Die WizardSilent ist eine Standardfunktion.

+0

Danke in Ihrer Antwort. Aber ich möchte Sub-Installer im Hintergrund ausführen, während an der Eingabeaufforderung der Inno-Setup-Parameter verysilent angegeben wird. In oben, gab einen stillen Installationsparameter für beide Setup und Sub-Installer, aber UI für Sub-Installer angezeigt. Wenn es direkt als erstes Code-Snippet angegeben wird, funktioniert es. Bitte schlagen Sie mir vor, wie man Parameter von der Eingabeaufforderung erhält. – cheran

+0

Ich habe die Antwort aktualisiert. –