Я пытаюсь написать установщик Inno Setup для установки, а затем запустить другие установщики. Проблема заключается в попытке установить Cygwin. Я загрузил Cygwin и все пакеты, которые мне нужны, чтобы я мог выполнить локальную установку. Затем я хочу добавить дополнительные файлы и каталоги к установке Cygwin.Выполнять скрипт один раз перед установкой дерева каталогов
Моя первая попытка была такой:
[Files]
Source: "{#Cygwin}\Cygwin\*"; DestDir: {tmp}\cygwin; Flags: recursesubdirs;
Source: "{#Cygwin}\additional\*"; DestDir: {tmp}\cygwin\additional; Flags: recursesubdirs
[Run]
Filename: "{tmp}\cygwin\setup-x86_64.exe"; Parameters: "-q -L"; WorkingDir: "{tmp}";
Но это означает, что я должен иметь скрипт для добавления дополнительных файлов, потому что некуда положить их, пока Cygwin фактически не установлен командой в [Run]
раздел.
Я попытался с помощью BeforeInstall
сценария в разделе [Files]
, чтобы запустить программу установки Cygwin перед добавлением дополнительных файлов, а потому, что я должен использовать маску с Source: "{#Cygwin}\additional\*";
сценарий вызывается один раз для каждого файла в дереве каталогов.
[Files]
секция установки Inno, кажется, принимают только Source файлы и не является источником каталога, если каталог не имеет подстановочные.
Есть ли способ установить все из дерева каталогов без использования подстановочного знака, или есть способ сделать сценарий BeforeInstall
запущенным только один раз, независимо от того, сколько файлов скопировано?
Так просто! Благодарю. Пытался проголосовать за ваш ответ, но пока у меня недостаточно репутаций. – johno999