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

Silverlight在IE中无法显示

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

问题提出: 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

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

相关推荐