Problem
=========

Windows 2003/Event 3083 window search Mapi2Handler.1 cannot be loaded
EventID:3083
Category: Gatherer
Description:The protocol handler Search.Mapi2Handler.1 cannot be loaded. Error
description: Class not registered
Desktop Search Version 4

Analyze
========

The background on this issue is that there are two processes that can index on 64-bit machines. One process is 64-bit and can load 64-bit protocol handlers and the other is a 32-bit process, which can load 32-bit protocol handlers. In this case, since mapi (which is used to index outlook email) is 32-bit only when the 64-bit protocol handler process starts it tries to load the 64-bit version of the non-existent mapi protocol handler. It should call into the WOW64-32 layer to determine that this handler is correctly registered in the other CLSID hive and not display the error. For some reason this check is not passing most likely due to some incompatible vista only flag we are using when calling to WOW64.32 bit applications use [HKEY_CLASSES_ROOT\Wow6432Node\CLSID64 bit applications use [HKEY_CLASSES_ROOT\CLSID


Solution
=======

Remove Windows Desktop Search or add the following registry entry

=====
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\CLSID\{9E175BAF-F52A-11D8-B9A5-505054503030}]
@="Windows Search Service Office Outlook Protocol Handler"
[HKEY_CLASSES_ROOT\CLSID\{9E175BAF-F52A-11D8-B9A5-505054503030}\InprocServer32]
@=hex(2):25,00,73,00,79,00,73,00,74,00,65,00,6d,00,72,00,6f,00,6f,00,74,00,25,\
  00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,6d,00,73,00,\
  73,00,70,00,68,00,2e,00,64,00,6c,00,6c,00,00,00
"ThreadingModel"="Both"
[HKEY_CLASSES_ROOT\CLSID\{9E175BAF-F52A-11D8-B9A5-505054503030}\ProgID]
@="Search.MAPI2Handler.1"
[HKEY_CLASSES_ROOT\CLSID\{9E175BAF-F52A-11D8-B9A5-505054503030}\VersionIndependentProgID]
@="Search.MAPI2Handler"
=====