这似乎是一项基本任务,但由于某些原因我无法找到解决方案。
如何在Internet Explorer中以编程方式安装搜索提供程序?我正在使用NSIS作为我的安装程序。
答案 0 :(得分:3)
似乎没有任何官方记录的手动安装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。再次,只是检查其他搜索服务已经做了什么,因为似乎没有任何关于此类事情的官方文档。例如,谷歌只是在URL中使用OpenSearch替换为其服务指定了一个URL,以实现魔术。
注意:由于显然没有关于此的公开文档,所有这些都可能在将来发生变化。如果您不使用官方方法(在浏览器中),您最终可能会支持多种不同的安装方法。
祝你好运!答案 1 :(得分: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文件调用相关函数。