在任务计划程序中配置 exe 时,检索 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件的 COM 类工厂失败

问题描述 投票:0回答:2

我用 C# 创建了控制台应用程序来读取 Excel 文件。 使用microsoft interop dll来操作excel文件。 Excel 文件是在 Excel 2013 中创建的。 .net版本是4.5 操作系统:Windows Server 2012

它将打开 Excel 文件并添加包含值的行表。

功能运行良好。但是当我在任务计划程序中配置 exe 时,出现错误。

由于以下错误,检索 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件的 COM 类工厂失败:80070005 访问被拒绝。 (HRESULT 异常:0x80070005 (E_ACCESSDENIED))。

我还尝试使用用于在调度程序中配置任务的相同用户凭据在命令提示符下运行 exe。

我的问题是,exe 在命令提示符下工作正常,但在任务计划程序中无法工作。

有什么想法吗??

c# excel scheduled-tasks excel-2003 access-denied
2个回答
2
投票

选项1:

尝试以下步骤

  1. 在 DCOMCNFG 中,右键单击我的电脑并选择属性。
  2. 选择 COM 证券选项卡
  3. 在访问权限中,单击“编辑默认值”并向其添加网络服务并授予其“允许本地访问”权限。对 \Users 执行相同操作。
  4. 在启动和激活权限中,单击“编辑默认值”并向其添加网络服务,并为其授予“本地启动”和“本地激活”权限。对 \Users
  5. 执行相同操作

查看此链接是否存在任何权限问题

选项2:

如果找不到原因,只需将解决方案切换为另存为方法


0
投票

检查 DCOMCNFG CLISID 是否为“00024500-0000-0000-C000-000000000046”或“00020812-0000-0000-C000-000000000046”。如果是“00020812-0000-0000-C000-000000000046”那么你需要在RegEdit中更新它。

© www.soinside.com 2019 - 2024. All rights reserved.