Я использую Inno Setup версии 5.4.2.
Я хочу определить путь для копируемых файлов (параметр Source: в разделе [Files] в виде двух частей, базового пути и имен подкаталогов, которые я использую для специальных файлов (например, .dll). Я пробовал следующее:
#define MyAppSetupDir "D:\MyApp\setup"
#define MyAppSetupQtDLLs {#MyAppSetupDir}"\DLLs"
[Files]
Source: {#MyAppSetupDir}\MyApp.exe; DestDir: {app}; Flags: ignoreversion
Source: {#MyAppSetupDLLs}\mstext35.dll; DestDir: {app}; Flags: ignoreversion
но получаю следующую ошибку компиляции
[ISPP] Expression expected but opening brace ("{") found.
Я также пытался заключить скобки в "", как
#define MyAppSetupQtDLLs "{#MyAppSetupDir}\DLLs"
Но на этот раз я получил
Error: Source file "D:\MyApp\setup\{#MyAppSetupDir}\DLLs\mstext35.dll" does not exist.
Итак, ISSP правильно заменяет переменную MyAppSetupDir, но затем снова помещает простой текст, как будто не распознает директиву.
Я искал везде, и уже нашел обсуждение об использовании {commonappdata}
, но я не смог найти, как это сделать, ни в документации, ни в KB.
Я был бы очень признателен за подсказки, так как похоже, что я близок, но не нахожу правильного решения...