Установка и регистрация обработчиков протоколов (устаревшие функции среды 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 реализации обработчика протокола.
Зарегистрируйте независимый от версии 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>
Зарегистрируйте идентификатор ProgID, зависящий от версии, с помощью следующих ключей и значений:
HKEY_CLASSES_ROOT\<Ver_Dep_ProgID> (Default) = <Protocol Handler Class Description>
HKEY_CLASSES_ROOT\<Ver_Dep_ProgID>/CLSID (Default) = {CLSID_1}
Зарегистрируйте 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>"
Зарегистрируйте обработчик протокола в поиске компьютеров 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>