Windows
如何從命令行建構 MSIX 包
我的最終目標是能夠在 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 輸出的錯誤。
不是答案(不能發表評論,因為我不是這裡的會員)但作為備註,此連結可能會幫助感興趣的各方,例如在模板創建開始時
(正如@djdomi 所建議的那樣,在最後引用的行中的某處。)
對於那些評估與 MSIX 化相關的可能並發症的人來說,使軟體包成為具有啟動能力的任務 可能涉及.
使用 MSIX 打包工具,您可以通過兩種方式執行轉換:通過互動式 UI 或通過我們的命令行選項。使用命令行時,您需要提供模板文件,以便轉換符合您的特定設置和需求。本文將幫助指導您完成生成適合您的模板文件的過程。
有兩種方法可以獲得適合您的模板文件:
- 您可以使用 MSIX 打包工具的 UI。在工具的設置中,您可以指定要使用您創建的每個 MSIX 包生成轉換模板文件。
- 您可以獲取樣本模板 並手動輸入每次轉換所需的配置。
從 MSIX 打包工俱生成轉換模板文件
- 啟動 MSIX 打包工具。