Question

Cela semble être une tâche élémentaire, mais je ne parviens pas à trouver de solution pour une raison quelconque.

Comment installer par programme un moteur de recherche dans Internet Explorer? J'utilise NSIS pour mon installateur.

Était-ce utile?

La solution

Il ne semble exister aucun moyen officiellement documenté d'installer manuellement un service de recherche Internet Explorer. La méthode officielle semble être pour mettre en œuvre

window.external.AddSearchProvider("URL")

qui, lorsqu'il est visualisé avec IE 7+, invitera l'utilisateur à installer le service de recherche.

Cependant, en fouillant un peu, il semble que IE 8, du moins, installe des services de recherche à l'emplacement suivant (à l'aide de variables NSIS):

%LOCALAPPDATA%\Microsoft\Internet Explorer\Services\

Consultez ce dossier (après avoir installé au moins un service de recherche) pour voir la structure. Il semble que vous ayez simplement besoin d’un fichier .ico et (éventuellement) d’un fichier OpenSearch .xml. Vous aurez également besoin de certains paramètres de registre (décrits ci-dessous).

Toutefois, pour les recherches simples (sans suggestion automatique), il semble que vous puissiez vous en tirer en configurant simplement votre service de recherche dans le registre. L'emplacement des paramètres de recherche dans le registre est:

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchScopes\{guid}

où {guid} est un GUID identifiant le service de recherche. Encore une fois, il suffit d’examiner ce que les autres services de recherche ont fait, car il ne semble pas exister de documentation officielle pour ce genre de chose. Google, par exemple, spécifie simplement une URL pour son service en utilisant des substitutions OpenSearch dans l’URL pour réaliser la magie.

REMARQUE: comme il n’ya apparemment aucune documentation publique à ce sujet, il est probable que tout cela changera à l’avenir. Si vous n'utilisez pas la méthode officielle (dans le navigateur), vous risquez éventuellement de prendre en charge plusieurs méthodes d'installation différentes.

Bonne chance!

Autres conseils

http://msdn.microsoft.com /en-us/library/cc849066(v=vs.85).aspx semble maintenant être la méthode prise en charge pour IE8 +

Téléchargez le SDK IE8 à partir de http://www.microsoft.com /download/en/details.aspx?id=22015 et utilisez les fichiers openservice.h et openservice.idl pour appeler les fonctions correspondantes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top