Установщик NSIS без вывода сообщений возвращает код выхода 1
Я компилирую скрипт NSIS в установочный файл.exe. Я запускаю.exe с параметром командной строки \S silent.
Установка выполняется бесшумно, как и хотелось, но есть код выхода 1. Код выхода 1 соответствует случаю, когда пользователь выбрал "Отмена" в мастере. Тем не менее, установка прошла успешно, и режим не работает (без взаимодействия с пользователем). Кроме того, откуда берется этот код выхода и как вручную ввести код выхода 0?
У меня есть идея, что я мог бы сделать что-то в функции.onInstSuccess, чтобы обеспечить выполнение кода выхода 1, если установка прошла успешно.
Кроме того, ExecWait записывает код выхода в переменную, но не имеет опции 'set'.
Чтобы вы посоветовали?
Спасибо и всего наилучшего
1 ответ
Без какого-либо примера кода довольно сложно догадаться, в чем может быть проблема!
Вы можете установить определенный код выхода с помощью SetErrorLevel
,
Что касается ExecWait, установка чего-либо не имеет смысла, когда он возвращает, дочерний процесс завершился. Если вы хотите использовать код завершения дочернего процесса, все, что вам нужно, это получить его:
ExecWait '"c:\foo.exe"' $0
SetErrorLevel $0