该类未配置为支持高级激活

时间:2015-02-27 09:54:08

标签: c# delphi

当我尝试从Delphi应用程序加载COM可见C#.net程序集时,在Windows Server 2012上弹出“该类未配置为支持提升激活”错误。

有没有办法将其配置为以编程方式支持提升激活?

目前要避免,将权限级别设置为“以管理员身份运行”。

1 个答案:

答案 0 :(得分:4)

CO_E_ELEVATION_DISABLED错误。如果类没有在注册表中正确注册提升,则可能会发生这种情况。您可以在MSDN中找到如何注册它:

The COM Elevation Moniker

  

COM类也必须注释为LUA-Enabled。这需要以下注册表项:

HKEY_LOCAL_MACHINE\Software\Classes\CLSID
  {CLSID}
    Elevation
      Enabled = 1
     

如果缺少此条目,则激活将返回错误CO_E_ELEVATION_DISABLED。

     

请注意,这些条目必须存在于HKEY_LOCAL_MACHINE配置单元中,而不是HKEY_CURRENT_USER或HKEY_USERS配置单元中。这可以防止用户提升他们没有注册权限的COM类。

此博客文章中有更多信息:

Local elevation points in Windows and Delphi