Laan's steps..

Feed Rss

使用winrar打包air程序为exe

05.18.2010, air, flash, by .

Adobe AIR安装率实在太低了。所以很必要对你的air程序进行打包。那个Shu我是没用过,广告打得很猛,但是完全可以用winrar就达到打包air的目的。

1.准备好你需要打包的文件。去你的flex sdk的bin中找到adl.exe,拷贝过来;然后在把flex sdk中的runtimes文件夹也拷贝出来。这些和你需要打包的文件放在同一目录下。如图:

adl.exe和runtimes主要是用来创建Adobe air运行环境,让你的程序能在没有安装Adobe air的机器上也能运行起来。

2.然后,需要了解下adl.exe的使用方法。基本如下:

adl -runtime AIR环境目录 程序的xml配饰文件 — -main 程序主swf文件

根据我的项目,我写了一个run.bat文件,用来调用adl并运行我的air程序,如下:

adl -runtime runtimesairwin application.xml — -main PhotoCommenter.swf

可以测试下,看看这个文件能不能让你的程序运行起来。如果能正常运行,一切ok。

但是你会发现一个小问题,整个程序运行了,而且还有一个命令行的运行窗口!好别扭是吧。没关系,再写一个vbs文件(姑且明命名为run.vbs,名称可以随意起):

set wshshell=createobject(“wscript.shell”)
wshshell.run “cmd.exe /c run.bat”,0,true

set wshshell=createobject(“wscript.shell”)
wshshell.run “cmd.exe /c run.bat”,0,true

这段代码主要是用来执行run.bat文件,且隐藏那个可恶的命令行运行窗口。保存…

3.然后开始打包。选择所有文件,右键——》添加到压缩文件(你可千万得装了winrar啊!)。在打开的压缩面板中,在常规面板中勾选“创建自解压格式压缩文件”。你会发现默认的压缩文件名变为exe后缀了:

压缩方式最好选择存储,这样你打包后的程序会很快解压缩并运行。

然后切换到高级面板,点击“自解压选项”。在弹出的窗口中,常规面板中设置程序的解压路径以及解压后运行的文件——这个非常重要:

别关闭该窗口,切换面板到“模式”, 勾选“解包到临时文件夹”。在安静模式中,选择“全部隐藏”。

一切ok~~ 打包后的程序就能直接运行了!

4.这个时候你就发现,输出的exe文件的图标是winrar默认的图标。这个好说,下一个更改工具改下即可,不表。另外一个就是,这个exe的图标该了后,程序运行了,你就发现程序的图标竟然是adl.exe的图标——很正常,你用的就是它。所以你还需要将adl.exe的图标也进行相应的修改。

5.最后,你会发现成个exe好大。ok,好好看看runtime文件夹下的文件,把你不要的dll删除。然后重新打包。

功德圆满!

使用winrar打包air程序为exe 有 4 条回应

  1. 楼主大哥啊。。我的怎么打包之后报错啊。。

    回复
  2. adl -runtime runtimesairwin application.xml — -main PhotoCommenter.swf
    命令中的”—”,这个长线是两个短线”-”,即”–”,哥哥你这里没有写清楚的,一开始老是出错,查了手册,才知道的

    回复
  3. 还有给后来者的提示,如果你是直接copy这里的代码,注意双引号
    例如在 run.vbs中,可能会因双引号,在运行时提示错误,把这里的双引号改成英文双引号,就可以了

    还有一点,经过本人测试,runtime 目录下的,除了Adobe AIR.dll,这个dll文件,其他的dll文件都可以删除,当然我的air很简单,只是测试的,可能没有用到其他的dll。

    在此 借花献佛,非常感谢LZ

    回复

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>