分享

在Windows 2003 Server 上配置Microsoft Excel、Microsoft Word应用程序权限时 error: 8000401a 的解决方法! | 学步园

 行走在理想边缘 2019-11-08
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:


Line
175:       
Line
176:        //创建一个名为WordApp的组件对象
Line 177:         Word.Application WordApp = new
Word.ApplicationClass();
Line
178:        //创建一个名为WordDoc的文档对象
Line 179:         Word.Document WordDoc =
WordApp.Documents.Add(
ref Nothing, ref Nothing,
ref
Nothing,
ref Nothing);



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.]
   
SafetyTrainingManagement_TrainingManagement_CertificationTraining_TrainingTaskReleaseAdd.btnSubmit_Click(Object
sender, EventArgs e)
in
d:\AffairProject\SafetyTrainingManagement\TrainingManagement\CertificationTraining\TrainingTaskReleaseAdd.aspx.cs:
177
   
System.Web.UI.WebControls.Button.OnClick(EventArgs e)
+105
   
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
+107
   
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String
eventArgument)
+7
   
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl,
String eventArgument)
+11
   
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
+33
   
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,
Boolean includeStagesAfterAsyncPoint)
+5102




--------------------------------------------------------------------------------
Version
Information: Microsoft .NET Framework Version:
2.0.50727.832; ASP.NET
Version:
2.0.50727.832

这个问题困扰了我很久,在网上找了很多资料都没用,

最后找到解决方案:

运行dcomcnfg打开组件服务,

依次展开"组件服务"->"计算机"->"我的电脑"->"DCOM配置"

找到"Microsoft Excel应用程序"或"Microsoft Word应用程序",

右键打开属性对话框,点击"标识"选项卡,

点"下列用户",把管理员的用户密码正确填写进去...??

   
实测发现:选择"启动用户"也可以解决问题,填入管理员的账号和密码不现实

点击"安全"选项卡,

依次把"启动和激活权限","访问权限","配置权限",都选择为自定义,

然后依次点击它们的编辑,把everyone添加进去,并加入所有的权限...

OK,解决此问题!

在创建 EXCEL
应用程序时出现错误:

检索 COM
类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误:
80070005


解决办法: 配置 DCOM 中
EXCEL 应用程序:

要在交互式用户帐户下设置 Office 自动化服务器,请按照下列步骤操作:

1. 以管理员身份登录到计算机,并使用完整安装来安装(或重新安装)Office。为了实现系统的可靠性,建议您将 Office CD-ROM
中的内容复制到本地驱动器并从此位置安装 Office。
2. 启动要自动运行的 Office
应用程序。这会强制该应用程序进行自我注册。
3. 运行该应用程序后,请按 Alt+F11 以加载 Microsoft Visual
Basic for Applications (VBA) 编辑器。这会强制 VBA 进行初始化。
4. 关闭应用程序,包括 VBA。
5. 单击开始,单击运行,然后键入 DCOMCNFG。选择要自动运行的应用程序。应用程序名称如下所示:
Microsoft Access 97 - Microsoft Access
数据库
Microsoft Access 2000/2002 - Microsoft Access 应用程序
Microsoft Excel
97/2000/2002 - Microsoft Excel 应用程序
Microsoft Word 97 - Microsoft Word
Basic
Microsoft Word 2000/2002 - Microsoft Word 文档

单击属性打开此应用程序的属性对话框。

6. 单击安全选项卡。验证使用默认的访问权限使用默认的启动权限已选中。
7. 单击标识选项卡,然后选择交互式用户
8. 单击确定,关闭属性对话框并返回主应用程序列表对话框。
9. DCOM
配置
对话框中,单击默认安全性选项卡。
10. 单击访问权限的编辑默认值。验证访问权限中是否列出下列用户,如果没有列出,则添加这些用户:
SYSTEM
INTERACTIVE
Everyone
Administrators
IUSR_<machinename>*
IWAM_<machinename>*

*
这些帐户仅在计算机上安装了 Internet Information Server (IIS) 的情况下才存在。

11. 确保允许每个用户访问,然后单击确定
12. 单击启动权限的编辑默认值。验证启动权限中是否列出下列用户,如果没有列出,则添加这些用户:
SYSTEM
INTERACTIVE
Everyone
Administrators
IUSR_<machinename>*
IWAM_<machinename>*

*
这些帐户仅在计算机上安装有 IIS 的情况下才存在。

13. 确保允许每个用户访问,然后单击确定
14. 单击确定关闭 DCOMCNFG。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多