当我尝试从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