Вы можете запустить столько исполняемых файлов, сколько вам нужно (установщики установки Windows являются исполняемыми файлами) в [Run]
в файле сценария InnoSetup при создании файла установки через InnoSetup.Но вы должны использовать Check:
, чтобы проверить, был ли установлен каждый установщик.
Пример установки среды выполнения Java Advanced Imaging (JAI) и распространяемого пакета Visual C ++ 2010 (x86) с проверкой реестра на целиsystem:
[Files]
Source: "install\README.txt"; DestDir: "{app}" Flags: ignoreversion
Source: "install\vcredist_x86.exe"; DestDir: "{app}" Flags: ignoreversion recursesubdirs createsubdirs
Source: "install\jai-1_1_3-lib-windows-i586-jre.exe"; DestDir: "{app}" Flags: ignoreversion recursesubdirs createsubdirs
[Icons]
Name: "{group}\{cm:UninstallProgram, {#MyTitleName}}"; Filename: "{uninstallexe}"; Comment: "Uninstalls {#MyTitleName}"
[Run]
Filename: "{app}\vcredist_x86.exe"; StatusMsg: {cm:RunVCRedist2010x86}; Flags: runhidden shellexec waituntilterminated; Check: IsNotVCRedist2010x86Installed
Filename: "{app}\jai-1_1_3-lib-windows-i586-jre.exe"; StatusMsg: {cm:RunJAIByDefault}; Flags: runhidden shellexec waituntilterminated; Check: IsNotJAIInstalled
[Code]
function IsNotJAIInstalled: Boolean;
begin
Result := not RegKeyExists(HKLM, 'SOFTWARE\SUNW\Java Advanced Imaging');
end;
function IsNotVCRedist2010x86Installed: Boolean;
var
Installed: Cardinal;
begin
Result := RegQueryDWordValue(HKLM, 'SOFTWARE\Microsoft\VisualStudio\10.0\VC\VCRedist\x86',
'Installed', Installed) and (Installed <> 1);
end;
Примечание: Если ваши установщики в [Files]
находятся в папке «install» вашего проекта InnoSetup, они сжимаются во время процесса Innosetup для создания вашего InnoSetupНастройка исполняемого файла.Когда вы запустите созданную настройку, она распакует установщики в вашей определенной папке {app}
и выполнит все, что определено в [Run]