当我试图从Delphi应用程序加载COM可见的C#.net程序集时,windows server 2012上会弹出"该类未配置为支持提升的激活"错误。
有没有一种方法可以将其配置为以编程方式支持提升的激活?
当前要避免,权限级别设置为"以管理员身份运行"。
这是CO_E_ELEVATION_DISABLED
错误。如果类没有在注册表中正确注册以进行提升,则可能会发生这种情况。您可以在MSDN中找到如何注册:
COM高程标记
COM类还必须注释为LUA Enabled。这需要以下注册表项:
HKEY_LOCAL_MACHINESoftwareClassesCLSID {CLSID} Elevation Enabled = 1
如果该条目丢失,则激活返回错误CO_E_ELEVATION_DISABLED。
请注意,这些条目必须存在于HKEY_LOCAL_MACHINE配置单元中,而不是HKEY_CURRENT_USER或HKEY_USERS配置单元中。这会阻止用户提升他们没有注册权限的COM类。
更多信息在这个博客文章:
Windows和Delphi 中的局部高程点