【问题标题】:How to launch a ClickOnce application with an application downloaded from a browser?如何使用从浏览器下载的应用程序启动 ClickOnce 应用程序?
【发布时间】:2012-03-13 13:57:28
【问题描述】:

我想做什么

在我们的网络应用程序上单击下载文件链接时,浏览器会提示用户输入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 安装程序。这也是我正在考虑尝试的事情。

【问题讨论】:

    标签: c# asp.net-mvc-3 clickonce file-association


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2011-02-09
      • 2016-09-11
      • 2012-02-03
      • 2011-07-17
      • 1970-01-01
      • 1970-01-01
      • 2011-02-12
      • 1970-01-01
      相关资源
      最近更新 更多