2

要将 .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 Native Packager\AIRNIP\AIRNIP.exe" "D:\DEV\Flex4\Workspaces\AIR Native Packager\AIRNIP\AIRNIP.air"

我正在尝试在 AIR 中编写一个为您执行此操作的程序。基本上,您将 .air 文件拖放到其中并将其打包到本机安装程序中。

好吧,它给了我一个Error #3219错误,我查了一下,发现了这个:

Windows 上的 AIR 不允许您直接运行 .bat 文件。Windows .bat 文件由命令解释器应用程序 (cmd.exe) 执行。当您调用 .bat 文件时,此命令应用程序可以将传递给命令的参数解释为要启动的附加应用程序。在参数字符串中恶意注入额外字符可能会导致 cmd.exe 执行有害或不安全的应用程序。例如,如果没有正确的数据验证,您的 AIR 应用程序可能会调用 myBat.bat myArguments c:/evil.exe。除了运行批处理文件之外,命令应用程序还会启动 evil.exe 应用程序。

如果使用 .bat 文件调用 start() 方法,NativeProcess 对象会引发异常。Error 对象的 message 属性包含字符串“错误 #3219:无法启动 NativeProcess”。

我想知道是否有可能的解决方法或者我是否遇到了砖墙?

4

2 回答 2

1

我相信你已经碰壁了,至少尝试在 Adob​​e Air 中做到这一点。正如您的帖子所声称的那样,执行批处理文件可能是一个巨大的安全漏洞。

您是为了便携性而尝试在 Air 中执行此操作,还是可以使用其他语言?

我建议尝试在 python 中编写代码。使用该subprocess库可以提供很多帮助。

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

于 2010-07-26T18:00:29.237 回答
1

Serge Jespers (Adobe Evangelist) ( http://www.webkitchen.be/ ) 正是这样做的,我认为您应该尝试与他联系以获取详细信息。

我通过创建一个执行您指定的任何 bat 文件的 windows 可执行文件帮助他构建了第一个解决方案,后来他通过直接调用 java 应用程序 (adt) 来更改它,这也可以正常工作。

他会很乐意帮助你的。

更新: 您可以在这里下载 Package Assitant Pro:http ://www.webkitchen.be/package-assistant-pro/

于 2010-07-26T18:03:51.430 回答