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