Javascript ClickOnce:如何从web自动启动安装/启动

Javascript ClickOnce:如何从web自动启动安装/启动,javascript,clickonce,autostart,Javascript,Clickonce,Autostart,我为.NET2.0开发了一个ClickOnce应用程序,效果很好。如果我点击生成的publish.html页面上的安装按钮,或直接在IE中访问应用程序URLhttps://://.application,它将按预期安装/启动并运行 为了让用户的启动体验更好,我现在希望立即启动应用程序的安装/启动,而无需用户单击其他按钮或链接。因此,我添加了以下JavaScript代码: setTimeout(function() { var iframe = $("<iframe/>")

我为.NET2.0开发了一个ClickOnce应用程序,效果很好。如果我点击生成的
publish.html
页面上的安装按钮,或直接在IE中访问应用程序URL
https://://.application
,它将按预期安装/启动并运行

为了让用户的启动体验更好,我现在希望立即启动应用程序的安装/启动,而无需用户单击其他按钮或链接。因此,我添加了以下JavaScript代码:

setTimeout(function() {
  var iframe = $("<iframe/>")
      .attr("id", "autoDownloadFrame")
      .attr("src", "https://<host>:<port>/<path>/<app>.application")
      .hide();
  iframe.appendTo($('body'));
}, 1500);
setTimeout(函数(){
变量iframe=$(“”)
.attr(“id”,“自动下载帧”)
.attr(“src”、“https://://.application”)
.hide();
iframe.appendTo($('body');
}, 1500);
这段代码可以很好地启动,例如,自动下载安装程序。它还可以为我的ClickOnce应用程序下载
.application
文件。但不幸的是,ClickOnce安装/启动没有启动我的应用程序

我认为这可能与web服务器设置的
内容类型有关(这里使用的是带有Spring3.2的Tomcat7)。但即使在确保(并验证)内容类型设置为
application/x-ms-application
后,也不会自动启动

有什么线索可以解释为什么会这样吗

操作系统:Win7 Enterprise 64位,EN 浏览器:MSIE 9.0、.NET 2.0至3.5可用(自单击“开始”起正常工作) 协议:测试了HTTP和HTTPS,都有自定义端口(8080和8443)

提前感谢您的任何提示!
干杯,比约恩

我目前的研究和同事们的反馈表明,微软实施这种行为的目的是防止用户未明确“请求”的自动应用程序启动(通过明确单击链接或按钮)。所以我会认为这是不可行的,继续“点击这个按钮开始”的解决方案。 如果我错了,请随时纠正我,我希望在这种情况下是错的:)


干杯,比约恩

我目前的研究和同事们的反馈表明,微软实施这种行为的目的是防止用户未明确“请求”的自动应用程序启动(通过明确单击链接或按钮)。所以我会认为这是不可行的,继续“点击这个按钮开始”的解决方案。 如果我错了,请随时纠正我,我希望在这种情况下是错的:)


干杯,比约恩

您可以使用microsoft edge:url通过javascript自动下载。
这将在microsoft edge中打开clickOnce应用程序,该应用程序将下载并安装该应用程序。

您可以使用microsoft edge:url通过javascript自动下载。
这将在microsoft edge中打开clickOnce应用程序,而microsoft edge将下载并安装该应用程序。

这是否是出于设计目的,以防止应用程序在没有用户交互的情况下下载和执行?是的,这是可能的。但是,有两种方法可以确保,因为您必须在第一次执行时弹出一个对话框来确认安装过程。这是否可能是出于设计,以防止在没有用户交互的情况下下载和执行应用程序?是的,这是可能的。但是有两种方法可以确保,因为您必须在第一次执行时弹出一个对话框来确认安装过程。