检索组件的 COM 类工厂,出现 CLSID 错误:8000401a

本文关键字:CLSID 出现 错误 8000401a 工厂 组件 COM 检索 | 更新日期: 2023-09-27 18:31:04

从最近这么多次我得到以下错误。由于我正在使用Microsoft Word dlls来创建进一步附加到邮件的word文件。

Server Error in '/' Application.
Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 8000401a.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Runtime.InteropServices.COMException: Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 8000401a.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[COMException (0x8000401a): Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 8000401a.]
   iPortal.user.sendRAMail.GetData(Object fileName) in XXX:512
   iPortal.user.sendRAMail.btnSend_Click(Object sender, EventArgs e) in XXX:1300
   System.Web.UI.WebControls.Button.OnClick(EventArgs e) +107
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3436

Version Information: Microsoft .NET Framework Version:2.0.50727.4216; ASP.NET Version:2.0.50727.4223 

任何人都可以建议我任何解决方案。因为我也有一些解决方案,说我使用DCOMCNFG更改 Word dll 的访问权限,但仍然收到相同的错误,但在某些时候它工作正常......所以我认为代码不是问题。还有how I will find which account is using my current application.(例如。网络服务、管理员等)

检索组件的 COM 类工厂,出现 CLSID 错误:8000401a

我找到了解决方案,

使用 DCOMCNFG .exe打开它并转到组件服务 ->计算机->我的计算机->DCOM 配置->检查Microsoft Office Word 选项并选择选项卡安全性。在这里,您将获得"启动和激活权限"选项>选择"自定义",然后单击"编辑",然后添加将以完全访问权限运行应用程序的用户。

仅此而已,这解决了我的问题,这将有所帮助。

我的想法是一起摆脱 Com,如果我能找到更好的解决方案,我会使用它

看看这个

http://docx.codeplex.com/

我在服务器上做的一件事是在机器上打开Microsoft Word,这似乎会导致错误消失。

您可以创建另一个用户,然后使用该用户登录并创建远程到121.0.0.1和主用户(环回RPC!!),然后从新用户断开连接,您将拥有交互式用户