Windows Vista中的浏览器帮助器对象(BHO)仅具有管理员权限?

时间:2020-03-06 14:58:37  来源:igfitidea点击:

对于一个大学项目,我对Internet Explorer浏览器帮助器对象进行了编程,以在浏览时处理Web文档信息。它在带有IE6和IE7的Windows XP上成功运行。

现在,我遇到的问题是,在Windows Vista下,同一BHO需要管理员权限才能运行。如果以管理员身份启动IE,则浏览器和BHO正在运行,但是如果以普通用户身份启动,则它会崩溃。

BHO当然是在系统上注册并在浏览器中激活的。

具有非管理员权限的用户可以运行已注册并激活的BHO,该怎么办?还是其他原因导致我完全想念它?

非常感谢帮助!

解决方案

不知道问题是否与安装程序中的自定义操作有关,但是以下两个链接应该可以为我们提供帮助。

  • 在考虑UAC的情况下构建BHO-http://simonguest.com/blogs/smguest/archive/2006/11/19/Building-Browser-Helper-Objects-using-Managed-Code.aspx(略多于一半)下)
  • 使用NoImpersonate脚本-http://blogs.msdn.com/astebner/archive/2007/05/28/2958062.aspx

我们应该使用调试器来确定插件崩溃的原因。我们尝试写入受保护的位置的机会很大,当失败时,代码将无法检查错误结果。

使用进程监视器并监视Access_Denied返回通常是有帮助的,但是使用完全调试器是正确的方法。