第一种(.air)
把项目打包成.air格式,在cmd下使用命令行安装格式如下:Adobe AIR Application Installer.exe -silent -logToStdout -eulaAccepted -location path/xxxxx xxxxx.air
silent参数就是静默安装了,就是说不弹出安装对话框,悄悄地一步就安装完了。
logToStdout参数实际使用不需要,是把安装过程中的信息打到标准输出终端上,就是命令行上。
eulaAccepted参数中EULA是End User Licese Agreement,就是同意用户协议了,我绝对是同意的,可是没加这个参数也没见什么动静
location参数及后面指定的路径当然是安装路径了
xxxxxxxx.air当然是你的AIR程序安装文件了
在网上也有看到一些.air静默卸载的方法,使用-uninstall命令,如下:
-uninstall(我试过了,不起作用,不知道具体的参数和用法)
在cmd下的用法 “Adobe AIR Application Installer.exe” -uninstall appInstaller.air xxxxx
uninstall后应该有两个参数,第一个可能是air安装文件,第二个不知道写什么。参数少会报not enough arguments,这样写确实会执行uninstall,因为报错说”uninstall时发生错误”
在WIN7 64位系统下Adobe AIR Application Installer.exe在目录C:\Program Files (x86)\Common Files\Adobe AIR\Versions\1.0里
代码:
var file:File = new File(File.applicationDirectory.nativePath+"/setup/Adobe AIR Application Installer.exe");
var na:NativeProcessStartupInfo = new NativeProcessStartupInfo();
var process:NativeProcess = new NativeProcess();
na.executable = file;
var v:Vector.<String> = new Vector.<String>();//外部应用程序需要的参数
v.push("-silent");
v.push("-logToStdout");
v.push("-eulaAccepted");
v.push("-location");
v.push("C:/Program Files");
v.push("D:/Program Files/setup.air");
na.arguments = v;
process.start(na);
process.addEventListener(NativeProcessExitEvent.EXIT, __installCompleteHandler);
process.closeInput();
第二种(.exe)
把项目打包成.exe格式,在cmd下使用命令行安装格式如下:xxxxx.exe -silent -location path/xxxxxx(如果输入xxx.exe /q 可以看到该命令完整的参数要求)
xxxx.exe是你的安装程序
-silent是静默安装
-location及后面的参数指定安装的路径
代码:
var file:File = new File("D:/Program Files/setup.exe");
var na:NativeProcessStartupInfo = new NativeProcessStartupInfo();
var process:NativeProcess = new NativeProcess();
na.executable = file;
var v:Vector.<String> = new Vector.<String>();//外部应用程序需要的参数
v.push("-silent");
v.push("-location");
v.push("C:/Program Files");
na.arguments = v;
process.start(na);
process.addEventListener(NativeProcessExitEvent.EXIT, __installCompleteHandler);//侦听安装程序是否安装完成
process.closeInput();