COM异常:访问引用的dll函数时mscorlib中的0x800702E4

时间:2016-04-19 10:44:08

标签: c# exception com elevated-privileges

突然我在调用引用的DLL程序集中调用任何函数时遇到问题。 如果我在没有管理员权限的情况下运行我的程序集,我将收到COM异常。这个COM异常仅在我的开发Maschine上引发,在任何其他具有相同用户权限的Maschine(Active Directory域和本地权限)上我没有得到此COM异常。

调用的函数不需要任何提升的权限。有没有人知道可能出现什么问题?

Translatet例外:

mscorlib.dll中出现未处理的“System.Runtime.InteropServices”类型异常。

附加信息:由于以下错误,检索具有CLSID {ACE5AE23-982C-4033-BD09-DE533993C9A5}的组件的COM类工厂失败: 800702e4请求的操作需要提升。 (HRESULT异常:0x800702E4)。

原始例外(德语): Ein Ausnahmefehler des Typs“System.Runtime.InteropServices.COMException”ist in mscorlib.dll aufgetreten。

ZusätzlicheInformationen:Die COM-KlassenfactoryfürdieKomponente mit CLSID {ACE5AE23-982C-4033-BD09-DE533993C9A5} konnte aufgrund des folgenden Fehlers nicht abgerufen werden:800702e4 Der angeforderte VorgangerforderterhöhteRechte。 (Ausnahme von HRESULT:0x800702E4)。

1 个答案:

答案 0 :(得分:0)

解决方案:

由于某些原因,dll在Windows注册表中被标记为“RunAsAdministrator”:

HKEY_CURRENT_USER \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers RESP。 HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers

删除此标志后,一切都按预期工作。