You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebase Hosting托管.NET MAUI应用MSIX安装包无法下载的解决咨询

Firebase Hosting托管MSIX安装程序的下载问题及解决方案

问题背景

  • 用Firebase Hosting托管.NET MAUI应用的MSIX安装包,浏览器访问文件路径时会直接打开文件,不会触发下载;但把文件重命名成.exe就能正常下载,明显是MSIX扩展名的关联问题。
  • 后来解决了浏览器下载的问题,却发现Microsoft App Installer还是没法下载这个文件,排查后觉得是Firebase Hosting自动给文件加了Brotli压缩导致的。

解决浏览器下载MSIX的配置方法

要让浏览器触发MSIX文件下载,得在Firebase Hosting的firebase.json里加响应头配置,强制浏览器把MSIX识别成需要下载的资源:

  1. 打开项目根目录的firebase.json文件
  2. 在hosting节点下添加headers规则,给MSIX文件指定正确的Content-Disposition和Content-Type:
{
  "hosting": {
    "headers": [
      {
        "source": "**/*.msix",
        "headers": [
          {
            "key": "Content-Disposition",
            "value": "attachment; filename=\"[filename].msix\""
          },
          {
            "key": "Content-Type",
            "value": "application/octet-stream"
          }
        ]
      }
    ]
  }
}
  1. 部署更新后的配置:执行firebase deploy --only hosting命令

Microsoft App Installer兼容问题的替代方案

搞定浏览器下载后,Microsoft App Installer还是没法正常获取MSIX文件,原因是Firebase Hosting默认给静态文件开了Brotli压缩,而App Installer不支持这种压缩后的资源。找了一圈没找到在Firebase Hosting里单独给MSIX禁用压缩的方法,最后换了AWS的方案:

  • 用S3存储桶存MSIX文件(存的时候别开压缩)
  • 搭配CloudFront分发资源,在CloudFront的配置里给MSIX文件禁用压缩
    这套组合能完美适配Microsoft App Installer,正常完成安装流程。

内容的提问来源于stack exchange,提问作者torof

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 19:55:58