1

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

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

代码如下图:

动态对象=空;尝试 { 尝试 { var ComType = Type.GetTypeFromProgID("XenReports.XenReportsX"); obj = Activator.CreateInstance(ComType); } catch(Exception) { throw new Exception(TextMessageProvider.GetText(ResourceKeys.XenReportErrorMessage)); }

请让我知道是否有人遇到过这个问题。Com 对象用于 C++ exe。

4

1 回答 1

1

错误本身的问题是您的组策略设置。您尝试创建 COM 对象的用户在当前组策略下没有足够的权限来执行任何此类创建。

您可以将此用户添加到此计算机上的“管理员”组,然后尝试。

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

于 2015-03-05T07:03:01.290 回答