ClickOnce:如何从Web自动启动安装/启动

问题描述 投票:1回答:2

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

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

setTimeout(function() {
  var iframe = $("<iframe/>")
      .attr("id", "autoDownloadFrame")
      .attr("src", "https://<host>:<port>/<path>/<app>.application")
      .hide();
  iframe.appendTo($('body'));
}, 1500);

此代码可以正常启动,例如,安装程序的自动下载。它也可以为我的ClickOnce应用程序下载.application文件。但不幸的是,ClickOnce安装/启动并没有启动我的应用程序。

我认为这可能与web服务器设置的Content-Type有关(在这里使用Tomcat 7和Spring 3.2)。但即使在确认(并验证)内容类型设置为application/x-ms-application之后,自动启动也不会发生。

为什么会出现这种情况的任何提示?

操作系统:Win7 Enterprise 64位,EN浏览器:MSIE 9.0,.NET 2.0至3.5可用(当然,自点击开始工作)协议:测试HTTP和HTTPS,两者都带有自定义端口(8080和8443)

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

javascript clickonce autostart
2个回答
0
投票

我目前的研究和同事的反馈表明,此行为是由Microsoft实施的,目的是防止用户未明确“请求”的自动应用程序启动(通过明确单击链接或按钮)。所以我认为这不可行,继续“点击此按钮开始”解决方案。

如果我错了,请随时纠正我,我想在这种情况下错了:)

干杯,比约恩


0
投票

您可以使用microsoft-edge:http://url/abc.applicaiton url通过javascript自动下载。这将在microsoft edge中打开clickOnce应用程序,然后下载并安装应用程序。

© www.soinside.com 2019 - 2024. All rights reserved.