我的最终目标是能够在 VM 中运行 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 上试过这个,看看它是否与我的电脑有关。
我已经为此工作了一天多,当然,当我在线发布时,我发现出了什么问题。
主要问题是当我让它提示提升而不是从管理 PowerShell 窗口显式运行它时,MsixPackagingTool.exe 似乎不起作用。此外,我还有一些格式错误的 XML。一旦我从提升的命令提示符开始运行,我就能够真正看到 MsixPackagingTool.exe 输出的错误。
不是答案(不能发表评论,因为我不是这里的会员)但作为备注,此链接可能会帮助感兴趣的各方,例如在模板创建开始时
如何为命令行转换生成模板文件 - MSIX | 微软文档
(正如@djdomi 所建议的那样,在最后引用的行中的某处。)
对于那些评估与 MSIX 化相关的可能并发症的人来说,使软件包成为具有启动能力的任务 可能涉及.