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

Abd*_*ish 10 c# asp.net dcom ms-word ms-office

我正在创建一个使用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)).
Run Code Online (Sandbox Code Playgroud)

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

我已经打开组件服务,打开DCOM配置,但我还没有找到Microsoft Word文档我只找到办公室字97 - 2003.

谁能告诉我如何解决这个问题.

bfh*_*fhd 19

在这里找到答案:DCOM Office Automation失败

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


Rom*_*hke 7

是的,办公室字97 - 2003是DCOM文件(相应应用)Word 2007或2010的正确名称.不要问我为什么......

哪里可能有麻烦?

用户必须能够访问桌面.如果从ASP.NET调用Word,则可能不具有此访问权限.因此,在dcomcnfg.exe中明确设置一个帐户.不要使用启动用户(它是IIS标识,它没有自己的桌面)并且不使用交互式用户(仅当某些用户登录时才有效).

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

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

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