Windows Vista 中的浏览器帮助对象 (BHO) 仅具有管理员权限?
在一个大学项目中,我编写了一个 Internet Explorer 浏览器帮助程序对象来在浏览时处理 Web 文档信息。 它在带有 IE6 和 IE7 的 Windows XP 上成功运行。
现在我遇到的问题是,在 Windows Vista 下,相同的 BHO 需要管理员权限才能运行。 如果您以管理员身份启动 IE,则浏览器和 BHO 会运行,但如果您以普通用户身份启动,则会崩溃。
BHO 当然是在系统上注册并在浏览器中激活的。
如何让非管理员权限的用户可以运行已注册并激活的 BHO? 或者也许是其他原因而我完全想念它?
非常感谢您的帮助!
For a university project I programmed a Internet Explorer Browser Helper Object to process web document information while browsing. It were running successful on Windows XP with IE6 and IE7.
Now I have the issue that under Windows Vista the same BHO needs administrator rights to run. Browser and BHO running if you start the IE as administrator but if you start as normal user it crashes.
The BHO is of course registered on the system and activated in the browser.
What can I do that a user with non-admin rights can run the registered and activated BHO? Or is maybe something else the reason and I totally miss it?
Thank you very much for your help!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不确定您的问题是否与安装程序中的自定义操作有关,但以下两个链接应该可以帮助您。
在构建 BHO 时考虑到 UAC - 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
Not sure if your problem is related to custom actions in your installer but the following two links should help you.
Building a BHO with the UAC in mind - http://simonguest.com/blogs/smguest/archive/2006/11/19/Building-Browser-Helper-Objects-using-Managed-Code.aspx (a little over half way down)
Using the NoImpersonate script - http://blogs.msdn.com/astebner/archive/2007/05/28/2958062.aspx
您应该使用调试器来确定插件崩溃的原因。 您很可能尝试写入受保护的位置,而当失败时,您的代码将无法检查错误结果。
使用进程监视器并观察 Access_Denied 返回通常很有帮助,但使用完整的调试器是正确的方法。
You should use a debugger to determine why the addon is crashing. Chances are good that you're attempting to write to a protected location, and when that fails, your code fails to check for an error result.
Using Process Monitor and watching for Access_Denied returns is often helpful, but using a full-debugger is the right way to go.