随笔-4  评论-50  文章-0  trackbacks-2

Silverlight在IE中无法显示但在Firefox中正常的原因和解决办法

考虑到此问题的发生很难解决和解决方法的示例意义,特发在首页。

问题提出:Silverlight在IE中无法显示并提示下载,在Firefox中正常
系统环境:Vista, IE7
对应版本:1.0 RC, 1.0 RTW, 1.1 Alpha Aug./Sept. Refresh
现象描述:访问包含Silverlight的页面,提示下载并安装Silverlight,安装后显示安装成功,刷新页面后,仍然提示需要下载安装;然而打开Firefox访问该页面却能够正常显示。注:在Vista中安装要使用Administrator权限(快捷菜单,Run as administrator)
解决过程:
尝试了卸载重新安装,重新启动等,均不能解决。问题看似很简单,但是解决起来却有些无从下手。首先想到的是能否得到一些Log或者Debug的信息,但是没有找到方法;后在Silverlight产品部晓颖的提示下参考了部分资料,采用如下方法(以后许多问题可以这样查看):
 
1、下载最新的微软Process Monitor
2、启动IE并打开包含某Silverlight程序的页面。
3、打开Process Monitor,选择过滤Process Name is iexplore.exe(图1)。

4、刷新上述包含Silverlight程序的页面。
5、这时会发现iexplore.exe会试图访问HKCR\AgControl.AgControl,但是访问结果却是ACCESS DENIED(图2)。问题就是这里了!

6、问题发现了,解决起来却不那么简单。打开注册表,试试修改HKCR\AgControl.AgControl的权限?Access is denied,无论如何也不让修改。
7、查了资料,终于发现,是HKCR的权限有问题(权限用户列表为空,和别的机器不一样)而导致安装的AgControl.AgControl有问题,原来如此!找一个正常的Vista注册表项(谢谢Felix),参照一下设置自己机器的HKCR权限(图3)。

8、卸载Silverlight,重新安装,OK,搞定!

结论:看似是Silverlight安装程序的问题,实际是注册表HKCR本身有问题。Process Monitor是一个很好的调试程序的工具。
参考:目前网上Silverlight的参考资料还很少,只有Silverlight官方的Forum有一些参考:
http://silverlight.net/forums/p/600/11562.aspx
http://silverlight.net/forums/t/3391.aspx

0
0
(请您对文章做出评价)
« 上一篇:一行代码搞定你的QueryString!(原创)
posted on 2007-09-12 23:30 Ariel Y. 阅读(2656) 评论(4)  编辑 收藏 网摘 所属分类: Technology

评论:
#1楼 2007-09-13 08:48 | Terry Sun      
不错的文章,谢谢
  回复  引用  查看    
#2楼 2007-09-14 13:08 | ColdDog      
学习了,也遇到这样的问题,害得我重装SL好几回,以为版本不对。
  回复  引用  查看    
#3楼 2007-12-19 13:15 | AndyYard      
我和你的情况恰恰相反了,IE6上可以,FF2上不可以。请教一下?
  回复  引用  查看    
#4楼[楼主] 2007-12-19 13:34 | Ariel Y.      
FF2上不能安装的问题一般都比较常见,网上较多介绍。

这里提供一个:
http://blog.joycode.com/soma/archive/2007/09/06/108074.aspx
注意留言

需要严格按照提示进行安装,该重启就重启,不行就覆盖安装Firefox。

  回复  引用  查看