Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Старожил


Сообщения: 341
Благодарности: 128

Профиль | Сайт | Отправить PM | Цитировать


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 модуль не может его удалить.

-------
http://7zsfx.info


Отправлено: 15:21, 25-01-2006 | #120