我使用的应用程序与Microsoft的ReportBuilder 3.0(SQL Server Reporting Services的一部分)集成.ReportBuilder是Microsoft ClickOnce应用程序。我们官方支持的浏览器是Firefox,Chrome和某些版本的IE。
Microsoft提供官方Firefox插件(Microsoft .NET Framework Assistant),但Chrome没有提供任何内容。直到最近,我们才指示用户安装您可以在此处看到的开源扩展程序:https://github.com/rajkosto/ChromeClickOnce
此扩展程序已从Chrome网上应用店中删除,我的理解是Chrome正在从浏览器中删除所有NPAPI功能。我们的用户在Chrome中使用我们的产品时无法再使用ReportBuilder,这对我们来说是个大问题。
有没有办法让ClickOnce再次在Chrome中运行?我们不能成为唯一遭受这个问题的人。感谢您提供的任何建议。
答案 0 :(得分:5)
我花了几个小时研究这个并提出了以下解决方案。我警告你,这至多是hacky。
创建一个在客户端计算机上创建URI Scheme的注册表文件: http://msdn.microsoft.com/en-us/library/ie/aa767914(v=vs.85).aspx
对于您执行的程序,您可以使用剥离Scheme的自定义exe(在我的情况下,我称之为ReportBuilder,链接看起来像<a href="ReportBuilder:http://...">test</a>
)或者我使用了批处理文件(见下文)然后使用url调用Internet Explorer:
set str=%1
set str=%str:ReportBuilder:=%
"C:\Program Files\Internet Explorer\iexplore.exe" %str%
因此,最终当链接被点击时,它会调用此批处理文件,该批处理文件会调用Internet Explorer,从而打开ClickOnce应用程序的链接。
到目前为止,这是我能够让它发挥作用的唯一方法。我尝试过使用两个不同的ClickOnce扩展程序,这两个扩展程序都不再有效。我也尝试过使用IE标签,但这也无效。
希望这有助于某人。
答案 1 :(得分:2)
我使用IETab扩展程序(http://www.ietab.net/)来查看chrome以将Clickonce视为IE。
答案 2 :(得分:2)
一家名为Meta4的公司在Chrome网上应用店中出现了一个新的ClickOnce扩展程序。
要求您下载并运行可执行文件。否则效果很好!在Chrome 38上测试过,一切都很好。
答案 3 :(得分:1)
很少的方式(仅限企业安装,仅限32位),无论如何它都会消失。不值得努力。
是的,虽然需要完全重写。您已将Native Messaging替换为NPAPI。
基本的想法是拥有一个“代理”原生应用程序,在本术语中称为本机主机,Chrome可以启动,并且可以代表您与[Native app]进行通信。 Chrome只会通过JSON编码的邮件中的标准输入/输出进行通信,但您的代理可以通过任何方式与原始应用进行交互。
有关详细信息,请参阅the docs和chrome-native-messaging