1

これは基本的なタスクのように思えますが、何らかの理由で解決策を見つけることができません。

検索プロバイダーをプログラムで Internet Explorer にインストールするにはどうすればよいですか? インストーラーに NSIS を使用しています。

4

2 に答える 2

3

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 を指定するだけです。

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

幸運を!

于 2009-05-08T17:55:33.407 に答える
0

http://msdn.microsoft.com/en-us/library/cc849066(v=vs.85).aspxが IE8+ でサポートされている方法のようです。

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

于 2011-08-24T07:00:05.337 に答える