Лучше для вашего пути может быть параметр AfterInstall
. Следующий скрипт выполнит функцию RunOtherInstaller
сразу после обработки записи файла OtherInstaller.exe
. Там он пытается выполнить только что установленный файл OtherInstaller.exe
, и если это не удается, он сообщает пользователю об ошибке. Обратите внимание, что вы не можете прервать установку из этой функции, поэтому не так безопасно делать то, что вы хотите таким образом:
[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
[Files]
Source: "OtherInstaller.exe"; DestDir: "{app}"; AfterInstall: RunOtherInstaller
Source: "OtherFile.dll"; DestDir: "{app}"
[Code]
procedure RunOtherInstaller;
var
ResultCode: Integer;
begin
if not Exec(ExpandConstant('{app}\OtherInstaller.exe'), '', '', SW_SHOWNORMAL,
ewWaitUntilTerminated, ResultCode)
then
MsgBox('Other installer failed to run!' + #13#10 +
SysErrorMessage(ResultCode), mbError, MB_OK);
end;