Inno Setup Ausführen einer batch-Datei vor dem [Files] Abschnitt
Derzeit meine batch-Datei ist im [Run] Abschnitt. Ich muss meine batch-Datei ausgeführt werden soll, bevor der Abschnitt [Files]. Gibt es eine Möglichkeit, dies zu tun in Inno Setup? Derzeit ist die [Run] Abschnitt immer ausführen, die nach dem [Files] Abschnitt.
[Run]
Filename: "C:\Users\Scripts\Install\Install.bat"; Parameters: {code:GetDatabaseName}
[Files]
Source: "C:\Users\MyApp\*"; DestDir: "\\MyServer\MyApp"; Flags: recursesubdirs createallsubdirs
InformationsquelleAutor odez213 | 2011-07-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn es getan werden muss, um am Anfang des setup, verwenden
Exec()
imPrepareToInstall()
oderCurStepChanged(ssInstall)
event-Funktionen.Beide sind, nachdem der Benutzer sagte: "gehen Sie weiter, installieren" aber etwas anderes vor.
PrepareToInstall()
können Sie auch Abbrechen, die Installation mit einer netten Warnung.Wenn die Datei muss extrahiert werden, die von der Einrichtung zuerst, dann können Sie preceed es mit
ExtractTemporaryFile()
InformationsquelleAutor Deanna
Können Sie die
InitializeSetup
event + einige pascal-scripting.Sehen; Wie führen Sie eine Datei, bevor Sie das setup mit Inno Setup
Nicht erwähnt wird in diesem Beispiel, um die Datei aus dem installer, den Sie verwenden würde
ExtractTemporaryFile('your.bat')
dannExec(ExpandConstant('{tmp}\your.bat ...
um es auszuführen.+1 für den Vorschlag
InformationsquelleAutor Alex K.
Weiterhin Deanna die große Antwort, code-Beispiel:
diesem code immer eine leere Zeichenfolge zurückgibt, was sagt das setup fortzusetzen.
In Fall, dass Sie wollen, zu stoppen-setup (in einigen Fällen Fehler), die Sie brauchen, um wieder einen nicht leeren string, und es wird für den Benutzer angezeigt werden (und das setup wird abgebrochen).
Um einen Fehler zurück, Zeichenfolge fügen Sie diese Zeile in PrepareToInstall ist:
Exec
fehlschlägt, oder wenn die ausgeführt Ziel einen Fehler zurück (in diesem Fall ein batch-Skript Rückkehr bestimmteERRORLEVEL
).Exec ist boolean. so können Sie überprüfen, ob es wahr oder falsch ist. und "ResultCode" enthält den Fehlercode. wenn nicht Exec(.........) dann begin Result := 'Fehler-Beschreibung'; end
InformationsquelleAutor Danielle