a1ex
Цитата:
ради интереса запустил rs_an , тоже вроде как работает . Интересно, в каких случаях рстудио запускает его?
|
Мне кажется, что rs_an и rs_un это соответственно ANSI и Unicode версии. Если так, то rs_un не будет работать в Win9x (нет врожденной поддержки Unicode), но rs_an будет работать на NT-платформе (где ANSI приложения с некоторыми оговорками поддерживаются полноценно, а Unicode - вообще врожденно).
Скорее всего r-studio.exe проверяет платформу и запускает соответствующий файл.
Цитата:
хелп читал только русский, может это трудности с переводом ... но для себя я сделал вывод, что /wait гарантировано работает с консольным приложением.
|
Неверно. Здесь САМОЕ ГЛАВНОЕ - дочерний процесс. start (и SFX модуль тоже) ждет окончания ОСНОВНОГО процесса, но игнорирует дочерние.
Продолжу свой пример. Создадим
aa.cmd (гарантировано консольное приложение)
Код:
start notepad
exit
Т.е. в нем НЕТ ОЖИДАНИЯ окончания выполнения notepad
А теперь запустим:
Код:
start /WAIT aa.cmd
И что же мы видим ? Все выполнено. aa.cmd (основной процесс) завершил свое работу, "start /WAIT aa.cmd" тоже. Но notepad (дочерний процесс) НИКУДА не делся, он по прежнему на рабочем столе! Тоже самое происходит и в SFX модуле - основной процесс (например, r-studio.exe) завершил свою работу и SFX модуль пытается удалить файлы, но ДОЧЕРНИЙ процесс rs_un.bin свою работу продолжает, и заблокирован. Результат - SFX модуль не может его удалить.