微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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)官网可以自动检查当前操作系统版本并提供相应的下载页面。图

 

 

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐