日期:2014-05-18  浏览次数:20371 次

Activex在xp系统IE6下使用完全正常,在vista下IE7不能使用,怎么办?
我的Activex控件已经花钱进行过代码签名在xp系统IE6下使用完全正常,但是Vista下不能使用,查找原因是只要把IE属性中保护模式关了就行了,但是我们的客户不满意,因为不可能让来访问我们网站的用户都关保护模式,请问有没有什么办法能解决。

------解决方案--------------------
帮顶!关注中!
------解决方案--------------------
是个头痛的问题
------解决方案--------------------
没什么好办法。
可以改用ajax技术来实现这个功能。

受保护模式

Internet Explorer 7有一种新的模式,叫做“受保护模式”。当你处在受保护模式中时,浏览器则不用担心恶意软件能够获得高的权限。除了在工作时提供安全的架构之外,受保护模式还能够帮助处理和证实任何在系统中移动数据的脚本或自动行为,例如Temporary Internet Files文件夹,那开始一个恶意软件的避风港。

ActiveX选择性加入

Internet Explorer 7对使用到ActiveX组件工作时的控制更为严密。在过去,很多工具都是利用ActiveX来进行的。AcitveX组件能够为计算机用户处理文件下载和安装。尽管这能够提供便利,但恶意软件就会见缝插针地利用它。ActiveX仅在微软的系统上才能够运行,而它也是通过微软专有的形式来开发和升级的。

一个名叫ActiveX选择性加入的新特性能够在跳转屏幕前对所有的ActiveX控件禁用。换言之,如果一个ISV并没有预设能够在Vista和Internet Explorer 7中工作,那么它就无法工作。实际上,Internet Explorer 7中的安全状态信息栏会在每次需要使用到ActiveX空间的时候显示出选项。这就能够让用户确切地知道每个控件的作用,他们需要安装什么等等。

------解决方案--------------------
你可以修改你的ActiveX,不访问保护模式下访问不到的资源
------解决方案--------------------
是不是那个家长保护模式UAC在作怪?
------解决方案--------------------
不是不能用,是你的程序写的不符合标准。
按照ms的意思,如果你要执行高权限的操作,在uac开启的情况下,vista会弹出确认框,提示用户下面的操作需要管理员权限,是否继续等。
而这样做的前提是你的程序必须符合vista的某些要求,显然你没有做到。

你可以看看elevation moniker方面的东西,并参考相关内容。