Dan*_*Dan 20 .net clickonce google-chrome winforms
我有一个客户想要将谷歌浏览器用于我们开发的内部网络应用程序(我不怪他,我真的很喜欢使用Chrome!)
问题是我们有一个win表单应用程序,用户可以从浏览器启动,使用click一次部署.我已经有一段时间知道chrome不支持点击一次,但我想现在可能会有一些支持.
我花了几分钟搜索堆栈溢出和谷歌,并没有找到任何明显的暗示,如果有人正在计划它或已经开发了一次点击扩展为chrome(类似于FFClickOnce).
那么,有没有人点击一次在Chrome下工作或有任何人看到任何插件/扩展的消息,将支持点击一次?
Eri*_*ric 12
谷歌浏览器并不真正支持将.NET版本添加到用户代理的扩展,但是对于普通启动.应用程序试试这个:
https://chrome.google.com/extensions/detail/eeifaoomkminpbeebjdmdojbhmagnncl(不再提供)
https://chrome.google.com/webstore/detail/clickonce-helper/mdooolbdbmjaobhdondofgdmnbidlgfh
Chrome无法像资源管理器一样自动启动setup.exe,但Chrome会像其他任何文件一样下载它.用户在下载后运行它并不困难,直到Chrome提供了一种方法来自动启动它.
Chrome现在有一个扩展程序,允许您启动点击一次应用(ClickOnce for Chrome).
不幸的是,它不会更新用户代理,因此无法知道该站点是否支持它.有一种方法可以在Chrome中更改用户代理,但这并不是我希望普通用户可以做到的.不过,以下是 Chrome帮助论坛上的答案,解释了如何参考.
基本上创建Chrome的快捷方式,并将此命令行参数添加到目标.
--user-agent="Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.224 Safari/534.10 .NET CLR 3.5.21022; .NET CLR 3.5.30729; .NET4.0E"
Run Code Online (Sandbox Code Playgroud)
您可能希望确保拥有当前的用户代理.这是一个将为您显示它的网站.您要添加到用户代理的部分是".NET CLR 3.5.21022; .NET CLR 3.5.30729;" (当然这也可能取决于机器上安装的内容).
这种方法的另一个缺点是,似乎修改后的用户代理在Javascript中不可用(我仍然得到未经修改的版本).
------ 编辑 ------
如果你想知道客户端上是否有ClickOnce,这里有一个我写的Javascript函数会告诉你...
this.hasClickOnce = function () {
var userAgent = navigator.userAgent.toUpperCase();
if (userAgent.indexOf('.NET CLR 3.5') >= 0) return true;
if (window.clientInformation && window.clientInformation.plugins) {
// check to see if a ClickOnce extension is installed.
for (var i = 0; i < clientInformation.plugins.length; i++)
if (clientInformation.plugins[i].name == 'ClickOnce plugin for Chrome') return true;
}
return false;
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29815 次 |
| 最近记录: |