无法在.net中创建com对象实例
Unable to create com object instance in .net
当我试图在.net中为没有管理权限的用户创建com对象时,出现以下错误。
CLSID为{6CA9DEBE-BA91-4E56-9CD3-D40FE0755204}的组件的COM类工厂由于以下错误而失败无法检索:800704ec此程序被组策略阻止。申请获取系统管理员的详细信息。(HRESULT:0x800704EC中出现异常)。
代码如下所示:
动态obj=null;尝试{尝试{var ComType=Type.GetTypeFromProgID("XenReports.XenReportsX");obj=Activator.CreateInstance(ComType);}catch(异常){抛出新异常(TextMessageProvider.GetText(ResourceKeys.XenReportErrorMessage));}
如果有人遇到过这个问题,请告诉我。Com对象用于C++exe。
正如错误本身所说,问题在于您的组策略设置。根据当前组策略,试图与之一起创建COM对象的用户没有足够的权限来进行任何此类创建。
您可以将此用户添加到此计算机上的"admin"组,然后尝试。
如果您试图通过网络访问对象,那么您还需要进行适当的DCOM设置。运行"dcomcnfg",然后运行组件服务->我的计算机->DCOM配置。现在选择组件并右键单击以更改其属性,如"启动和激活权限"以及允许哪个用户启动它等。
相关文章:
- COM :是否可以查看是否存在对我的某个 COM 对象的进程外引用?我可以释放它吗?
- 如何在C++非托管/本机 DLL 中从注册免费 COM C# 托管 DLL 创建 COM 对象
- 从 WinRT C++组件访问 COM 对象
- 通过 COM 对象连接 x64 应用程序时出现问题
- 我如何知道COM对象与不同的COM UUIDS兼容
- 如何访问从 COM 对象返回的 VARIANT 数据类型中的安全数组C++?
- 2 个 COM 对象,并在另一个对象中使用其中一个对象的接口
- 尝试向 COM 对象添加另一个接口时出现静态强制转换错误 C2440
- 在没有共享 COM 对象的情况下使用 COM STA 或 MTA?
- 初始化com对象的问题
- UI自动化回调中com对象的所有权
- 从 COM 对象快速读取西里尔字母
- 如果从函数返回指向指针 COM 对象的指针,我是否需要 AddRef()?
- 使用 com 对象删除计划任务
- 如何使用OlesetClipboard将我的COM对象放置在剪贴板上时解决问题
- 在自定义源和 SmartTee 之间插入筛选器会泄漏 COM 对象
- COM 对象中的回调
- 如何在使用C++打开隐藏的 COM 对象时隐藏控制台窗口
- 将结构中的字节数组传递给 com 对象
- COM对象,并返回QVariant强制转换问题