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



我正在创建一个使用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文档,我只找到了office Word 97-2003。

有谁能告诉我如何解决这个问题吗。

在这里找到答案:Office Automation 的DCOM故障

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

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

哪里会有麻烦?

用户必须有权访问桌面。如果Word是从ASP。NET,它可能没有这种访问权限。因此,请在dcomcnfg.exe中专门设置一个帐户。不要使用启动用户(它是IIS标识,没有自己的桌面),也不要使用交互式用户(只有在某些用户登录时才有效)。

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

  • 我创建了一个新用户(在用户组中),名为WordUser
  • 我在IIS中创建了一个具有WordUser权限的新应用程序池加载用户配置文件必须为true
  • DCOM:我已经设置为使用WordUser,在安全选项卡上,我添加了具有启动和激活权限访问权限的WordUser_

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

最新更新