Windows

如何從命令行建構 MSIX 包

  • November 7, 2021

我的最終目標是能夠在 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 化相關的可能並發症的人來說,使軟體包成為具有啟動能力的任務 可能涉及.


使用 MSIX 打包工具,您可以通過兩種方式執行轉換:通過互動式 UI 或通過我們的命令行選項。使用命令行時,您需要提供模板文件,以便轉換符合您的特定設置和需求。本文將幫助指導您完成生成適合您的模板文件的過程。

有兩種方法可以獲得適合您的模板文件:

  • 您可以使用 MSIX 打包工具的 UI。在工具的設置中,您可以指定要使用您創建的每個 MSIX 包生成轉換模板文件。
  • 您可以獲取樣本模板 並手動輸入每次轉換所需的配置。

從 MSIX 打包工俱生成轉換模板文件

  1. 啟動 MSIX 打包工具。

引用自:https://serverfault.com/questions/1020735