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

UWP认证:应用商店构建签名失败求助(旁加载构建正常)

解决MSIX商店构建签名“缺少Criteria/Container”错误

1. 清理冗余GUID命名证书

证书存储里的大量GUID格式CN证书大概率是VS自动生成的临时证书,会干扰硬件证书识别:

  • 打开certmgr.msc,进入当前用户 > 个人 > 证书
  • 筛选所有CN为{xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}格式的证书,全部删除
  • 同步检查本地计算机 > 个人 > 证书下的同类证书,一并清理

2. 手动绑定硬件Token证书到VS

VS可能没正确关联硬件Token的正式证书,手动指定:

  • 右键项目 > 属性 > 打包 > 签名
  • 取消“自动选择证书”,点击“选择证书”
  • 在证书选择窗口的个人选项卡中,找到硬件Token对应的正式发布证书(别选临时证书),选中后确定并保存设置

3. 修复VS的MSIX签名组件

VS 17.7.1的签名组件可能存在异常,修复流程:

  • 打开Visual Studio Installer,选中你的VS实例点击“修改”
  • 进入“单个组件”,搜索“MSIX”,确认MSIX打包工具和Windows应用程序打包项目已安装
  • 若已安装,点击“修复”,完成后重启VS

4. 用SignTool手动签名商店包

绕开VS自动签名流程,直接用命令行工具签名:

  • 先在VS中生成未签名的商店包:右键项目 > 生成 > 生成商店包,选择“不签名”
  • 找到生成的MSIX包路径(一般在bin\Release\AppPackages目录下)
  • 打开VS 2022开发者命令提示符,运行对应命令:
    如果用证书文件:
    signtool sign /f "你的证书文件路径" /p "证书密码" /fd SHA256 /tr http://timestamp.digicert.com /td SHA256 "你的MSIX包完整路径"
    
    如果用硬件Token(用证书指纹替代文件路径):
    signtool sign /sha1 "你的证书指纹" /fd SHA256 /tr http://timestamp.digicert.com /td SHA256 "你的MSIX包完整路径"
    

5. 重置硬件Token的证书容器

“缺少Criteria/Container”错误多和证书容器损坏有关,重置容器:

  • 打开硬件Token的管理工具(比如Gemalto IDGo、SafeNet Authentication Client)
  • 删除现有发布证书的容器,重新将证书导入Token
  • 导入时设置清晰的容器名称,避免和旧容器冲突

内容的提问来源于stack exchange,提问作者Jon Phillips

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 01:42:41