1. 怕被调戏(某些软件会自动安装工具条,开机启动什么的,还没法取消,有的软件的开机启动,禁用相关服务、修改注册表都不行)
2. 怕被强奸(某些软件会在强制安装一些自己不想要的东西)
3. 怕被搞大(某些软件安装会产生好多垃圾文件,还会在注册表中写入一些内容,这会让注册表变大,事实上,注册表越臃肿,电脑运行得越慢)
所以我们要学会如何绿化自己的AIR程序,让我们开始吧。
使用ADL
首先我们来认识一下如何使用AIR Debug Launcher(adl),这是一个AIR程序的调试连接器,我们为什么要用它?我们知道,在Flash或者FlashBuilder中调试AIR程序时并不需要安装AIR运行环境,所以知道了它的原理,我们就会绿化AIR程序了。
1. 随便找一个AIR文件,用 winrar打开它,并将它解压,比如解压在D:\airapp目录中,并将D:\airapp\META-INF\ AIR \application.xml文件也拷到D:\airapp目录中。
2. 打开window的命令行,输入
set path= C:\Progrem Files\Adobe\Adobe Flash Builder Beta 2\sdks\4.0.0\bin
说明:我们FlashBuilder2 beta是默认安装的。
现在输入adl回车会看到如下结果:
这说明我们的adl可用了,然后输入以下命令:
D: ::转到D盘根目录
cd D:\airapp ::打开AIR程序目录
adl application.xml ::启动air程序
说明:还可以加上相关的参数比如:adl application.xml –nodebug是不显示调试信息,这样air程序中如果出错,是不会弹出异常窗口的,adl application.xml – params可以向AIR程序中传入参数,air程序可侦听InvokeEvent.invoke事件来获得此参数。
绿化AIR程序
知道了以上原理,我想绿化AIR程序已经不是问题了,
a) 在D:\airapp目录下新建一个文件夹,命名为app,此目录用于存放我们的AIR主程序。
b) 把D:\airapp目录下的其它所有文件及文件夹都拷到D:\airapp\app目录中。
c) 然后我们把C:\Progrem Files\Adobe\Adobe Flash Builder Beta 2\sdks\4.0.0\bin目录中的adl.exe文件也拷到D:\airapp\app目录中。
d) 把C:\Progrem Files\Adobe\Adobe Flash Builder Beta 2\sdks\4.0.0\目录下的runtimes文件夹拷到D:\airapp目录中。
e) 此时我们在D:\airapp中创建一个app.bat文件,在其中输入以下代码:
app\adl app\application.xml,保存,然后双击此文件就可以启动我们的air程序。
用mfc写启动程序
在实际的应用中,我们不可能用一个bat文件来做主程序,那么我们就用VC++来做此功能吧。
1. 打开vs2008,新建一个mfc工程,工程名可为MyAirLauncher。
2. 在应用程序类型选项中可选择基于对话框并且使用mfc静态编译,如下图所示:
点击“完成”创建工程。
3. 打开MyAirLauncher.cpp文件,将InitInstance函数中的所有内容注释,并添加如下代码:
TCHARfilePath[MAX_PATH];
GetModuleFileName(NULL,filePath,MAX_PATH);
basic_string<TCHAR> path=filePath;
path=path.substr(0,path.find_last_of(L"\\"));
SetCurrentDirectory(path.c_str());
WinExec("app\\adl.exe app\\application.xml -nodebug",SW_HIDE);
//WinExec("app\\blwh app\\WHJYFW-app.xml -nodebug",SW_HIDE);
保存并编译,然后将生成的MyAirLauncher.exe拷到D:\airapp目录中,双击此文件就可以运行我们的air程序了。
需要return true;
完成绿化
好了,至此,所有绿化工作已经做完了,如果你的air程序没有使用webkit组件,那么完全可以删除D:\airapp\runtimes\air\win\Adobe AIR\Versions\1.0目录下Resources目录及所有子文件,这样可以大大减小程序的体积。
我一个搞java的装一vs平台 不务正业之极