Automation 在服务器2012 R2中自动化MS Word
首先,请不要回复“不要在服务器上自动执行Word”的一般建议,也不要回复“如果确实必须,如何在服务器上自动执行Word”的MS网页链接。我知道这一点 我有一个作为Windows服务运行的进程,它使用.Net OLE互操作来自动化Office(主要是打开和另存为)。这段代码在数百台服务器上可靠地工作了8年,使用了多种Windows和Office版本的组合,包括32位和64位,因此我很高兴该机制是可靠的。到目前为止 对于Server 2012 R2,它可以与PowerPoint和Excel一起使用,但无法尝试打开word文档:Automation 在服务器2012 R2中自动化MS Word,automation,ms-word,ms-office,office-interop,Automation,Ms Word,Ms Office,Office Interop,首先,请不要回复“不要在服务器上自动执行Word”的一般建议,也不要回复“如果确实必须,如何在服务器上自动执行Word”的MS网页链接。我知道这一点 我有一个作为Windows服务运行的进程,它使用.Net OLE互操作来自动化Office(主要是打开和另存为)。这段代码在数百台服务器上可靠地工作了8年,使用了多种Windows和Office版本的组合,包括32位和64位,因此我很高兴该机制是可靠的。到目前为止 对于Server 2012 R2,它可以与PowerPoint和Excel一起使用,
System.Runtime.InteropServices.COMException (0x800A16A0):
The file appears to be corrupted.
at Microsoft.Office.Interop.Word.Documents.Open...
我迄今为止的观察结果可能与此相关,也可能与此无关:
- 在所有文档上都失败
- 在Windows8.1中运行良好
- 同样的问题在客户站点和我们的测试环境中都发生过,因此不太可能纯粹是环境问题
- 我的应用程序正在使用.NET3.5
- 代码是针对2003互操作程序集链接的(显然,程序集绑定重定向支持更高版本的office)
- 我们在office 2013中试用了32位和64位,结果相同,但没有试用早期版本的office
- 无论服务是以LocalSystem还是标准用户帐户运行,它都会失败
- 如果我们在前台运行服务进程(即双击可执行文件),问题就不会发生
对不起,我没有答案给你,但我想知道你并不孤单是件好事吧 我对MsOffice 2010(32位)和Windows Server 2012R2(64位)也有同样的问题。Word、Excel、Powerpoint不能与localAdmin一起使用 我创建了文件夹C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft\Windows\INetCac他和安迪一样,现在它工作得很好
谢谢安迪:)这里也有同样的问题,但现在已经完全解决了 我有一个Word 2013,它与Windows 2012 R2 Server一起运行,运行在一个服务进程中,无需启动交互式会话即可完成我想要的一切。我使用它将文档转换为PDF文件。在Windows服务中,我托管了一个WCF服务 创建文件夹:(根据您使用的
x86
或x64
位版本,将System32
替换为Syswow64
)
C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft\Windows\INetCac他
C:\Windows\System32\config\systemprofile\Desktop
最后也是最重要的一步强>
Start - run - dcomcnfg.exe
打开属性->组件服务-DCOM配置-Microsoft Word 97-2003文档(请注意,此处未提及版本,但这并不重要Office 2013将使用此版本作为DCOM配置)
打开标签标识。将运行配置为本地管理员帐户。我做了一些测试,Word 2013即使没有为用户启动交互会话,也能正常工作。感谢所有的帮助和贡献者。在创建INetCache文件夹之后,它对我来说很有用。我已经做了以下工作,以便在没有活动会话(WS2012 R2/MS Office 2013 64x)的情况下让一切正常工作:
对于某些计算机,您需要运行“mmc comexp.msc/32”来设置MS Word的DCOM设置。我发现,当只安装了32位版本的Word时,我们需要这样做 我的服务使用MS Word实现数据合并和连接功能。 我正在Windows Server 2012 R2上使用Word 2016。 我的日志显示Word已打开,但打开文档时抛出错误 我首先创建了所有建议的4个文件夹: C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft\Windows\INetCac他 C:\Windows\System32\config\systemprofile\Desktop C:\Windows\SysWOW64\config\systemprofile\AppData\Local\Microsoft\Windows\INetCac他 C:\Windows\SysWOW64\config\systemprofile\Desktop 只有在创建最后一个目录后,问题才得以解决 我没有使用DCOM配置;我的应用程序使用具有管理权限的用户帐户;不需要使用带有“与桌面交互”选项的LocalSystem帐户