6.36 Word 2007总是显示"文档恢复"
http://scz.617.cn/windows/200910271036.txt
Q:
某次编辑A.doc时Word 2007发生崩溃,之后打开完全不相干的B.doc、C.doc等均会出 现"文档恢复"的提示,无论按这个提示做什么操作(包括但不限于删除、修复、另存 为),下次打开B.doc、C.doc等时仍会出现"文档恢复"的提示。
尝试过删除如下文件:
%appdata%\Microsoft\Templates\normal.dotm %appdata%\Microsoft\Word* %homepath%\Local Settings\Temporary Internet Files\Content.Word*
尝试过搜索如下文件并删除之:
*.asd .wbk ~wra.bak ~$A.doc
尝试过在注册表中搜索包含A.doc的条目,未果。这个"文档恢复"的信息来源究竟在 哪里?顺便说一句,外在表现是每打开B.doc或C.doc两次,其中一次会显示"文档恢 复",很诡异。
A:
用procmon.exe监视winword.exe,发现一些有趣的注册表项:
HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Word\Resiliency\DocumentRecovery HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Office\12.0\Word\Resiliency\DocumentRecovery
这些位置有一些类型为REG_BINARY的键值,比如下面的B1A011A(该值不固定):
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Office\12.0\Word\Resiliency\DocumentRecovery] "TermSrvCopyKeyOnce"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Office\12.0\Word\Resiliency\DocumentRecovery\B1A011A] "B1A011A"=hex:... ... "TermSrvCopyKeyOnce"=dword:00000001
B1A011A处的键值数据包含了Unicode形式的A.doc,难怪在regedit中简单搜索不到。
删除如下子键即可解决原始问题:
HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Word\Resiliency HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Office\12.0\Word\Resiliency
注意,在远程终端中安装Office或相关微软补丁时很容易触发原始问题。