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

时间:2012-03-13 13:57:28

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

我想做什么

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

1 个答案:

答案 0 :(得分:0)

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

相关问题