Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для boss911

Alien


Сообщения: 4262
Благодарности: 1030

Профиль | Отправить PM | Цитировать


Модуль должен запускаться с параметром командной строки так и без него. Параметром должен являться путь к каталогу, если это не путь к каталогу, то параметр считается не корректным и запуск должен отсекаться. Есть рабочий вариант:
Код: Выделить весь код
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, но хотелось бы понять, почему первый вариант не работает.

Отправлено: 21:25, 26-03-2021 | #417