Installing and Registering Protocol Handlers
Installing protocol handlers involves copying the DLL(s) to an appropriate location in the Program Files directory and registering them. The installation application can also add a search root and scope rules to define a default crawl scope for the data store.
This section contains the following topics:
- Installation Guidelines
- To Register Protocol Handlers
- Vista-specific Registration for DocumentType Property
- Related Topics
Installation Guidelines
Protocol handlers should implement self-registration for installation and should follow these guidelines:
- The installer must use either EXE or MSI installer.
- Release notes must be provided.
- An Add/Remove Programs entry must be created for each add-in installed.
- The installer must take over all registry settings for the particular file type or store that the current add-in understands.
- If a previous add-in is being overwritten, the installer should notify the user.
- If a newer add-in has overwritten the previous add-in, there should be the ability to restore the previous add-in's functionality and make it the default add-in for that file type again.
- The installer should define a default crawl scope for the Indexer by adding a search root and scope rules using the Crawl Scope Manager.
To Register Protocol Handlers
Register the version independent ProgID with the following keys and values:
HKEY_CLASSES_ROOT\<Version independent progID>
HKEY_CLASSES_ROOT\<Version independent progID>\CLSID
- HKEY_CLASSES_ROOT\<Version independent progID>\CurVer
Register the version dependent ProgID with the following keys and values:
HKEY_CLASSES_ROOT\<version dependent progID>
HKEY_CLASSES_ROOT\<version dependent progID>\CLSID
Register the protocol handler's CLSID with the following keys and values:
HKEY_CLASSES_ROOT\CLSID\{<protocol handler's CLSID>}
HKEY_CLASSES_ROOT\CLSID\{<protocol handler's CLSID>}\InprocServer32
HKEY_CLASSES_ROOT\CLSID\{<protocol handler's CLSID>}\ProgID
HKEY_CLASSES_ROOT\CLSID\{<protocol handler's CLSID>}\TypeLib
HKEY_CLASSES_ROOT\CLSID\{<protocol handler's CLSID>}\VersionIndependentProgID
Register the protocol and the protocol handler with Windows Search. In the following example, <Protocol> is the name of the protocol itself (file, mapi, and so on).
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Search\ProtocolHandlers
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Search\Gather\Windows\SystemIndex\Protocols\<Protocol>
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Search\Gather\Windows\SystemIndex\Protocols\<Protocol>\0
Vista-specific Registration for DocumentType Property
With Microsoft Windows Vista, you need to make additional registry entries for each DocumentType property your new data store supports. The entry looks like the following example:
- HKEY_CLASSES_ROOT\<application>\<document type>
The following in an example of a few entries for a Lotus Notes protocol handler, to associate specific Notes items with the Mail, Meeting, and Document DocumentType properties.
HKEY_CLASSES_ROOT\NOTES\Mail
HKEY_CLASSES_ROOT\NOTES\Meeting
HKEY_CLASSES_ROOT\NOTES\Document