如何从命令行构建 MSIX 包

如何从命令行构建 MSIX 包

我的最终目标是能够在虚拟机中运行 Powershell 安装脚本,并将其所做的所有更改捕获到 MSIX 包中。我可以使用 MSIX 打包工具向导手动完成此操作,没有任何问题,但我有很多应用需要打包,其中一些应用经常更新,所以我想让某些操作自动化。

我尝试过使用批量转换脚本在 entry.ps1 中使用以下设置:

$virtualMachines = @(
    @{ Name = "MSIX Packaging Tool Environment"; Credential = $credential }
)

$remoteMachines = @(
)

$conversionsParameters = @(
    @{
        InstallerPath = "Cricut Design Space.msi";
        PackageName = "CricutDesignSpace";
        PackageDisplayName = "Cricut Design Space";
        PublisherName = "CN=Cricut";
        PublisherDisplayName = "Cricut";
    }
)

这只是告诉我所有工作已完成并且没有产生 MSIX 文件。

我也尝试过手动创建这个模板:

<MsixPackagingToolTemplate
  xmlns="http://schemas.microsoft.com/appx/msixpackagingtool/template/2018"
  xmlns:mptv2="http://schemas.microsoft.com/msix/msixpackagingtool/template/1904">
<Installer
  Path="L:\Work\scratch\batch-msix-builder\Cricut Design Space.msi"
  Arguments="" />
<VirtualMachine Name="MSIX Packaging Tool Environment" Username="user" />
<SaveLocation PackagePath="L:\Work\scratch\batch-msix-builder" />
<PackageInformation
  PackageName="CricutDesignSpace"
  PackageDisplayName="CricutDesignSpace"
  PublisherName="CN=Cricut"
  PublisherDisplayName="Cricut"
  Version="5.9.8.0" />
</PackageInformation>
</MsixPackagingToolTemplate>

并运行它

MsixPackagingTool.exe create-package --template "L:\Work\scratch\batch-msix-builder\template.xml" --virtualMachinePassword "REDACTED"

这会导致控制台窗口打开一小会儿然后立即关闭。我甚至在新安装的 Windows 上尝试过这个,看看是不是我的电脑出了问题。

答案1

我已经处理这个问题一天多了,当然,我一上网就发现了问题所在。

主要问题是,当我让 MsixPackagingTool.exe 提示提升权限而不是从管理 PowerShell 窗口明确运行它时,它似乎不起作用。此外,我还遇到了一些格式错误的 XML。一旦我开始从提升权限的命令提示符运行,我就能够真正看到 MsixPackagingTool.exe 输出的错误。

答案2

不是一个答案(无法评论,因为我不是这里的成员),但作为一个评论,这个链接可能会帮助感兴趣的各方,例如在模板创建开始时

如何生成命令行转换的模板文件 - MSIX | Microsoft Docs

(按照@djdomi 的建议,在最后引用的某处。)

对于那些评估与 MSIX 化相关的可能并发症的人来说,使该包成为一项可启动的任务 可能涉及


使用 MSIX 打包工具,您可以通过两种方式执行转换:通过交互式 UI 或通过我们的命令行选项。使用命令行时,您需要提供模板文件,以便转换符合您的特定设置和需求。本文将帮助指导您完成生成适合您的模板文件的过程。

有两种方法可以获取适合您的模板文件:

  • 您可以使用 MSIX 打包工具的 UI。在该工具的设置中,您可以指定要为创建的每个 MSIX 包生成一个转换模板文件。
  • 您可以示例模板 并手动输入每次转换所需的配置。

从 MSIX 打包工具生成转换模板文件

  1. 启动 MSIX 打包工具。

相关内容