更新: 我使用 WiX 工具集来构建安装程序至少已有 10 年了。现在,我正在尝试将毛伊岛应用程序添加到安装程序中,但是...
我的问题是如何构建 Maui 应用程序并获取 ... in... 文件夹中的内容,运行 HEAT(一个 WiX 实用程序)来创建 WiX xxx.wxs 文件并与其他文件构建 WiX 捆绑包应用程序中的组件。不可能在 WiX 捆绑包中部署 MSIX 文件,即使可以,我上面列出的问题也使这变得不可行。
如何获取所有必要的文件,以便可以部署 Maui 应用程序而不使用 MSIX?
@ToolmakerSteve - 是的,我通过 WiX 部署 .NET6/7 项目。这里的实际问题是如何以未打包的方式发布 MAUI 应用程序。 @jfversluis 在这里描述了这个过程:
我也尝试过这样做。实际上,我必须部署它并在我的 PC 中运行 Maui.exe 文件,但是我遇到了紫色屏幕。部署它的关键是使用 bin 中的 heat 目录和您想要的特定平台(仅在 Windows 中测试过)。我还遇到了 light.exe 问题,不得不将其打包而不是压缩。并且您还必须启用 MAUI.exe 才能正常工作。
紫屏问题显然与WebView2有关,我目前正在努力解决这个问题。如果有人有任何建议,将不胜感激。
这是我的 HeatDirectory 配置。 Maui 安装程序的当前字典与 MauiApp 位于同一文件夹中
<HeatDirectory OutputFile="ComponentsGenerated.wxs" DirectoryRefId="INSTALLFOLDER" ComponentGroupName="PublishedComponents" SuppressCom="true" Directory="..\MauiApp\bin\$(Configuration)\net7.0-windows10.0.19041.0\win10-$(Platform)" SuppressFragments="true" SuppressRegistry="true" SuppressRootDirectory="true" AutoGenerateGuids="false" GenerateGuidsNow="true" ToolPath="$(WixToolPath)" RunAsSeparateProcess="true" PreprocessorVariable="var.BasePath"/>
这是您必须添加到 Maui.csproj 的内容
<WindowsPackageType>None</WindowsPackageType>
<WindowsAppSDKSelfContained Condition="'$(IsUnpackaged)' == 'true'">true</WindowsAppSDKSelfContained>
<SelfContained Condition="'$(IsUnpackaged)' == 'true'">true</SelfContained>
<OutputType>WinExe</OutputType>
还有launch.setting.json
{
"profiles": {
"Windows Machine": {
"commandName": "MsixPackage",
"nativeDebugging": false
}
}
}