2010-07-26 172 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