Поделиться через


Установка и регистрация обработчиков протоколов (устаревшие функции среды Windows)

Примечание

Windows Desktop Search 2.x — это устаревшая технология, которая изначально была доступна в качестве надстройки для Windows XP и Windows Server 2003. В более поздних выпусках используйте Windows Search .

Установка обработчиков протокола включает копирование библиотек DLL в соответствующее расположение в каталоге Program Files и их регистрацию.

В этом разделе рассматриваются следующие вопросы.

Рекомендации по установке

Обработчики протоколов должны реализовать самостоятельную регистрацию для установки и следовать следующим рекомендациям:

  • Установщик должен использовать установщик EXE или MSI.
  • Необходимо предоставить заметки о выпуске.
  • Для каждой установленной надстройки необходимо создать запись "Установка и удаление программ ".
  • Установщик должен взять на себя все параметры реестра для определенного типа файлов или хранилища, которые понимает текущая надстройка.
  • Если предыдущая надстройка перезаписывается, установщик должен уведомить пользователя.
  • Если более новая надстройка перезаписала предыдущую надстройку, должна быть возможность восстановить функциональность предыдущей надстройки и снова сделать ее надстройкой по умолчанию для этого типа файлов.

Регистрация обработчиков протокола

Чтобы зарегистрировать компонент обработчика протокола, необходимо внести в реестр четырнадцать записей, где:

  • Ver_Ind_ProgID — это независимый от версии Идентификатор ProgID реализации обработчика протокола.
  • Ver_Dep_ProgID — это зависящий от версии ProgID реализации обработчика протокола.
  • CLSID_1 — это ИДЕНТИФИКАТОР CLSID реализации обработчика протокола.
  1. Зарегистрируйте независимый от версии ProgID со следующими ключами и значениями:

    HKEY_CLASSES_ROOT\<Ver_Ind_ProgID>
       (Default) = <Protocol Handler Class Description>
    
    HKEY_CLASSES_ROOT\<Ver_Ind_ProgID>/CLSID
       (Default) = {CLSID_1}
    
    HKEY_CLASSES_ROOT\<Ver_Ind_ProgID>/CurVer
       (Default) = <Ver_Dep_ProgID>
    
  2. Зарегистрируйте идентификатор ProgID, зависящий от версии, с помощью следующих ключей и значений:

    HKEY_CLASSES_ROOT\<Ver_Dep_ProgID>
       (Default) = <Protocol Handler Class Description>
    
    HKEY_CLASSES_ROOT\<Ver_Dep_ProgID>/CLSID
       (Default) = {CLSID_1}
    
  3. Зарегистрируйте CLSID обработчика протокола со следующими ключами и значениями:

    HKEY_CLASSES_ROOT\{CLSID_1}
       (Default) = <Protocol Handler Class Description>
    
    HKEY_CLASSES_ROOT\{CLSID_1}/InprocServer32
       (Default) = <DLL Install Path>
       Threading Model = Both
    
    HKEY_CLASSES_ROOT\{CLSID_1}/ProgID
       (Default) = <Ver_Dep_ProgID>
    
    HKEY_CLASSES_ROOT\{CLSID_1}/ShellFolder
       Attributes = dword:a0180000
    
    HKEY_CLASSES_ROOT\{CLSID_1}/TypeLib
       (Default) = {LIBID of PH Component}
    
    HKEY_CLASSES_ROOT\{CLSID_1}/VersionIndependentProgID
       (Default) = <Ver_Ind_ProgID>"
    
  4. Зарегистрируйте обработчик протокола в поиске компьютеров Windows:

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

Регистрация расширений оболочки

Чтобы зарегистрировать расширение оболочки обработчика протокола, необходимо внести в реестр две записи.

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>