通过Windows服务Server 2008上办公自动化通过Windows服务Server 2008

2019-05-13 11:19发布

我们有它运行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安全特性,包括改变它们运行的​​集成,但无济于事用户的身份。

有谁知道这是否可能呢? 这是我们系统的一个基本方面,所以我们需要能够做到这一点。

谢谢

Answer 1:

我已经在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]



Answer 2:

如果您使用的是Apache,你可能还需要按照以下步骤获得MS Word中正常工作(以及在其他的答案中概述的所有内容):

下面是一个显示你需要调出两个对话框的截图:

对于Apache:

服务 - > Apache->右键单击(属性) - >登录选项卡

微软Word:

启动dcomcnfg.exe->控制台根 - >组件服务 - > Computers->我的电脑> DCOM Config->查找微软应用程序 - >右键单击(属性) - >身份标签

**如果你不能找到微软的Word,确保根据您所安装的Office版本您正在启动正确的DCOM配置(64位VS 32位)。

有两个选项在这里,你可以设置Apache来使用本地系统帐户 ,并检查复选框允许桌面交互。 如果你这样做,那么你需要设置为交互式用户 身份的MS Word。

否则,你需要在两个设置为相同的用户(理想情况下已登录用户),如图片所示。



Answer 3:

那么,你将需要运行“MMC -32”(命令提示符)推出32位MMC,然后添加组件服务(文件>添加/删除管理单元菜单)

然后按照下列指示之一:

http://theether.net/download/Microsoft/kb/288366.html



Answer 4:

这也发生在Vista上启用UAC。 你可能想尝试设置DCOM身份是管理员帐户,并再次测试。

我最近也开始有上XP盒试图通过互操作服务,以打开Excel工作簿这个问题,但还没有找到一个解决办法。 我自己想任何其他见解社会可能扔在那里......



文章来源: Automating Office via Windows Service on Server 2008