Pregunta

Esto parece una tarea básica, pero no puedo encontrar una solución por alguna razón.

¿Cómo puedo instalar mediante programación un proveedor de búsqueda en Internet Explorer? Estoy usando NSIS para mi instalador.

¿Fue útil?

Solución

No parece haber ninguna forma oficialmente documentada de instalar manualmente un servicio de búsqueda de Internet Explorer. El método oficial parece ser implementar

window.external.AddSearchProvider("URL")

que, cuando se ve con IE 7+, solicitará al usuario que instale el servicio de búsqueda.

Sin embargo, con un poco de búsqueda, parece que IE 8, al menos, está instalando servicios de búsqueda en la siguiente ubicación (usando variables NSIS):

%LOCALAPPDATA%\Microsoft\Internet Explorer\Services\

Consulte esa carpeta (después de instalar al menos un servicio de búsqueda) para ver la estructura. Parece que solo necesita un archivo .ico y (posiblemente) un OpenSearch .xml. También necesitará algunas configuraciones de registro (descritas a continuación).

Sin embargo, para búsquedas simples (sin sugerencia automática) parece que puede salirse con la suya simplemente configurando su servicio de búsqueda en el registro. La ubicación de la configuración de búsqueda en el registro es:

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

donde {guid} es un GUID que identifica el servicio de búsqueda. Nuevamente, solo examine lo que han hecho otros servicios de búsqueda, ya que no parece haber ninguna documentación oficial para este tipo de cosas. Google, por ejemplo, solo especifica una URL para su servicio utilizando sustituciones OpenSearch en la URL para lograr la magia.

NOTA: dado que aparentemente no hay documentación pública sobre esto, es probable que todo esto pueda cambiar en el futuro. Si no utiliza el método oficial (en el navegador), podría terminar admitiendo múltiples métodos de instalación diferentes.

¡Buena suerte!

Otros consejos

http://msdn.microsoft.com /en-us/library/cc849066(v=vs.85).aspx ahora parece ser el método admitido para IE8 +

Descargue el SDK de IE8 desde http://www.microsoft.com /download/en/details.aspx?id=22015 y use los archivos openservice.h y openservice.idl para llamar a las funciones relevantes.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top