Flex:无缝安装AIR运行时在公司内网(防火墙)报下载失败的问题

场景:

       公司内网防火墙内,防火墙禁止了HTTPS,POST提交操作,允许GET提交,。

现象:

      按照之前的文章 【Flex:AIR程序加上自动更新功能 AIR项目发布之在线无缝安装(Badge)详解 】

http://blog.csdn.net/huanghr_1/archive/2011/06/11/6538714.aspx,安装AIR程序,当系统没有安装AIR运行时时,ProductManager会去执行download运行时动作,问题就出现了:“下载出错。是否尝试重新下载?”如图1

 

                 (图1)

网上说出现此种现象的原因主要是浏览器的FlashPlayer插件的版本低于:10.0.22.87,升级FlashPlayer插件版本即可,以下是升级插件的地址,但我的问题在升级浏览器版本后依然存在。

http://www.adobe.com/software/flash/about/

 

尝试方法

       反编译无缝API的air.swf,expressinstall.swf,autoupdate.swf,从代码看不到有POST提交表单和HTTPS链接的地方,最可疑的是ProductManager.download 收集当前操作系统版本信息时使用了POST,无奈ProductManager是adobe.utils.ProductManager 是FP9/playerglobal.swc的一个类,需要反编译看看。

 

解决

       预期的结果应该是这样的,如图2,3:

 

问题没解决,公司内网只是部分用户,为了实现无缝安装AIR程序,只好在HTML页面做个提示,当出现“下载出错。是否尝试重新下载?”且FlashPlayer版本大于10.0.22.87时(查看版本:右击浏览器的任何一个Flash->关于,或者直接进入http://www.adobe.com/software/flash/about/ ),提示用户进入Adobe网站先安装运行时 http://get.adobe.com/cn/air/, 不直接提供本地下载地址的原因是

1)Adobe AIR协议声明分发需要额外授权,

2)官网可以自动检查当前操作系统版本并提供相应的下载页面。图

 

 

后话:此问题解决时,再更新博客

相关文章

一:display:flex布局display:flex是一种布局方式。它即可以...
1. flex设置元素垂直居中对齐在之前的一篇文章中记载过如何...
移动端开发知识点pc端软件和移动端apppc端软件是什么,有哪些...
最近挺忙的,准备考试,还有其他的事,没时间研究东西,快周...
display:flex;把容器设置为弹性盒模型(设置为弹性盒模型之后...
我在网页上运行了一个Flex应用程序,我想使用Command←组合键...