2010-07-26 167 views
2

要將.air文件打包到本機安裝程序中,您必須使用名爲adt的批處理程序。從Adobe AIR運行BAT文件?

Windows該命令將是這個樣子:

C:\用戶\ jisaacks>「C:\ Program Files文件 (86)\的Adobe \的Adobe Flash Builder的 4 \ SDK的\ 4.1。 0 \ bin \ adt「-package -target native D:\ DEV \ Flex4 \ Workspaces \ AIR 本地打包程序\ AIRNIP \ AIRNIP.exe」 「D:\ DEV \ Flex4 \ Workspaces \ AIR本機 Packager \ AIRNIP \ AIRNIP.air「

我在嘗試在AIR中編寫一個程序,爲您做到這一點。基本上,你將一個.air文件拖放到它中,然後將它打包成本機安裝程序。

那麼它給了我一個Error #3219錯誤,我擡頭一看,發現這一點:在Windows

AIR不允許你 運行.BAT文件直接。 Windows .bat 文件由命令 解釋器應用程序(cmd.exe)執行。 當您調用.bat文件時,此 命令應用程序可以將傳遞給該命令的參數解釋爲 作爲 附加應用程序啓動。 A 惡意注入額外 字符參數字符串 可能導致cmd.exe執行 有害或不安全的應用程序。對於 示例,如果沒有正確的數據 驗證,您的AIR應用程序可能會在 處調用myBat.bat myArguments c:/evil.exe。命令應用程序 除了運行批處理文件 之外,還將啓動evil.exe應用程序 。

如果用 .bat文件調用start()方法,NativeProcess對象 將引發異常。錯誤對象的消息 屬性包含 字符串「Error#3219: NativeProcess無法啓動。」

我想知道是否有可能的解決辦法或者我碰到了一堵磚牆?

+0

它也是.cmd文件的真實 – www0z0k 2011-12-25 01:05:10

回答

1

我相信你已經撞到了一堵磚牆,至少在Adobe Air裏試圖做到這一點。正如你的文章所聲稱的那樣,執行批處理文件可能是一個巨大的安全漏洞。

您是否試圖在Air中爲便攜性做到這一點,或者您能否使用其他語言?

我建議嘗試在python中編碼。使用subprocess庫可以提供很多幫助。

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

1

塞爾Jespers(的Adobe傳播者)(http://www.webkitchen.be/)做正是這一點, 我想你應該嘗試聯繫他的細節。

我幫助他創建了一個第一個解決方案,通過創建一個執行任何bat文件的windows可執行文件,後來他通過直接調用java應用程序(adt)來更改它,這也很好。

他會很樂意幫助你。

UPDATE: 你可以臨在這裏下載包Assitant:http://www.webkitchen.be/package-assistant-pro/

+0

PS:我已經通知他這個消息,所以他可以回去給你當他是可用。 – TimothyP 2010-07-26 18:05:17

+0

非常感謝,所以我不需要嘗試聯繫他呢? – 2010-07-26 18:07:54

+0

你仍然可以嘗試聯繫他,他會很樂意回答你所有的問題:) – TimothyP 2010-07-26 18:09:33