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

转自:http://blog.csdn.net/yiyiwyy326/archive/2007/04/30/1592657.aspx 
 
检索COM类工厂中CLSID为{000209FF-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误: 80070005
 
 
 
 
[C#]用C#动态生成Word文档之服务器配置Server 2003 收藏 
用C#动态生成Word文档功能实现了,在本地的机器运行时是好的,但安装到远程服务器上就报错了,让我头疼了好久,看了很多的信息后,现在才算是搞定了。 为了不忘记特意再此做下记录来!
程序安装到远程服务器上,首先报的错误代码就是80070005(检索COM类工厂中CLSID为{000209FF-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误: 80070005)
关于这个问题,MSDN上是这样说的
以交互式用户身份配置 Office
< type="text/javascript">loadTOCNode(3, 'moreinformation'); 要在交互式用户帐户下设置 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。 
15. 启动 REGEDIT,然后验证对于要自动运行的 Office 应用程序,是否存在下列注册表项和字符串值: 
Microsoft Access 2000/2002:
注册表项:HKEY_CLASSES_ROOT\AppID\MSACCESS.EXE
AppID:{73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9}
Microsoft Access 97:
注册表项:HKEY_CLASSES_ROOT\AppID\MSACCESS.EXE
AppID:{8CC49940-3146-11CF-97A1-00AA00424A9F}
Microsoft Excel 97/2000/2002:
注册表项:HKEY_CLASSES_ROOT\AppID\EXCEL.EXE
AppID:{00020812-0000-0000-C000-000000000046}
Microsoft Word 97/2000/2002:
注册表项:HKEY_CLASSES_ROOT\AppID\WINWORD.EXE
AppID:{00020906-0000-0000-C000-000000000046}

如果这些注册表项不存在,则可以通过在系统中运行以下 .reg 文件来创建它们: REGEDIT4
[HKEY_CLASSES_ROOT\AppID\WINWORD.EXE]
"AppID"="{00020906-0000-0000-C000-000000000046}"
[HKEY_CLASSES_ROOT\AppID\EXCEL.EXE]
"AppID"="{00020812-0000-0000-C000-000000000046}"
[HKEY_CLASSES_ROOT\AppID\MSACCESS.EXE]
"AppID"="{73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9}"
     注意:该示例 .reg 文件是针对 Access 2000 或 Access 2002 的。如果您使用的是 Access 97,请将 AppID 项更改为: "AppID"="{8CC49940-3146-11CF-97A1-00AA00424A9F}" 
16. 重新启动系统。这是必需的。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yiyiwyy326/archive/2007/04/30/1592657.aspx

posted on 2013-05-02 11:49  ——阿文  阅读(514)  评论(0编辑  收藏  举报

导航