検索プロバイダーのインストール[Internet Explorer]
-
20-08-2019 - |
質問
これは基本的なタスクのようですが、何らかの理由で解決策を見つけることができません。
Internet Explorerで検索プロバイダーをプログラムでインストールする方法を教えてください。インストーラーにNSISを使用しています。
解決
Internet Explorerの検索サービスを手動でインストールする公式に文書化された方法はないようです。 公式のメソッドは実装するようです
window.external.AddSearchProvider("URL")
IE 7+で表示すると、ユーザーに検索サービスのインストールを促すプロンプトが表示されます。
ただし、少し調べてみると、少なくともIE 8は次の場所に検索サービスをインストールしているようです(NSIS変数を使用):
%LOCALAPPDATA%\Microsoft\Internet Explorer\Services\
そのフォルダをチェックアウトして(少なくとも1つの検索サービスをインストールした後)、構造を確認します。 .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ファイルを使用して、関連する関数を呼び出します。