首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果只在香港中文大学注册,则调试器中找不到.NET组件。

如果只在香港中文大学注册,则调试器中找不到.NET组件。
EN

Stack Overflow用户
提问于 2013-11-21 22:24:46
回答 1查看 161关注 0票数 0

我们有一个COM可见的.NET程序集.此程序集是通过“每个用户COM注册”注册的,通过将注册表项添加到具有管理特权的HKCU中。程序集已成功注册,并且可以实例化COM对象,而不会给用户带来任何问题。

但是,在调试器(如Visual 2010 )中,如果我想要CoCreateInstance()程序集中的COM对象之一,则返回错误代码0x80040154,即“未注册的类”。当我们以前使用"regasm.exe /codebase *.dll“时,还没有发生过这种情况。我检查了regasm.exe是否将注册表项添加到HKLM。以下是我的问题:

  1. 调试器,Visual 2010在我的例子中,只从HKLM找到注册表,而不是在HKCU中查找?
  2. regasm.exe只将程序集注册到HKLM,这是真的吗?

非常感谢你的回答。

EN

回答 1

Stack Overflow用户

发布于 2013-11-21 23:36:16

将注册表项添加到具有管理特权的HKCU中。

使用HKCU是易碎的。只有一个场景可以正常工作,管理员权限必须由运行程序的完全相同的用户帐户获得。这只能在您获得UAC提升时才会发生,通常是通过使用“”选项运行cmd.exe。

如果您通过不同的帐户获得管理特权,则将这些密钥写入不同的HKCU。换句话说,HKEY_USERS的一个不同的子键.

1)然后你的程序找不到钥匙。不涉及调试器。

2)这就是为什么Regasm.exe只支持写HKLM,不能选择写信给HKCU。避免了支援呼叫。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20133234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档