Skip to content

Latest commit

 

History

History
55 lines (36 loc) · 2.24 KB

200910271036.txt.md

File metadata and controls

55 lines (36 loc) · 2.24 KB

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或相关微软补丁时很容易触发原始问题。