.net Chrome现在不支持NPAPI,请单击一次?

.net Chrome现在不支持NPAPI,请单击一次?,.net,google-chrome,google-chrome-extension,clickonce,chrome-native-messaging,.net,Google Chrome,Google Chrome Extension,Clickonce,Chrome Native Messaging,我使用的应用程序与Microsoft的ReportBuilder 3.0(SQL Server Reporting Services的一部分)集成。ReportBuilder是一个Microsoft ClickOnce应用程序。我们官方支持的浏览器有Firefox、Chrome和某些IE版本 微软提供了一个官方的Firefox插件(微软.NETFramework助手),但没有为Chrome提供任何插件。直到最近,我们还指示用户安装您可以在此处看到的开源扩展: 该扩展已经从Chrome网络商店中删

我使用的应用程序与Microsoft的ReportBuilder 3.0(SQL Server Reporting Services的一部分)集成。ReportBuilder是一个Microsoft ClickOnce应用程序。我们官方支持的浏览器有Firefox、Chrome和某些IE版本

微软提供了一个官方的Firefox插件(微软.NETFramework助手),但没有为Chrome提供任何插件。直到最近,我们还指示用户安装您可以在此处看到的开源扩展:

该扩展已经从Chrome网络商店中删除,我的理解是Chrome正在从浏览器中删除所有NPAPI功能。我们的用户在Chrome中使用我们的产品时不能再使用ReportBuilder,这对我们来说是一个大问题

有没有办法让ClickOnce再次在Chrome中工作?我们不可能是唯一遭受这个问题的人。感谢您提供的建议。

有没有办法让NPAPI重新工作? 方法很少(仅限企业级安装,仅限32位),而且它正在消失。不值得努力

除了NPAPI,还有其他方法可以与[本地应用程序]通话吗? 是的,不过需要完全重写。你可以用它来代替NPAPI

基本思想是拥有一个“代理”本机应用程序,在这个术语中称为本机主机,Chrome可以启动它,并代表它与您的[本机应用程序]对话。Chrome只会在JSON编码的消息中讨论标准的输入/输出,但您的代理可以通过任何方式与原始应用程序接口


有关更多信息,请参阅和

我使用用于chrome的IETab扩展()将clickonce视为IE。

我花了几个小时研究这个问题,并提出了以下解决方案。我警告你,这充其量只是一种恶作剧

创建在客户端计算机上创建URI方案的注册表文件:

对于您执行的程序,您可以使用一个自定义exe来剥离该方案(在我的例子中,我称之为ReportBuilder,链接看起来像
),或者我使用一个批处理文件(见下文),然后使用url调用internet explorer:

set str=%1
set str=%str:ReportBuilder:=%
"C:\Program Files\Internet Explorer\iexplore.exe" %str%
因此,最终当链接被单击时,它调用此批处理文件,该批处理文件调用internet explorer,internet explorer为ClickOnce应用程序打开链接

到目前为止,这是我唯一能让它工作的方法。我试过使用两种不同的ClickOnce扩展,它们都不再工作了。我也尝试过使用IE标签,但也不起作用


希望这对某人有所帮助。

一家名为Meta4的公司在Chrome网络商店中推出了一个新的ClickOnce扩展


要求您下载并运行可执行文件。否则效果很好!在Chrome 38上测试,一切正常。

谢谢Xan提供的信息。就我公司的规模和专业知识而言,我认为我们一直在等待新的扩展或类似技术的出现。你可能会认为微软会像Firefox那样为它开发一些东西。我猜他们正在使用本机主机方法。我无法打开你的链接。我也在挣扎。有出路吗?我已经提出了一个问题,你们是否可以在这里找到答案:但我不能担保那个网站。Meta4一定拉了扩展,但我不知道为什么。我认为这是一个很好的解决方案,但它缺乏安全性:(,因为我可以点击ReportBuilder:malware.html_url,你可能会被黑客攻击。