fscommand EXEC – сюрпризы от CS3
февраля 1, 2008
Многие наверное помнят, что флеш-проектор может запускать exe-шники и bat-файлы, если они лежат в папке fscommand?
На этом стояли неcколько лет производители CD-презентаций, инсталляторов с флеш оболочкой и иже с ними…
Но вот недавно я пробился несколько часов, и удивлению моему не было предела – бат файлы отказывались запускаться, тогда как я РУКУ мог дать на отсечение что раньше мне это удавалось.
Краем глаза я успевал заметить, что дос-окно отчаянно пытается мне что-то сказать… Полчаса скоростных нажатий спасительной PrintScreen – и я узнал, что по какой то причине CMD.EXE ответственный за запуск батников, принимает адрес текущего каталога в т.н UNC-формате.
И вот сегодня мне в приватное сообщение приходит ссылка от @st@l@vist@ (Грандиозное ему спасибо за это) .Нашелся умелец, который не остановился как я, и все понял до конца )))
Вот статья в оригинале.
По традиции – мой вольный перевод.
В начале статьи читаем увлекательный рассказ, как автор поймал баг и, так же как и я, пытался поймать скриншот ). Эту часть я опущу.
Далее по тексту (с сокращениями).
Почему Flash пытается запустить CMD.EXE, когда его попросили запустить BAT файл? CMD.EXE – это системное приложение Windows, отвечающее за бат-ники, и ОС запускает копию CMD.EXE (Именно поэтому мы видим уродское дос-окно).
Поскольку CMD.EXE не понимает UNC путей и не может определить директорию, из которой батник запущен – он устанавливает значение по умолчанию, т.е папку Windows, в которой естественно нет тех файлов, которые мы хотим запустить.
BAT файлы продолжают работать под Windows 98 and ME, но перестают работать под XP и Vista, потому что эти ОСи используют разные приложения для запуска батников (command.com до XP, и CMD.EXE, начиная с XP). Flash CS3 не генерирует UNC путей на старых ОСях.
Если Adobe не вернет использование DOS путей вместо UNC – остается одно решение – использовать альтернативный процессор для запуска батников. И именно такой процессор совершенно безвозмездно был создан автором статьи (Тимом)
Вот маленький exe-шник. (52 кило)
http://www.northcode.com/free/proxy/proxy.exe
Надо сказать, что с exe-шниками все работает как раньше. Так вот. Пишете свой батник. Запускаете из него хоть мп3 хоть пдф, хоть черта лысого. Рядом кладете этот proxy.exe и называете его так же как и батник – только расширение exe оставляете. Все. Из флеш-проектора запускаем не батник – а прокси – вуаля. Нет уродского черного-дос окна, и все работает )) Слава Тиму Освободителю )
Вот еще ссылочка на первоисточник мануала: http://www.northcode.com/blog.php/2007/08/07/…Proxy
На последок – пара полезностей. Для тех кто вообще ни понял что такое батник )))
*.bat – файл – это такая инструкция с ДОС-командами – что запустить и откуда запустить.
Хотите больше знать о ДОС-командах? Гугл в помощь ) Изучаем MS-DOS )))
Popularity: 23% [?]
Entry Filed under: ActionScript,баг,грабли,Полезное

8 комментариев
1. Kradar | февраля 2, 2008 at 17:57
Ну, для старых презентаций – это выход. А новые, на мой взгляд, правильней заворачивать в AIR или Zinc.
2. murejib | февраля 3, 2008 at 12:20
Старые будут работать и так – они же завернуты в старые оболочки )
Потом цинк – он стоит немалых денег. И если выбирать между цинком и флеш-проектором, если мне нужно только запустить несколько файлов – я выберу флеш-проектор.
А AIR – пока Adobe не сделают какой нибудь селф-инсталлер для него – это тоже не вариант. Не уверен что у всех стоит Java Runtime и проигрыватьель air.
3. qzack | февраля 14, 2008 at 11:58
PrintScreen рулит )))
4. 2morrowMan | февраля 18, 2008 at 18:50
Для того чтобы не баловаться PrintScreen-ном, достаточно в батнике прописать:
start my.bat
PAUSE
5. 2morrowMan | февраля 18, 2008 at 18:55
Поправка
:
start myApp.EXE
PAUSE
6. murejib | февраля 19, 2008 at 7:26
2morrowMan, это хорошо, когда батник запускается. Тут же дело не доходит даже до его исполнения
, потому что cmd не видит к нему путь.
7. scriptguru | марта 3, 2008 at 13:15
Есть еще программка, которая из батников экзешники делает. Еще лет 10 назад видел.
8. SeverFlash | апреля 23, 2008 at 10:22
Спасибо за статью. Принт скрин реально решил (начал поиск как раз после того как его отловил – до этого не мог сформулировать вопрос =) ).
P.S. Прочитал её где то месяц назад. Тогда не было времени сказать спасибо.
Сам работаю в дизайн студии небольшой.
Это я к чему.
Звонит сегодня какой то чел из неизвестной мне дизайн студии и спрашивает – ” Вы случайно не знаете как такую проблемму решать?”. Дал ссылку.
Задался вопросом “Что это было? Телефонный поиск?” =).