当我将用户从 Office 2007/Vista 迁移到 Office 2010/Windows 7(全部 32 位)时,我遇到了一个奇怪的行为。他们使用名为 NetDocuments 的基于 Web 的文档管理系统,该系统存储所有 .doc/.docx 文件。通常,当他们从浏览器窗口中单击文档时,它会启动 Word 并打开该文档。Word 中还有一个来自 NetDocs 的插件,因此它可以将更改后的文档直接上传回 NetDocs 服务器。当 Word 崩溃时,我会接到一个电话,每次它崩溃时,我都会看到多个 winword.exe 进程在任务管理器中运行。我用 Process Explorer 查看是什么创建了进程,都是 Internet Explorer。
到目前为止,我已经将它们回滚到 IE8,并且问题发生的频率降低了,但它仍然会发生。当我尝试重现该问题时,如果我非常快速地打开多个文档,有时会发生这种情况。使用闪电般快速的 alt-tab 反应,我确实看到当用户单击文档时创建了第二个 WinWord 进程,然后在打开文档后关闭。我认为正在发生的事情是执行某种 NetDocs 巫术的辅助 WinWord 进程被卡在打开状态。
这种行为是 Word 2010 / Windows 7 的新行为,谷歌搜索也没有太多结果。我看到一些帖子说在某些情况下这是一个已知问题并且没有“修复”,但我认为最好就此问题询问其他人。也许有某种 reg-hack 会有所帮助?
我不相信有解决办法。当涉及到 Word COM api 时,这个问题似乎在很多情况下都会发生。
我还没有看到这个问题导致不稳定。它可以使附加到 Word 的应用程序变得有趣,因为有多个实例,并且一个实例可能会被孤立。
解决方案(如果有的话)几乎肯定在 Netdocs 中。