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

  1. 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
  2. Register the version dependent ProgID with the following keys and values:

    • HKEY_CLASSES_ROOT\<version dependent progID>

    • HKEY_CLASSES_ROOT\<version dependent progID>\CLSID

  3. 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

  4. 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