Word自动化服务器端无法工作

本文关键字:工作 服务器端 自动化 Word | 更新日期: 2023-09-27 18:10:39

前言:是的,我知道微软不建议这样做。但是,这个服务器在一个严格限制的VLAN中是面向内部的。

目标是自动生成我无法使用Office XML正确格式化的特定类型的报表。微软不建议这样做的原因之一是用户帐户必须是交互式的(即不是asp.net)。因此,如果我将应用程序池标识设置为以用户身份运行,我将不再得到COM错误,但使用以下测试代码仍然无法打开Word:

//Just checking if Word can be accessed
Word.Application app = new Word.Application();
app.Visible = true;

我没有得到任何错误,但是Word打不开。当我在使用Visual Studio调试的开发机器上使用它时,这是有效的,但是在部署的测试机器上,我什么也得不到。如有任何建议,不胜感激。

Word自动化服务器端无法工作

即使应用程序池在用户帐户下运行,也不意味着它是交互式的,可以访问您的桌面。您可以检查正在运行的进程列表,以确定是否有Word。

正如你已经知道的:Office互操作/自动化在"类服务器场景"中是不被MS支持的。. NET是一种特殊的…看到KB257757

您的选项包括几个库(免费和商业)-例如:

  • MS OpenXML SDK(免费)
  • Aspose。单词(商业)

自从Windows Vista引入了几个变化来阻止任何Windows服务(IIS只是一些特殊的)做任何"桌面"-这是由于安全问题…要解决这种情况,你需要绕过微软实施的那些安全措施——我绝对不建议这样做……