我们有它运行2003服务器上的Windows服务。 它打开使用Word互操作性源的Word文档,然后做一些事情吧。 它还与Excel和PowerPoint文件也一样。
最近,我们已经试过移动本服务到Windows 2008 Server计算机,并与它有真正的问题。
收到COMException在Microsoft.Office.Interop.Excel.Workbooks.Open收到COMException在Microsoft.Office.Interop.Word.Documents.Open
我得到的上述异常时,Windows服务2008 Server上运行。 纵观任务管理器,应用程序不会加载行,但随后不久后再次关闭。
我读过的东西有关Vista和Server 2008中没有一个Session0了,并试图改变相应的办公室DCOM安全特性,包括改变它们运行的集成,但无济于事用户的身份。
有谁知道这是否可能呢? 这是我们系统的一个基本方面,所以我们需要能够做到这一点。
谢谢
我已经在Windows Server 2008的办公室自动化从Windows服务,即使是工作在Windows Server 2003中的问题也发生在Open调用罚款的问题,所以它可能是同样的问题。
我试图在之后由H小川提出的意见, 这个MSDN线程 ,它似乎工作。 这是奇怪的,但荣誉给小川先生发现它。
在“小川哈克”的摘要:创建一个桌面文件夹的系统配置文件,如:
C:\Windows\System32\config\systemprofile\Desktop
并且 ,如果在64位机器上运行,创建另一个 ,如:
C:\Windows\SysWOW64\config\systemprofile\Desktop
此外,该文件夹(S)需要为任何用户“驾驶”办公室写权限。
[编辑:修正链接URL]
[编辑2:澄清说,64位Windows,你需要两个文件夹,而不仅仅是一个WOW64]
如果您使用的是Apache,你可能还需要按照以下步骤获得MS Word中正常工作(以及在其他的答案中概述的所有内容):
下面是一个显示你需要调出两个对话框的截图:
对于Apache:
服务 - > Apache->右键单击(属性) - >登录选项卡
微软Word:
启动dcomcnfg.exe->控制台根 - >组件服务 - > Computers->我的电脑> DCOM Config->查找微软应用程序 - >右键单击(属性) - >身份标签
**如果你不能找到微软的Word,确保根据您所安装的Office版本您正在启动正确的DCOM配置(64位VS 32位)。
有两个选项在这里,你可以设置Apache来使用本地系统帐户 ,并检查复选框允许桌面交互。 如果你这样做,那么你需要设置为交互式用户 身份的MS Word。
否则,你需要在两个设置为相同的用户(理想情况下已登录用户),如图片所示。
那么,你将需要运行“MMC -32”(命令提示符)推出32位MMC,然后添加组件服务(文件>添加/删除管理单元菜单)
然后按照下列指示之一:
http://theether.net/download/Microsoft/kb/288366.html
这也发生在Vista上启用UAC。 你可能想尝试设置DCOM身份是管理员帐户,并再次测试。
我最近也开始有上XP盒试图通过互操作服务,以打开Excel工作簿这个问题,但还没有找到一个解决办法。 我自己想任何其他见解社会可能扔在那里......