Подтвердить что ты не робот

Inno Setup: папка pack со всеми подпапками

У меня есть эта строка в файле .iss:

Source: "..\Tcl\*"; DestDir: "{app}\Tcl"; Flags: ignoreversion

который упаковывает папку Tcl. Но он принимает только файлы внутри папки, но не принимает подпапки внутри Tcl. Есть ли способ взять целую папку Tcl со всеми подпапками и файлами? (без перечисления всех подпапок по строкам).

Inno Setup 5.4.2.

4b9b3361

Ответ 1

Да, есть. Просто добавьте флаг recursesubdirs в раздел раздела [Files]. Справка говорит об этом флаге:

Указывает компилятору или программе установки также искать источник filename/wildcard в подкаталогах в каталоге Source.

Итак, все, что вам нужно сделать, это изменить запись раздела [Files] следующим образом:

[Files]
Source: "..\Tcl\*"; DestDir: "{app}\Tcl"; Flags: ignoreversion recursesubdirs

Ответ 2

Вы также можете использовать мастер Inno, но вам нужно будет исправить script после этого, если вы хотите, чтобы эти файлы оставались в папке, из которой они импортированы, потому что мастер поместит их в приложение по умолчанию папку.

Мастер wil сгенерирует:

 [Files]
 Source: "..\Tcl\*"; DestDir: "{app}; Flags: ignoreversion recursesubdirs

Если вам необходимо поддерживать структуру папок, вам понадобится:

 [Files]
 Source: "..\Tcl\*"; DestDir: "{app}\Tcl"; Flags: ignoreversion recursesubdirs