Я готовлю установщик Inno Setup и хочу, чтобы пользователь мог передавать такие параметры, как testparam=abc, вместе с файлом setup.exe. Значение testparam должно быть перенаправлено в файл application.exe в разделе запуска.
Что-то вроде:
MySetup.exe /testparam=abc .
Я следовал инструкциям Можно ли принять пользовательские параметры командной строки с помощью Inno Setup и Пользовательский параметр командной строки в Inno Setup со значением по умолчанию, чтобы я мог передать конфигурацию сборки, но он все равно получает ошибку:
Нераспознанная директива раздела
[Setup]в строке ниже в разделе[Setup].
Это часть моего файла iss: в начале:
> #DEFINE myparam ""
>
> [Setup]
> myparam = {param:testparam|Debug}
>
> [Run]
> Filename: {app}\{#AppName}.exe; Flags: runhidden; Parameters:"/internalParam ""{myparam}""";
/internalParam должен получить значение myparam (в данном случае «abc») и обрабатываться в приложении.
Наверное, я что-то упускаю, и, возможно, кто-то укажет мне правильное направление. Спасибо.





Сообщение об ошибке буквально правильное. Вы не можете «придумать» [Setup] директивы раздела. Однако, я думаю, вы могли бы сделать это:
[Run]
Filename: "{app}\{#AppName}.exe"; Flags: runhidden; Parameters:"/internalParam ""{param:internalParam}"""
Хороший улов, спасибо. Обновленный ответ.
Никаких
[Code]не нужно. ПростойParameters:"/internalParam ""{param:internalParam}"""делает то же самое. Синтаксис на самом деле показан в моем ответе на сам вопрос. ОП ссылается на: stackoverflow.com/q/3618257/850848#48349992