Inno Bedingter Neustart des Setups basierend auf dem Ergebnis des ausführbaren Aufrufs
as @My Inno Setup-Skript wird zum Installieren eines Treibers verwendet. Es läuft meinInstallDriver.exe
nachdem diese Datei in Schritt @ kopiert wurssInstall
.
Ich muss den Benutzer bitten, in einigen Fällen einen Neustart gemäß dem von @ zurückgegebenen Wert durchzuführeInstallDriver.exe
.
Dies bedeutet, dass ich nicht @ setzen kaInstallDriver.exe
im Abschnitt[Run]
weil es keine Möglichkeit gibt, den Rückgabewert zu überwachen.
So habe ich es in FunktionCurStepChanged()
wie folgt
procedure CurStepChanged(CurStep: TSetupStep);
var
TmpFileName, ExecStdout, msg: string;
ResultCode: Integer;
begin
if (CurStep=ssPostInstall) then
begin
Log('CurStepChanged(ssPostInstall)');
TmpFileName := ExpandConstant('{app}') + '\InstallDriver.exe';
if Exec(TmpFileName, 'I', '', SW_HIDE, ewWaitUntilTerminated, ResultCode) then .......
Ich kann jedoch noch keine Möglichkeit finden, mein Skript neu zu starten.
Ich dachte an die Verwendung von FunktionNeedRestart()
, um die Ausgabe des Treiberinstallationsprogramms zu überwachen, wird jedoch früher im Prozess aufgerufen. Ist es sinnvoll, den Treiberinstaller von @ aus aufzurufeNeedRestart()
?