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

如何不使用MSIX部署.NET MAUI应用并结合WiX打包

.NET MAUI非打包部署方案(适配WiX Toolset)

问题背景

  • 拥有10年WiX Toolset构建安装程序经验,当前需将MAUI应用整合进现有安装程序,但MSIX方案存在以下无法接受的限制:
    • MSIX仅支持当前用户安装,无法实现机器范围的全局安装
    • MSIX会将应用安装到C:\Program Files\WindowsApps隐藏目录,无法自主控制安装路径
  • 核心需求:以非MSIX方式发布MAUI应用,获取构建后bin目录下的所有必要文件,通过WiX的HEAT工具生成.wxs文件,最终与其他组件构建WiX Bundle

非打包发布MAUI应用的实现步骤

  1. 修改MAUI项目配置
    在项目的.csproj文件中添加以下配置,启用非打包发布模式:
    <PropertyGroup>
      <WindowsPackageType>None</WindowsPackageType>
    </PropertyGroup>
    
  2. 构建/发布MAUI应用
    使用常规方式针对Windows平台发布应用:
    • 命令行方式:dotnet publish -f net8.0-windows10.0.19041.0 -c Release(根据实际.NET版本调整框架参数)
    • 发布完成后,在项目的bin/Release/netX.X-windowsXXXX.X/publish/winXX-x64(对应目标架构目录)下即可获取所有运行必需的文件
  3. 使用WiX HEAT生成组件配置
    针对上述发布目录,运行HEAT命令生成WiX的.wxs文件,示例命令:
    heat dir "你的发布目录路径" -cg MauiAppComponents -gg -sfrag -srd -dr INSTALLFOLDER -out MauiApp.wxs
    
    关键参数说明:
    • -cg:指定组件组名称
    • -gg:自动生成GUID
    • -sfrag:生成片段式组件结构
    • -srd:排除根目录自身的组件定义
    • -dr:指定目标安装目录引用(需与WiX主配置中的安装目录一致)

后续整合

将生成的MauiApp.wxs引入到WiX项目中,与现有组件一起配置到Bundle项目内,即可实现MAUI应用的全局自定义路径安装。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 14:25:18