如何使用从浏览器下载的应用程序启动ClickOnce应用程序

本文关键字:应用程序 启动 ClickOnce 下载 何使用 浏览器 | 更新日期: 2023-09-27 18:27:33

我想做什么

当点击我们的网络应用程序上的下载文件链接时,浏览器会提示用户输入saveopen文件。选择open时,文件将在已安装的应用程序中打开。

到目前为止我所拥有的

我有一个ASP.NET MVC应用程序,它返回如下文件:

return File(bytes, "application/octet-stream", "file.rod");

我已经为应用程序创建了一个具有文件关联的ClickOnce安装程序,当提示输入save时,该文件将显示为带有注册文件关联图标,双击时,应用程序将按预期启动。

然而,当您选择open时,应用程序不会启动,这很奇怪,因为当从文件系统(explorer.exe)打开文件时,它会正确启动。我目前的想法是,问题要么在于我设置文件关联的方式,要么在于我如何从浏览器发送数据(也许是内容类型?)。

以下是清单文件中的文件关联注册:

<fileAssociation xmlns="urn:schemas-microsoft-com:clickonce.v1"
    extension=".rod"
    description="Lollipops and Ice Cream"
    progid="Rod.Document"
    defaultIcon="risque.ico" />

我错过了什么?我下一步该怎么做?

还有一件事:我知道可以将查询参数传递给ClickOnce安装程序。这也是我正在考虑尝试的事情。

如何使用从浏览器下载的应用程序启动ClickOnce应用程序

我认为您的内容类型需要是return File()行上的application/x-ms-application;否则,IE将不会意识到需要将其作为应用程序启动。对于Firefox,我还没有在最新版本中尝试过,但我记得需要一个ClickOnce插件才能正常工作。