我想做什么
在我们的网络应用程序上单击下载文件链接时,浏览器将提示用户保存
或打开
文件。选择打开
时,文件将在已安装的应用程序中打开。
到目前为止我有什么
我有一个像这样返回文件的 ASP.NET MVC 应用程序:
return File(bytes, "application/octet-stream", "file.rod");
我创建了一个 ClickOnce具有应用程序文件关联的安装程序,当提示保存
文件时,文件会出现并带有已注册的文件关联图标,双击应用程序会按预期启动。
但是,当您选择打开
时,应用程序不会启动,这很奇怪,因为当从文件系统 (explorer.exe) 打开文件时它会正确启动。我目前的想法是,问题要么在于我设置文件关联的方式,要么在于我如何从浏览器发送数据(可能是内容类型?)。
这是 list 文件中的文件关联注册:
<fileAssociation xmlns="urn:schemas-microsoft-com:clickonce.v1"
extension=".rod"
description="Lollipops and Ice Cream"
progid="Rod.Document"
defaultIcon="risque.ico" />
我错过了什么?接下来我应该尝试什么?
还有一件事:我知道可以将查询参数传递给 ClickOnce 安装程序。这也是我正在考虑尝试的事情。
最佳答案
我认为您的内容类型需要在 return File() 行上为 application/x-ms-application;否则,IE 将无法识别它需要将其作为应用程序启动。对于 Firefox,我没有在最新版本中尝试过,但我记得需要一个 ClickOnce 插件才能正常工作。
关于c# - 如何使用从浏览器下载的应用程序启动 ClickOnce 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9685457/