生成自签名证书
如果是在本地测试安装msix,就需要生成一个自签名证书,否则安装包生成了会系统提示不能安装
使用powershell工具进行生成。打开powershell输入下面的命令,其中的-FilePath是生成路径,-String "123456"是密码
$cert = New-SelfSignedCertificate `
-Subject "CN=MyAppTestCertificate" `
-Type CodeSigningCert `
-KeyUsage DigitalSignature `
-KeyAlgorithm RSA `
-KeyLength 2048 `
-CertStoreLocation "Cert:\CurrentUser\My" `
-NotAfter (Get-Date).AddYears(1)
$password = ConvertTo-SecureString -String "123456" -Force -AsPlainText
导出为 PFX 文件(含私钥)
Export-PfxCertificate `
-Cert $cert `
-FilePath "C:\Users\jack\Downloads\MyTestCert.pfx" `
-Password $password
导出 CER 文件(仅公钥)
Export-Certificate `
-Cert $cert `
-FilePath "C:\Users\jack\Downloads\MyTestCert.cer"
证书生成了之后还要导入系统受信任证书里面,这一步要用管理员身份运行powershell,输入下面的命令导入MyTestCert.cer文件
Import-Certificate -FilePath "C:\Users\jack\Downloads\MyTestCert.cer" -CertStoreLocation "Cert:\LocalMachine\Root"
之后打包的自签名msix软件就能正常安装了。这里感谢deepseek ai一步一步的提供办法。
打包msix
下载MSIX Packaging Tool,可以在微软应用商店下载,或者微软提供的离线安装包地址:
https://download.microsoft.com/download/e/2/e/e2e923b2-7a3a-4730-969d-ab37001fbb5e/MSIXPackagingtoolv1.2024.405.0.msixbundle
下载了就安装
打开应用
点击新建程序包
选择打包程序,我的exe安装包是用innosetup生成的。就选择安装包exe文件。证书就填写自己生成的证书和密码
输入版本一些信息
之后就会执行安装程序,然后就会提取入口点
之后就会选择保存位置,导出安装包
点击创建的msix安装包就能够看到安装界面