Inno Setup условный перезапуск на основе результата исполняемого вызова

Мой Inno Setup скрипт используется для установки драйвера. Это работает мойInstallDriver.exe после того, как этот файл был скопирован во время шагаssInstall.

Мне нужно попросить пользователя перезапустить в некоторых случаях в соответствии со значением, возвращаемымInstallDriver.exe.

Это значит, что я не могу поставитьInstallDriver.exe в разделе[Run] потому что нет способа контролировать его возвращаемое значение.

Так что я положил его в функцииCurStepChanged() следующее:

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

Однако я не могу найти способ перезапустить мой скрипт на этом этапе.

Я думал об использовании функцииNeedRestart() контролировать вывод установщика драйвера, но он вызывается ранее в процессе. Имеет ли смысл вызывать установщик драйвера изнутриNeedRestart()?

Ответы на вопрос(1)

Ваш ответ на вопрос