1


1

これは基本的な作業のようですが、どういうわけか解決策が見つかりません。

Internet Explorerにプログラムで検索プロバイダーをインストールする方法を教えてください。 私はインストーラにNSISを使っています。

2 Answer


3


Internet Explorerの検索サービスを手動でインストールするための公式に文書化された方法はないようです。 公式な方法は実装されているようです

window.external.AddSearchProvider( "URL")

IE 7で表示すると、検索サービスをインストールするようにユーザーに促します。

ただし、少々慌ててみると、少なくともIE 8は次の場所に検索サービスをインストールしているようです(NSIS変数を使用)。

%LOCALAPPDATA%\ Microsoft \ Internet Explorer \ Services \

構造を確認するには、(少なくとも1つの検索サービスをインストールした後に)そのフォルダをチェックしてください。 .icoと(おそらく) OpenSearch .xmlファイルが必要なだけのようです。 また、いくつかのレジストリ設定も必要になります(後述)。

ただし、単純な検索(自動提案なし)では、レジストリに検索サービスを設定するだけで済むように見えます。 レジストリ内の検索設定の場所は次のとおりです。

HKEY_CURRENT_USER \ソフトウェア\ Microsoft \ Internet Explorer \ SearchScopes \ {guid}

ここで、\ {guid}は検索サービスを識別するGUIDです。 繰り返しますが、他の検索サービスが何をしているのかを調べてみてください。この種の公式文書はないようです。 たとえばGoogleは、魔法を実現するためにURLにOpenSearchの置換を使用して、サービスのURLを指定するだけです。

Note
これに関する公開文書は明らかにないので、これらすべてが将来変更される可能性があります。 (ブラウザで)正式な方法を使用しない場合は、複数の異なるインストール方法をサポートすることになりかねません。

がんばろう!


0


http://www.microsoft.com/download/en/details.aspx?id=22015からIE8 SDKをダウンロードし、openservice.hおよびopenservice.idlファイルを使用して関連する関数を呼び出します。