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

  C#在调用Excel的API生成excel文件时,提示检索   COM   类工厂中   CLSID   为   {00024500-0000-0000-C000-000000000046}   的组件时失败,原因是出现以下错误:   8000401a ”错误。

  解决方案是在服务器上安装Office,并配置DCOM权限。步骤如下:

  1. 配置  DCOM  中  EXCEL  应用程序:  
  2. 要在交互式用户帐户下设置  Office  自动化服务器,请按照下列步骤操作:   
  3. 1.  以管理员身份登录到计算机,并使用完整安装来安装(或重新安装)Office。为了实现系统的可靠性,建议您将  Office  CD-ROM  中的内容复制到本地驱动器并从此位置安装  Office。   
  4. 2.  启动要自动运行的  Office  应用程序。这会强制该应用程序进行自我注册。   
  5. 3.  运行该应用程序后,请按  Alt+F11  以加载  Microsoft  Visual  Basic  for  Applications  (VBA)  编辑器。这会强制  VBA  进行初始化。   
  6. 4.  关闭应用程序,包括  VBA。   
  7. 5.  单击开始,单击运行,然后键入  DCOMCNFG。选择要自动运行的应用程序。应用程序名称如下所示:   
  8. Microsoft  Access  97  -  Microsoft  Access  数据库  
  9. Microsoft  Access  2000/2002  -  Microsoft  Access  应用程序  
  10. Microsoft  Excel  97/2000/2002  -  Microsoft  Excel  应用程序  
  11. Microsoft  Word  97  -  Microsoft  Word  Basic  
  12. Microsoft  Word  2000/2002  -  Microsoft  Word  文档   
  13. 单击属性打开此应用程序的属性对话框。  
  14. 6.  单击安全选项卡。验证使用默认的访问权限和使用默认的启动权限已选中。   
  15. 7.  单击标识选项卡,然后选择交互式用户。   
  16. 8.  单击确定,关闭属性对话框并返回主应用程序列表对话框。   
  17. 9.  在  DCOM  配置对话框中,单击默认安全性选项卡。   
  18. 10.  单击访问权限的编辑默认值。验证访问权限中是否列出下列用户,如果没有列出,则添加这些用户:   
  19. SYSTEM  
  20. INTERACTIVE  
  21. Everyone  
  22. Administrators  
  23. IUSR_ <machinename> *  
  24. IWAM_ <machinename> *  
  25. *  这些帐户仅在计算机上安装了  Internet  Information  Server  (IIS)  的情况下才存在。   
  26. 11.  确保允许每个用户访问,然后单击确定。   
  27. 12.  单击启动权限的编辑默认值。验证启动权限中是否列出下列用户,如果没有列出,则添加这些用户:   
  28. SYSTEM  
  29. INTERACTIVE  
  30. Everyone  
  31. Administrators  
  32. IUSR_ <machinename> *  
  33. IWAM_ <machinename> *  
  34. *  这些帐户仅在计算机上安装有  IIS  的情况下才存在。   
  35. 13.  确保允许每个用户访问,然后单击确定。   
  36. 14.  单击确定关闭  DCOMCNFG。   
  37. 如果你之前起用了身份模拟  (在  web.config  中配置了  <identity  impersonate= "true "/>  )  ,需要删除之!   
  38. 15.更新安装office,把.net可编程组件安装到本机(excel组件)  
  39. 如果还是不行.干脃把交互式用户 换成"启动用户"  

加支付宝好友偷能量挖...


评论(0)网络
阅读(201)喜欢(0)Asp.Net/C#/WCF