У меня есть пакетный файл, который мне нужно запустить в моем установщике NSIS. Он должен запускаться после того, как все файлы были извлечены (я полагаю, это очевидно, иначе пакетный файл еще не существует).
Я попытался использовать MUI_PAGE_CUSTOMFUNCTION_PRE с завершающей страницей, чтобы запустить его, но когда он попадает в эту часть script, кажется, что он проскакивает прямо над ним. Вот как я его вызываю.
;;Finish Page
!define MUI_PAGE_CUSTOMFUNCTION_PRE Done
!insertmacro MUI_PAGE_FINISH
Function Done
ExecWait '"$INSTDIR\BatchFile" "$INSTDIR" "$DATA_FOLDER"'
FunctionEnd
Заранее благодарим за помощь.
UPDATE
Теперь я попытался использовать следующее:
ExpandEnvStrings $0 %COMSPEC%
ExecWait '"$0" /C "$INSTDIR\batch.bat" "$INSTDIR" "$DATA_FOLDER"'
Это не сработало, поэтому я вынул /C, чтобы посмотреть, что говорит подсказка cmd (он появляется, но сразу закрывается), и кажется, что он выполняет cmd.exe, но это не так, t выполните оставшуюся часть выполнения.
ОБНОВЛЕНИЕ # 2
Основные знания, которые привели меня к работе, можно найти здесь:
Пакетные файлы Windows:.bat vs .cmd?
По какой-либо причине файлы .bat не согласуются с ExecWait.
В конце:
ExecWait '"$INSTDIR\BatchFile.cmd" "$INSTDIR" "$DATA_FOLDER"'
Работал отлично.