我有一个控制台应用程序,它使用COM自动化来操作Word 2010中的.DOC和.DOCX文件。这适用于两台开发计算机上未登录用户帐户的计划任务(运行32位Windows Server 2003)但不在另一台机器上(运行64位Windows Server 2003)。如果在登录时由同一用户帐户从命令行运行,它会在该计算机上运行(因此我认为这不是32/64位问题)。
代码在尝试打开文档时挂起,而不是在创建Word应用程序时挂起。
我已以用户帐户登录并手动打开文件(所以我认为它不会弹出任何对话框)。
我认为这可能与自动更正有关,在查看校对选项时,注意到“自动使用拼写检查器中的更正”复选框显示为灰色。
我使用了进程监视器,但是找不到dev机器上的文件但是没有找到任何文件访问失败(Word似乎在很多地方寻找Normal.dot但是这个文件不在开发机器)。
我知道Microsoft不建议或不支持服务器上的Word自动化,并且可能超出许可条款。
我正在使用自动化,因为我需要操作旧版Word的文件。
这可能与我从非登录帐户进行自动化的其他问题有关:Why might COM automation from within a console application work on my development machine but not on another?但是,这种情况的不同之处在于打开文件时挂起而不是创建应用程序失败。
我还应该尝试什么?