UWP迁移WinUI 3后微软商店更新遇阻,求成功提交经验
UWP迁移WinUI3后商店更新提交解决方案(亲测有效)
问题还原
- 原UWP应用迁移至WinUI3(.NET 8,目标Windows 10 22621)后,Visual Studio仅生成
.msix单个包,不再输出.appxupload或bundle包 - 提交至Microsoft Partner Center时被拒,提示:
此前提交的应用以Windows 10/11 .msixbundle或.appxbundle发布,后续提交需继续包含该类型包。
- 尝试用
MakeAppx.exe从测试包目录...\bin\x64\Release\net8.0-windows10.0.22621.0\win-x64\AppPackages\Foo.Windows_6.0.17.0_x64_Test打包时,报错:
MakeAppx : error: Bundle creation failed.
MakeAppx : error: 0x8051100f - The specified package format is not valid: The zip archive is missing the end of central directory marker.
亲测解决步骤
1. 让VS自动生成符合要求的Bundle包
最省心的方式是调整VS项目配置,直接生成商店需要的bundle包:
- 右键WinUI3项目 → 属性 → 切换到打包选项卡
- 在「生成应用包」区域,勾选生成捆绑包(.msixbundle或.appxbundle)
- 「目标架构」至少选择2种(比如x64 + x86),单个架构不会触发bundle生成
- 点击创建应用包,选择「Microsoft Store」分发类型,按照向导完成打包
- 打包完成后,在输出目录的
AppPackages下会得到.msixbundle和对应的.msixupload文件,后者就是用来提交商店的文件
2. 手动打包报错的根源与修正
如果必须手动打包,之前的报错是因为选错了目录:
- 不要使用
_Test结尾的测试包目录,该目录下的包是调试用的,文件结构不完整 - 选择VS生成的正式包目录(路径不带
_Test,比如Foo.Windows_6.0.17.0_x64) - 收集所有需要打包的架构包(x64、x86等)到同一文件夹,执行以下命令:
MakeAppx bundle /d "存放所有msix包的目录路径" /p "输出的.msixbundle文件路径"
3. 商店提交注意事项
- 提交时选择「更新现有应用」,上传生成的
.msixupload文件(该文件包含bundle,完全符合商店的格式要求) - 确保
Package.appxmanifest中的版本号高于之前的商店版本,Publisher信息与商店后台一致 - 若需兼容旧版Windows 10用户,不要把目标版本设得过高(比如保留对Windows 10 19041的支持)
内容的提问来源于stack exchange,提问作者Hong
相关产品推荐
相关产品推荐

