在DCOM配置中找不到Microsoft Word文档

时间:2012-09-06 12:22:40

标签: c# asp.net ms-word ms-office dcom

我正在创建一个使用office 2007/2010自动化的简单asp.net网站..当我在本地机器(窗口7)上的iis 7上发布网站时有异常

 Retrieving the COM class factory for component with CLSID 
 {000209FF-0000-0000-C000-000000000046} failed due to the following error: 
 80080005 Server execution failed (Exception from HRESULT: 0x80080005 
 (CO_E_SERVER_EXEC_FAILURE)).

我搜索了这个异常,我发现我必须在DCOM配置中为office设置一些权限。

我已经打开了组件服务并打开了DCOM配置,但是我还没有找到Microsoft Word Document,我发现只有办公室字97 - 2003。

任何人都可以告诉我如何解决这个问题。

2 个答案:

答案 0 :(得分:16)

在这里找到答案:DCOM Failure of Office Automation

如果您运行的是具有32位Office的64位服务器,则可能无法找到此DCOM设置。您需要从命令提示符运行“MMC -32”以启动32位MMC,然后从“文件>”中添加“组件服务”。添加/删除管理单元菜单。

答案 1 :(得分:6)

是的, office word 97 - 2003 是DCOM文档(相应应用程序)Word 2007或2010的正确名称。不要问我为什么......

哪里可能有麻烦?

用户必须能够访问桌面。如果从ASP.NET调用Word,则可能不具有此访问权限。因此,请在 dcomcnfg.exe 中明确设置帐户。不要使用启动用户(它是一个IIS身份,它没有自己的桌面),也不要使用交互式用户(只有在某些情况下才有效)用户已登录。)

在我的解决方案中,我设置了:

  • 我创建了一个名为WordUser
  • 的新用户(在用户组中)
  • 我在IIS中使用WordUser权限创建了新的应用程序池; 加载用户个人资料必须 true
  • DCOM我已经设置使用WordUser,在安全标签上我添加了WordUser机智启动和激活权限访问权限

也许另一种方式是可能的,但这应该有效。