2016-05-14 5 views
0

Ich muss die folgende Sequenz in meiner Inno-Setup-Installation implementieren, nachdem der Benutzer den Installationsordner auswählt, aber bevor die Installation startet. Also das kann ich stornieren, wenn die folgenden Bedingungen nicht erfüllt sind:Wie kann ich Dinge tun, nachdem ich den Namen des Installationsordners erhalten habe und bevor die Installation startet?

  • Überprüfen Sie, ob table.dbf existiert

  • wenn nicht Nachricht an Benutzer senden und Abbrechen Setup Setup_Test.exe Installieren

  • Datei

  • Installieren Setup_Test.ini

  • Run Setup_Test.exe

  • Überprüfen Sie, ob Datei Setup.err wurde von Setup_Test

  • erstellt Wenn ja Nachricht an Benutzer senden und Abbrechen Installation sonst richtigen starten installieren.

Ich bin bei Inno Setup neu, und ich habe Schwierigkeiten, dies zu implementieren, kann jemand helfen, bitte

Antwort

0

Es zu diesem Zweck die PrepareToInstall event function ist.

Sie können es gerne verwenden:

[Code] 

function PrepareToInstall(var NeedsRestart: Boolean): String; 
begin 
    if not TableExists('Table.dbf') then 
    begin 
    Result := 'Table Table.dbf does not exist, cannot proceed with install.'; 
    Exit; 
    end; 

    if not SetupTest() then 
    begin 
    Result := 'Setting up test failed, cannot proceed with install.'; 
    Exit; 
    end; 
end; 

Die TableExists und SetupTest sind, natürlich, Stubs. Wenn Sie Hilfe bei der Implementierung benötigen, stellen Sie eine separate Frage.


Wenn die PrepareToInstall kehrt nicht leere Zeichenfolge, die Inno Setup bricht mit einer Meldung wie:

enter image description here

+0

Habe meine Antwort Hilfe? –

+0

Nun sortiere ab. Diese Dateien müssen kopiert werden, bevor andere neue Dateien installiert werden, was ein Problem darstellt. Irgendwelche Ideen – FredBuster

+0

Nun, das ist der 'PrepareToInstall'. Wie der Name ("prepare to isntall") sagt, heißt es bevor alles installiert ist. –

Verwandte Themen