Export (0) Print
Expand All

Installing and Registering Protocol Handlers

[Windows Search 2.x is obsolete after Windows XP. Instead, use Windows Search.]

Installing protocol handlers involves copying the DLL(s) to an appropriate location in the Program Files directory and registering them.

This section contains the following 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.

To Register Protocol Handlers

You need to make fourteen entries in the registry to register the protocol handler component, where:

  • Ver_Ind_ProgID is the version independent ProgID of the protocol handler implementation
  • Ver_Dep_ProgID is the version dependent ProgID of the protocol handler implementation
  • CLSID_1 is the CLSID of the protocol handler implementation
  1. Register the version independent ProgID with the following keys and values:

       (Default) = <Protocol Handler Class Description>

       (Default) = {CLSID_1}
       (Default) = <Ver_Dep_ProgID>
  2. Register the version dependent ProgID with the following keys and values:

       (Default) = <Protocol Handler Class Description>

       (Default) = {CLSID_1}
  3. Register the protocol handler's CLSID with the following keys and values:

       (Default) = <Protocol Handler Class Description>

       (Default) = <DLL Install Path>
       Threading Model = Both

       (Default) = <Ver_Dep_ProgID>

       Attributes = dword:a0180000

       (Default) = {LIBID of PH Component}

       (Default) = <Ver_Ind_ProgID>"
  4. Register the protocol handler with Windows Desktop Search:

       Protocol Name = <Ver_Dep_ProgID>

       Protocol Name = <Ver_Dep_ProgID>

    HKEY_CURRENT_USER\Software\Microsoft\Windows Desktop Search\DS\Index\ProtocolHandlers\<Protocol Name>
       HasRequirements = dword:00000000
       HasStartPage = dword:00000000

To Register Shell Extensions

You need to make two entries in the registry to register the protocol handler's Shell extension.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\{CLSID of PH Implementation}
   (Default) = <Shell Implementation Description>

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Extensions\Approved
   {CLSID of PH Implementation} = <Shell Implementation Description>



Community Additions

© 2015 Microsoft