前言
MSIX Packaging Tool 使用戶和 IT 管理員能夠將 Windows 應用重新打包爲 MSIX 格式,方便用戶分享,MSIX 包可在 Windows 11 和 Windows 10 系統中安裝。該軟件提供了一個交互式用戶界面和一個用於轉換的命令行。
修改步驟
1、獲取MSIX Packaging Tool
Windows10通過應用商店獲取:MSIX Packaging Tool - Microsoft Store 應用程序
2、打開下載好的工具選擇程序包編輯器。
3、選擇我們需要修改的程序包。
比如我們要修改程序包要求的最小系統版本,我們可以修改清單文件(即AppxManifest.xml文件)。
簽名打包
修改完成後我們需要通過簽名並打包,這樣生成的新msix文件才能被順利安裝。
對於個人的話一般選擇第二種簽名方式。
1、生成.pfx證書文件
可以參照微軟官方文檔:爲程序包簽名創建證書 - MSIX | Microsoft Learn
1、確定你的打包應用的主體
若要使用證書給你的應用包簽名,證書中的“主體”必須匹配應用清單中的“發佈者”部分。
例如,你應用的 AppxManifest.xml 文件中的“身份”部分應如下所示:
<Identity Name="Contoso.AssetTracker" Version="1.0.0.0" Publisher="CN=Contoso Software, O=Contoso Corporation, C=US"/>
在這種情況下,“發佈者”爲“CN = Contoso Software,O = Contoso Corporation,C = US”,創建你的證書時將需要這些。
2、在powershell下使用 New-SelfSignedCertificate 創建證書
基於上一示例中的 AppxManifest.xml 文件,你應該使用下面的語法創建證書。 在提升的 PowerShell 提示符中:
New-SelfSignedCertificate -Type Custom -Subject "CN=Contoso Software, O=Contoso Corporation, C=US" -KeyUsage DigitalSignature -FriendlyName "Your friendly name goes here" -CertStoreLocation "Cert:\CurrentUser\My" -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.3", "2.5.29.19={text}")
請注意以下有關某些參數的詳細信息:
-
KeyUsage:此參數定義證書的用途。 對於自簽名證書,此參數應設置爲 DigitalSignature。
-
TextExtension:此參數包括以下擴展的設置:
-
擴展密鑰用法 (EKU) :此擴展指示可以使用認證公鑰的其他目的。 對於自簽名證書,此參數應包含擴展字符串 “2.5.29.37={text}1.3.6.1.5.5.7.3.3”,指示證書將用於代碼簽名。
-
基本約束:此擴展指示證書是否爲證書頒發機構 (CA) 。 對於自簽名證書,此參數應包含擴展字符串 “2.5.29.19={text}”,指示證書是最終實體 (不是 CA) 。
-
運行此命令後,證書將被添加到本地證書存儲中,如“-CertStoreLocation”參數中指定。 該命令的結果還將生成證書的指紋。
3、導出證書
若要將本地存儲中的證書導出到個人信息交換 (PFX) 文件中,請使用 Export-PfxCertificate cmdlet。
使用 Export-PfxCertificate 時,你必須創建並使用密碼或使用“-ProtectTo”參數指定哪些用戶或組可以不使用密碼訪問該文件。 注意,如果不使用“-Password”或“-ProtectTo”參數,將顯示錯誤。
使用密碼:
$password = ConvertTo-SecureString -String <Your Password> -Force -AsPlainText Export-PfxCertificate -cert "Cert:\CurrentUser\My\<Certificate Thumbprint>" -FilePath <FilePath>.pfx -Password $password
其中<Certificate Thumbprint>爲上一步驟中生成的證書指紋,需要替換填寫。<FilePath>替換爲實際想要的輸出路徑。
至此.pfx證書文件生成完畢。
2、打包
選擇剛生成的證書,填寫生成證書時設置的密碼,點擊保存即可生成修改後的msix程序包。