Модуль должен запускаться с параметром командной строки так и без него. Параметром должен являться путь к каталогу, если это не путь к каталогу, то параметр считается не корректным и запуск должен отсекаться. Есть рабочий вариант:
Код:
RunProgram="%%P:CMD /C IF EXIST \"\"%SfxVarCmdLine2%\*\"\" Prog.exe "
Обратите внимание, что в конце (между EXE и кавычкой) есть пробел, это для передачи/вставки параметра от модуля к исполняемому файлу.
Есть необходимость, чтобы оно сообщало, что параметр не верный (пример):
Код:
RunProgram="%%P:CMD /C IF EXIST \"\"%SfxVarCmdLine2%\*\"\" (Prog.exe) ELSE (ECHO No argument) "
Но теперь из-за скобок не передается аргумент от модуля к Prog.exe, а если аргумент не верный, то и ECHO не срабатывает, а без скобок срабатывает. Где я только не ставил кавычки и пробел, не передается параметр, без скобки и с пробелом в конце нормально, если в скобке - не хочет. Что не так и как быть, поясните, пожалуйста?
Пока это дело разбил на два RunProgram, но хотелось бы понять, почему первый вариант не работает.