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

有没有办法配置它以编程方式支持提升的激活?

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

最佳答案

这是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

09-17 14:10