Frage

Dies scheint eine grundlegende Aufgabe, aber ich bin nicht in der Lage, eine Lösung aus irgendeinem Grunde zu finden.

Wie kann ich programmatisch einen Suchanbieter in Internet Explorer installieren? Ich verwende NSIS für meinen Installer.

War es hilfreich?

Lösung

Es scheint nicht offiziell dokumentiert Weg, um manuell einen Internet Explorer-Suchdienst zu installieren. Die offizielle Methode

window.external.AddSearchProvider("URL")

, die, wenn sie mit IE 7+ betrachtet, wird der Benutzer aufgefordert, den Suchdienst zu installieren.

Doch mit einem wenig stochern, wie es scheint, dass der IE 8, zumindest wird in der folgenden Position Suchdienst Installation (mit NSIS Variablen):

%LOCALAPPDATA%\Microsoft\Internet Explorer\Services\

Schauen Sie sich diesen Ordner (nach mindestens einem Suchdienst zu installieren), um die Struktur zu sehen. Es sieht aus wie Sie gerade eine ICO und (möglicherweise) eine OpenSearch- .xml-Datei. Sie werden auch einige Registry-Einstellungen benötigen (wie unten beschrieben).

Doch für einfache Suchen (keine Autosuggestion) sieht es aus wie Sie mit nur Einrichten wegkommen können Ihren Suchdienst in der Registrierung. Die Lage der Sucheinstellungen in der Registrierung ist:

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

where {guid} eine GUID identifiziert den Suchdienst. Auch hier untersuchen, was andere Suchdienste getan haben, da es keine offizielle Dokumentation für diese Art der Sache zu sein scheint. Google zum Beispiel gibt nur eine URL für ihren Dienst OpenSearch- Substitutionen in der URL mit der Magie zu erreichen.

Hinweis: Da es offenbar keine öffentliche Dokumentation zu diesem Thema ist, ist es wahrscheinlich, dass all dies in Zukunft ändern könnte. Wenn Sie nicht die offizielle Methode verwenden (im Browser) Sie können mehrere verschiedene installieren Methoden am Ende unterstützen.

Viel Glück!

Andere Tipps

http://msdn.microsoft.com /en-us/library/cc849066(v=vs.85).aspx erscheint nun die unterstützte Methode für IE8 +

zu sein

Laden Sie die IE8 SDK von http://www.microsoft.com /download/en/details.aspx?id=22015 und verwenden Sie die openservice.h und openservice.idl Dateien die entsprechenden Funktionen aufrufen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top