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

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

转载于:https://www.cnblogs.com/arielyang/archive/2007/09/12/891203.html

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

相关推荐