检索具有CLSID错误的组件的COM类工厂:80070005拒绝访问

时间:2015-04-09 10:36:04

标签: c# asp.net outlook

我正在尝试使用我的asp.net应用程序来打开Outlook。它在我的机器上工作正常。现在我正在将应用程序部署到服务器。我得到了这个例外

Retrieving the COM class factory for component with CLSID {0006F03A-0000-0000-C000-000000000046} failed due to the following error: 80070005 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)).

我一直试图解决这个例外三天。我google了很多。

我尝试了什么

他们说我必须去DCOM CONFIG,我去了那里,但我没有找到微软的办公室前景条目。

然后我打开了一个cmd并输入mcc -32然后我添加了组件服务器。 之后我看到了outlook条目。我去了财产然后到安全选项卡,然后我更改了那里的三个选项,以便访问所有人用户。但我一直有这个问题

注意我对这两个条目进行了更改

Microsoft Outlook Commadn Button

outlook message attachment

然后我将应用程序bool的用户更改为服务器的Administrator帐户,但我一直遇到问题

请帮助我,我尝试了很多很多东西要解决,但我无法

1 个答案:

答案 0 :(得分:0)

  

我正在尝试使用我的asp.net应用程序打开Outlook。

Microsoft目前不建议也不支持从任何无人参与的非交互式客户端应用程序或组件(包括ASP,ASP.NET,DCOM和NT服务)自动化Microsoft Office应用程序,因为Office在此环境中运行Office时,可能会出现不稳定的行为和/或死锁。

如果要构建在服务器端上下文中运行的解决方案,则应尝试使用已为安全无人值守执行的组件。或者,您应该尝试找到允许至少部分代码在客户端运行的替代方法。如果从服务器端解决方案使用Office应用程序,则应用程序将缺少许多成功运行的必要功能。此外,您将承担整体解决方案稳定性的风险。

作为一种解决方法,您可以使用低级API - 扩展MAPI。或者该API周围的任何其他第三方包装器(例如,Redemption)。