Как использовать "код" в разделе Inno Setup [Files]?

Я хочу динамически выводить исходную папку (и папку назначения) для 32/64 бит установок. Итак, как я могу указать это в разделе [Files] установки Inno. Ниже приведена ошибка компиляции: →

[Files]
Source: {#MySourcePath}\{code:GetSourceLibFolder}\*.jar; DestDir: {code:GetAppDir}\lib\; 

У меня есть функция GetSourceLibFolder() и GetAppDir(), определенная в разделе кода. Функции очень просты и просто возвращают переменную:

function GetSourceLibFolder(Param: String): String;
begin
  Result:= SourceLibFolder;
end;

function GetSourceBinFolder(Param: String): String;
begin
  Result:= SourceBinFolder;
end;

Спасибо!

Ответ 1

Исходный путь должен использоваться во время компиляции (если у вас нет флага external), что означает, что вы должны использовать ISPP и #define. Раздел [Code] предназначен только для кода времени выполнения/установки, поэтому он будет работать для целевого пути.

Если вы предоставите код для своей функции GetSourceLibFolder, кто-то может преобразовать ее в ISPP.