#windows #dll #nsis #vcredist
#Windows #dll #nsis #vcredist
Вопрос:
Я пытаюсь установить VC_redist.x64_v14.27.29016.0.exe использование установщика NSIS в автоматическом режиме без взаимодействия. Это код:
nsExec::ExecToStack 'VC_redist.x64_v14.27.29016.0.exe /install /quiet /norestart'
pop $0
pop $1
Я использую ExecToStack для получения кода выхода.
Мой вопрос: могу ли я быть уверен, что nsExec::ExecToStack ожидает завершения процесса, а затем возвращает код выхода? Есть ли разница между ExecWait и nsExec::ExecToStack??
Я хочу знать, успешно ли установлен исполняемый файл vcredist, прежде чем продолжить остальную часть моей установки.
Комментарии:
1. Вы действительно должны использовать полный путь при выполнении чего-либо.
Ответ №1:
Да, подключаемый модуль nsExec будет ожидать дочернего процесса. Однако он не будет ждать внуков, которые переживут его родительский процесс.
nsExec предназначен для консольных приложений, вам, вероятно, следует просто использовать ExecWait
.
ExecWait '"$tempredist.exe" /something /whatever' $0
DetailPrint "Exit code is $0"