据我所知,目前 32 位的 Outlook 2016 会遇到这个问题,但该问题具体的影响范围不详,其他版本的 Outlook 客户端也有可能会受影响,但一定是 32 位的,64 位应该不会出问题。

问题的具体现象是,如果你尝试在 Outlook 中执行搜索,那么 Outlook 不会返回任何搜索结果。

此时如果你去事件查看器查看事件日志,那么你可能会看到大量的 3083 报错。

ID:       3083
Level:    Error
Source: Microsoft-Windows-Search
Message:  The protocol handler Mapi16 cannot be loaded. Error description: The specified module could not be found.  (HRESULT : 0x8007007e). 

要彻底解决这个问题,笔者建议你安装 64 位的 Outlook 客户端。但如果你有特殊的需求,例如你需要运行宏,而你需要运行的宏无法在 64 位 Office 客户端运行,以至于你必须使用 32 位的 Office 套件,那么你可以尝试以下的变通方案。

请尝试定位到以下注册表路径:

HKCU\Software\Classes\VirtualStore\MACHINE

然后删除该路径下的所有子项。

重启你的电脑,然后检查这个问题是否得以解决。

若执行过以上操作后,Outlook 客户端无法搜索到邮件内容的现象依然存在,那么则请接着执行以下动作:

定位到以下注册表路径:

HKLM\SOFTWARE\Policies\Microsoft\Windows\Windows Search

创建一个名为 PreventIndexingOutlook 的 DWORD (32位) 值,然后将它的数值数据改为 1。

以上这一动作的目的是防止 Windows 内建的搜索来索引 Outlook 中的内容。你可以把它理解成暂时停用 Outlook 使用 Windows 内建搜索来搜索内容的能力。

执行过以上动作后,重启电脑,然后检查问题是否得到解决。