本文为大家分享一下如何解决Windows Server 2008 服务启动不能调用Office
Word的问题,分享这个教程的原因是,今天在Windows
server2008上部署一个应用时发现了一个问题,这是一个自己写的service,用来将office文档转换成pdf的,发现总是失败,追踪了发现进程管理器里word运行了,但是一直卡在那里,以为自己装的2010版本不对,卸了重装几次无效果,后来想到之前看到过打开word,word如果没激活或者未正常关闭会有对话框出现,导致卡死,试了下也不是这个问题,都能正常打开。
后来在网上搜索,发现别人有类似的问题。
经google之后了解到是因为Windows
Vista/2008改变了COM对象默认的交互方式为“非交互”型的。Console启动本身支持应用交互,但service模式下就不行了。所以需要修改word
DCOM默认的标识,改为“交互式用户”模式,即可正常调用了。
按照以下步骤修改后再测service模式下试转Word即可成功:
1) 运行命令: mmc comexp.msc -32
2) 找到:组建服务>计算机>我的电脑>DCOM组件(DCOM配置)>Microsoft Word 97-2003
文档;
3) 右键点击,选择属性,修改标识为“交互式用户”,点击“确定”;
参考文档:
1)Setting the Identity for an Application
2)Find Microsoft Word Application in DCOM
3) Jacob is not working when running as service on Windows Vista, Windows 7
and Windows 2008 server