Установить поисковик [Internet Explorer]
Это кажется основной задачей, но я не могу найти решение по какой-то причине.
Как программно установить поисковую систему в Internet Explorer? Я использую NSIS для моего установщика.
2 ответа
Похоже, не существует официально документированного способа вручную установить службу поиска Internet Explorer. Официальный метод заключается в реализации
window.external.AddSearchProvider("URL")
который при просмотре с IE 7+ предложит пользователю установить службу поиска.
Однако, немного возни, кажется, что IE 8, по крайней мере, устанавливает службы поиска в следующем месте (используя переменные NSIS):
%LOCALAPPDATA%\Microsoft\Internet Explorer\Services\
Проверьте эту папку (после установки хотя бы одной службы поиска), чтобы увидеть структуру. Похоже, вам просто нужен.ico и (возможно) файл OpenSearch.xml. Вам также понадобятся некоторые настройки реестра (описанные ниже).
Тем не менее, для простых поисков (без самовнушения) похоже, что вы можете просто настроить свою службу поиска в реестре. Расположение параметров поиска в реестре:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchScopes\{guid}
где {guid} - это GUID, идентифицирующий службу поиска. Опять же, просто изучите, что сделали другие поисковые службы, поскольку официальной документации для такого рода вещей не существует. Google, например, просто указывает URL-адрес своей службы, используя замены OpenSearch в URL-адресе, чтобы достичь цели.
ПРИМЕЧАНИЕ: поскольку, по-видимому, нет общедоступной документации по этому вопросу, вполне вероятно, что все это может измениться в будущем. Если вы не используете официальный метод (в браузере), вы можете в конечном итоге поддерживать несколько различных методов установки.
Удачи!
http://msdn.microsoft.com/en-us/library/cc849066(v=vs.85).aspx теперь представляется поддерживаемым методом для IE8+
Загрузите IE8 SDK с http://www.microsoft.com/download/en/details.aspx?id=22015 и используйте файлы openservice.h и openservice.idl для вызова соответствующих функций.