Запустить BAT-файл из Adobe AIR? - PullRequest
2 голосов
/ 26 июля 2010

Чтобы упаковать файл .air в собственный установщик, вы должны использовать пакетную программу с именем adt.

Команда на Windows будет выглядеть примерно так:

C: \ Users \ jisaacks> "C: \ Program Files (x86) \ Adobe \ Adobe Flash Builder 4 \ sdks \ 4.1.0 \ bin \ adt "-package -target native "D: \ DEV \ Flex4 \ Workspaces \ AIR Собственный упаковщик \ AIRNIP \ AIRNIP.exe " "D: \ DEV \ Flex4 \ Workspaces \ AIR Native Упаковщик \ AIRNIP \ AIRNIP.air "

Я пытаюсь написать программу в AIR, которая сделает это за вас. По сути, вы перетаскиваете в него файл .air, и он упаковывает его в собственный установщик.

Ну, это дало мне ошибку Error #3219, которую я посмотрел и нашел:

AIR в Windows не позволяет вам запускать .bat файлы напрямую. Windows .bat файлы выполняются командой приложение для интерпретатора (cmd.exe). Когда вы вызываете файл .bat, это командное приложение может интерпретировать аргументы переданы команде как дополнительные приложения для запуска. злонамеренная инъекция экстра символы в строке аргумента может заставить cmd.exe выполнить вредное или небезопасное применение. За пример, без правильных данных подтверждение, ваше приложение AIR может вызвать myBat.bat myArguments с: /evil.exe. Командное приложение запустит приложение evil.exe в дополнение к запуску вашей партии файл.

Если вы вызываете метод start () с файл .bat, объект NativeProcess бросает исключение. Сообщение свойство объекта Error содержит строка «Ошибка № 3219: Не удалось запустить NativeProcess. "

Мне интересно, есть ли возможность обойти или я попал в кирпичную стену?

Ответы [ 2 ]

1 голос
/ 26 июля 2010

Серж Джесперс (Adobe Evangelist) (http://www.webkitchen.be/) сделал именно это, я думаю, вы должны попытаться связаться с ним для деталей.

Я помог ему создать первое решение, создав окнаисполняемый файл, который выполнил любой указанный вами bat-файл, позже он изменил его, вызвав непосредственно java-приложение (adt), которое также отлично работает.

Он будет очень рад вам помочь.

ОБНОВЛЕНИЕ: Вы можете скачать Package Assitant Pro прямо здесь: http://www.webkitchen.be/package-assistant-pro/

1 голос
/ 26 июля 2010

Полагаю, вы попали в кирпичную стену, по крайней мере, пытаясь сделать это в Adobe Air Как утверждается в вашем сообщении, выполнение пакетных файлов может стать огромной дырой в безопасности.

Вы пытаетесь сделать это в Air для мобильности, или вы могли бы использовать какой-нибудь другой язык?

Я предлагаю попробовать это на python. Использование библиотеки subprocess может сильно помочь.

http://docs.python.org/release/2.5.2/lib/module-subprocess.html

...