gpt4 book ai didi

c++ - 无法在 .net 中创建 com 对象实例

转载 作者:行者123 更新时间:2023-11-30 05:46:29 25 4
gpt4 key购买 nike

当我尝试在 .net 中为没有管理员权限的用户创建 com 对象时出现以下错误。

CLSID 为 {6CA9DEBE-BA91-4E56-9CD3-D40FE0755204} 的组件的 COM 类工厂因以下错误而失败无法检索:800704ec 该程序被组策略阻止。申请让您的系统管理员获取更多信息。 (HRESULT 异常:0x800704EC)。

代码如下所示:

动态对象=空; 尝试 { 尝试 { var ComType = Type.GetTypeFromProgID("XenReports.XenReportsX"); obj = Activator.CreateInstance(ComType); } catch (异常) { 抛出新的异常(TextMessageProvider.GetText(ResourceKeys.XenReportErrorMessage));

如果有人遇到过这个问题,请告诉我。Com 对象用于 C++ exe。

最佳答案

正如错误所说,问题出在您的组策略设置上。根据当前组策略,您尝试与其一起创建 COM 对象的用户没有足够的权限来进行任何此类创建。

您可以将此用户添加到 native 的“admin”组中,然后尝试。

如果您尝试通过网络访问对象,那么您还需要进行适当的 DCOM 设置。运行“dcomcnfg”,然后运行“组件服务”->“我的电脑”->“DCOM 配置”。现在选择组件并右键单击以更改其属性,例如“启动和激活权限”以及允许哪个用户启动它等。

关于c++ - 无法在 .net 中创建 com 对象实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28871311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com