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

使用.msix/.msixbundle发布Delphi 10.1 Berlin应用至微软商店报错求助

解决Delphi 10.1 Berlin MSIX包上传微软商店的异常报错问题

问题背景

我用Delphi 10.1 Berlin为应用创建了.msix安装包,本地安装正常,且通过WACK(Windows App Certification Kit)检测无阻塞问题。已确认AppxManifest.xml中的标识、产品元数据与微软商店页面的包信息一致,且和我生成的自签名密钥匹配。但上传至微软商店时,收到一系列不符合实际的错误提示:

  • 您必须上传至少一个包。如果使用市场组,则每个市场组必须至少有一个包。
  • 您必须提供支持每个所选设备系列的包(或取消勾选不支持的设备系列)。注意,针对Xbox设备系列需要中性或x64包。
  • 包DataMystic.WordPipe.msix处理时间过长。如果未尽快完成,请尝试刷新页面,或移除包后重新上传。若持续出现此问题,请联系支持人员。
  • 提交前必须修复所有包验证错误。

尝试使用.msixbundle/.msixupload文件上传,结果完全相同。此前遇到数字签名密钥问题,被告知需使用自签名密钥(硬件数字密钥的CN与商店分配的CN不匹配)。另外,Delphi 10.1 Berlin没有10.4版本里的「Project | Options | Provisioning」选项,缺少官方文档支持。

解决方案建议

1. 用工具重新生成符合商店要求的签名包

Delphi 10.1 Berlin的打包工具可能存在签名兼容性问题,手动使用Windows SDK自带的工具重新处理:

  • 用MakeAppx.exe bundle命令生成.msixbundle,确保包含对应设备架构的包(比如勾选Xbox的话,必须提供中性或x64包)
  • 改用微软商店后台提供的临时签名证书重新签名:下载应用的临时证书后,执行SignTool.exe sign /f <证书路径> /fd SHA256 <包路径>命令完成签名

2. 清理商店后台残留数据后重新上传

删除商店后台中已上传的所有相关包,清理浏览器缓存,先尝试上传单个架构的.msix包(比如仅x64版本,不要传bundle),观察是否还出现处理超时和错误提示。

3. 匹配设备系列选择与包架构

在商店后台检查设备系列配置:

  • 如果勾选了Xbox,必须确保包是中性或x64架构,移除仅x86的包
  • 取消勾选当前包不支持的设备系列(如IoT、HoloLens等),只保留PC、Xbox(若符合架构要求)

4. 手动修正AppxManifest.xml的隐藏问题

Delphi 10.1生成的AppxManifest.xml可能存在WACK未捕获但商店检测到的元数据问题:

  • 确保<Identity>节点的Name、Publisher、Version完全和商店后台的应用标识一致(注意大小写和格式细节)
  • 检查<Dependencies>节点,确认最低Windows版本符合商店要求(建议至少Windows 10 1809)
  • 移除非必需的自定义扩展或功能声明,只保留应用运行必需的部分

5. 绕过Delphi打包工具,手动制作MSIX包

由于Delphi 10.1 Berlin对MSIX的支持不完善,可手动创建包:

  1. 将应用所有文件复制到一个空目录
  2. 手动编写符合商店规范的AppxManifest.xml
  3. 用MakeAppx.exe pack命令生成.msix包
  4. 用商店临时证书签名后上传

内容的提问来源于stack exchange,提问作者Simon Carter

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 17:05:14