1

我为 .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);

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

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

关于为什么会这样的任何提示?

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

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

4

2 回答 2

1

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

于 2018-09-10T18:58:19.640 回答
0

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

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

干杯,比约恩

于 2013-05-10T07:34:58.763 回答