由于项目中要用到word自动化,我编写了一个程序,用到了word自动化的功能。
我把它编成一个winForm程序,程序正常,能够在后台自动产生word文件。
但把它写成window service程序后,word自动化时有问题。
我配置了word的DCOM设置,
运行--dcomcnfg --microsoft word--安全:我都加上了everyone的权限。
运行--dcomcnfg --microsoft word--标识:如果我选交互用户。就不会出现以上错误,但问题是如果是这样就必须要求服务器是已经登录的,如果没有登录,运行我写的window service会出现找不到用户名和密码的错误。
我想选特定的用户运行,并且填上了administror用户和密码,就会出现错误。
查看应用程序日志,发现以下两个错误:
Rejected Safe Mode action : Microsoft Office Word
Faulting application winword.exe, version 11.0.6568.0, stamp 42e178a5, faulting module mso.dll, version 11.0.6568.0, stamp 42e18ef6, debug? 0, fault address 0x0003446c.
因为我的程序要求在服务器启动后没有登录的情况下也要运行,所以我只能用这个选项。
不知有没有遇到个这个问题的朋友,请指点一下原因。