You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Uno Platform的WinUI3/WinAppSDK UWP应用打包签名分发求助

生成数字签名证书的方法

内部测试用:PowerShell创建自签名代码签名证书

  • 打开管理员权限的PowerShell,执行以下命令直接生成仅用于数字签名的证书:
    New-SelfSignedCertificate -Type CodeSigningCert -Subject "CN=你的公司/组织名称" -KeyUsage DigitalSignature -CertStoreLocation "Cert:\CurrentUser\My"
    
  • 生成后在证书管理器中找到该证书,导出为带私钥的PFX格式(设置好密码),用于后续签名操作。

客户分发用:从正规CA申请代码签名证书

  • 不要使用OneCert的客户端授权证书,直接申请专门的代码签名证书(Code Signing Certificate),DigiCert、GlobalSign等主流CA均提供这类证书,其用途明确为应用包、代码的数字签名,客户设备默认会信任CA的根证书。
  • 按照CA要求完成组织身份验证,拿到证书后导出带私钥的PFX格式即可使用。
MSIX包签名与分发的正确流程

1. 准备签名证书

  • 内部测试:使用上述PowerShell生成的PFX证书;
  • 客户分发:使用CA颁发的正式代码签名PFX证书。

2. 给MSIX包签名

方式1:Visual Studio内完成

  • 打开项目的Package.appxmanifest(或Package.manifest),切换到「打包」标签页;
  • 在「签名」区域点击「选择证书」,导入你的PFX证书并输入密码,勾选签名选项;
  • 走「创建应用包」向导选择侧加载或对应分发渠道,Visual Studio会自动用证书完成最终MSIX包的签名。

方式2:SignTool命令行签名(适合批量/自动化场景)

  • 打开Visual Studio开发者命令提示符(管理员权限),执行以下命令:
    SignTool sign /f "你的证书路径.pfx" /p "证书密码" /fd SHA256 /v "你的MSIX包路径.msix"
    
    • /fd SHA256指定哈希算法,符合现代系统要求;/v会输出签名详情,方便排查问题。

3. 分发与安装

内部测试场景

  • 先将自签名证书导出为不含私钥的CER格式,在目标设备上安装到本地计算机→受信任根证书颁发机构(必须是本地计算机目录,当前用户信任区无效);
  • 之后再安装MSIX包,就不会弹出不受信任的提示。

客户分发场景

  • 直接将签名后的MSIX包发给客户即可,由于CA的根证书在系统默认信任列表中,客户无需额外安装证书,双击MSIX包就能正常安装;
  • 可选方案:若符合上架要求,可将包上传至Microsoft Store,客户从商店下载更省心;或者搭建自有分发服务器,使用App Installer工具部署。

内容的提问来源于stack exchange,提问作者Sri Nivas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 08:50:32