【问题标题】:Install search provider [Internet Explorer]安装搜索提供程序 [Internet Explorer]
【发布时间】:2010-10-24 20:27:19
【问题描述】:

这似乎是一项基本任务,但由于某种原因我无法找到解决方案。

如何以编程方式在 Internet Explorer 中安装搜索提供程序?我正在为我的安装程序使用 NSIS。

【问题讨论】:

  • 既然你接受了我的回答,我想一切都顺利吗?

标签: internet-explorer search-engine nsis opensearch


【解决方案1】:

似乎没有任何官方记录的手动安装 Internet Explorer 搜索服务的方法。 official method 似乎正在实施

window.external.AddSearchProvider("URL")

当使用 IE 7+ 查看时,会提示用户安装搜索服务。

不过,经过一番探索,IE 8 似乎至少在以下位置安装了搜索服务(使用 NSIS 变量):

%LOCALAPPDATA%\Microsoft\Internet Explorer\Services\

查看该文件夹(在安装至少一项搜索服务之后)以查看结构。看起来您只需要一个 .ico 和(可能)一个 OpenSearch .xml 文件。您还需要一些注册表设置(如下所述)。

但是,对于简单的搜索(无自动建议),您似乎只需在注册表中设置搜索服务即可。注册表中搜索设置的位置是:

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

其中 {guid} 是标识搜索服务的 GUID。同样,只需检查其他搜索服务所做的事情,因为似乎没有任何官方文档用于此类事情。例如,Google 只需为其服务指定一个 URL,使用 URL 中的 OpenSearch 替换来实现魔术。

注意:由于显然没有这方面的公开文档,因此所有这些都可能在未来发生变化。如果您不使用官方方法(在浏览器中),您最终可能会支持多种不同的安装方法。

祝你好运!

【讨论】:

  • 回复您的评论:我还没有机会尝试,但是当我开始尝试时,您的信息肯定会有所帮助。当我尝试时,我会在这里发表评论。
  • @AndrewEnsley 你有什么最终解决方案吗?对于 IE 11?
【解决方案2】:

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文件调用相关函数。

【讨论】:

  • 如何在C#或PowerShell中使用openservice.h and openservice.idl
猜你喜欢
  • 2016-04-11
  • 1970-01-01
  • 1970-01-01
  • 2022-07-04
  • 1970-01-01
  • 1970-01-01
  • 2021-05-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多