使用MSIX Packaging Tool工具修改msix程序包

发布时间 2023-08-17 19:49:56作者: 書劍飄零

前言

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程序包。