Цитата K.A.V.:
Обновитесь через встроенную в SFX Creator программу обновления (через меню), ошибка должна исправиться »
|
Сделал, но...увы. Далее, без особой цели, не меняя настройки, добавил в пакет еще VBSскриптик и дополнительную команду на Shell-запуск и... стала выполнятся и команда запуска батника, правда, через раз. Что изменилось? - очевидно, время жизни процесса...
Тогда решил запускать свой батник (без дополнительных файлов и команд) с параметром /TIMEOUT=, чтобы определить, сколько нужно дополнительного времени процессу, чтобы нормально подгрузить библиотеку и выполнить функции. Оказалось, что, в моем случае, ~100 миллисекунд:
..............................
SetOutPath "$INSTDIR"
File "D:\SFX_Creator\CMDs.cmd"
SetOverWrite on
SetOutPath "$INSTDIR"
File "D:\SFX_Creator\Avira.txt"
ExecDos::exec /TIMEOUT=100 '"$INSTDIR\CMDs.cmd" ' "" ""
call POST_Function
RMDir /r /REBOOTOK "$TMPDIR"
quit
FunctionEnd
И, добавив в свой примитивный скрипт задержку на 100 миллисекунд, получил стабильный запуск батника со скрытием окна, без ожидания конца процесса...:
.............................
SetOverWrite on
SetOutPath "$INSTDIR"
File "D:\SFX_Creator\CMDs.cmd"
ExecDos::exec /NOUNLOAD /ASYNC '"$INSTDIR\CMDs.cmd" ' "" ""
Sleep 100
call POST_Function
RMDir /r /REBOOTOK "$TMPDIR"
quit
FunctionEnd