如何在Microsoft Store中发布应用
前言
今年年初到现在,用WinUI写了几个实用的小工具。过程不是很顺利,主要是本人桌面端开发经验太少 + WinUI的资料不是很好找。
但是不管怎么样还是写出了点东西的,都已经开源到了GitHub,感兴趣的可以点进来给几个Star:
代码本身写的很烂,如果你是新手,想找参考的话,务必不要参考我的项目。
也可以来Microsoft Store上下载软件体验一下:
你所需要做的准备
- 要发布的应用,有关格式支持见下文;
- 微软开发者账号(个人),需要一次性支付116人民币,仅支持VISA或万事达卡支付。
购买微软开发者账号资格
前往 Microsoft合作伙伴中心 ,按照流程一步一步注册即可。
支付手段仅支持VISA或万事达卡。
这当中有一些极其无语的坑,至少在我注册的时候仍未修复。如果不能避开这些坑,那么在点击下一步的时候会提示
Error code 2201.
- City一栏似乎只能填写代号,比如“北京”就是“BJ”,“辽宁”就是“LN”。这个位置似乎原本应该是下拉菜单,但是被设计成了输入框。可以在联系人信息中点击更新,然后在“省份”一栏就能看到下拉菜单了。
- +86的手机号不需要填写第一个位置,全部都写在第二个栏位即可。
- 最好,申请过程对网络条件要求较高,最好在一个比较舒适的网络环境下进行。
发布应用到商店
支持的类型
Microsoft Store支持上传的应用类型分三种:
- MSIX或PWA应用(这篇文章要介绍的);
- EXE或MSI应用(EXE可以打包成MSIX发布);
- 游戏(不是我们要介绍的)。
我们这里只介绍WinUI应用打包上传的方式,其他两种(包括EXE打包成MSIX)不在本教程介绍范围内。
创建一个新的应用提交
来到 Microsoft合作伙伴中心 首页,点击 【应用和游戏】:
点击【+新产品】并选择【MSIX或PWA应用】:
这里其实就是让你填写应用名称,这个名称在之后是无法修改的:
所谓【通过保留某个名称来创建应用】类似商标抢注,你保留了这个名字别人就用不了了。
看到这个页面就可以了:
接下来,让我们先把目光从Microsoft合作伙伴中心移到Visual Studio上。
准备应用包
此处默认你已经写完一个可运行的应用,并且已经会通过旁加载形式打包。
打开你的项目,在项目文件上【右键】->【打包和发布】->【将应用程序与应用商店关联】
点击【下一步】,可以看到以下界面,选择刚才在Microsoft合作伙伴中心保留的应用程序名称,点击【下一步】->【关联】:
如果你已经到了这一步,那么恭喜你,大概率又掉进了微软的“坑”里。此时你可以尝试打开
Package.appxmanifest
,你会发现清单设计器已经无法打开了。这是因为【关联】行为会修改
Package.appxmanifest
当中的信息,但是会添加进去一个mp:PhoneIdentity
的字段,这是Windows Phone还活着时候的东西,现在除了让我们的项目寄掉没有任何作用。所以需要删掉mp:PhoneIdentity
字段(图中54-55行)。你以为这就完了吗?非也!
你现在可以继续后面的打包步骤,但是当你想在Microsoft合作伙伴中心中上传应用包时,你会收到一行大大的红字,告诉你签名不符。
这是因为【关联】操作并不会修改你的签名证书,你必须得用微软给你的【发布者】证书打包才行。
做法也很简单,双击
Package.appxmanifest
,切换到【打包】,点击【选择证书…】,再点击【创建…】。这里提到的发布者共用名称可以在Microsoft合作伙伴中心找到,即【Windows 发布者 ID】,
CN=
后面的部分。(注意:不建议泄露个人的发布者ID,更具体的是请不要把ID和证书上传到GitHub等地)然后为证书设置一个密码。
接下来可以开始打包应用,在项目文件上【右键】->【打包和发布】->【创建应用程序包…】
选择【Microsoft Store,作为 <你的名字> 提供的 <你保留的名称>
配置这里建议把ARM64也勾上,即便是x64的机器也可以通过交叉编译得到ARM64的包,也算是为推动WoA发展做出一点自己的贡献。
然后点击【创建】,VS会开始构建三个包。
完成后会弹出窗口,可以选择【启动 Windows 应用程序认证包】,也就是跑一下测试,个人建议测试一下。
让我们把目光转回Microsoft合作伙伴中心。
上传你的应用包
回到刚才结束的界面,点击【开始提交】
然后我们就成功创建了一个提交,下面开始从【定价和可用性】开始填写信息:
这里我不做过于细致的介绍,只要按照上面的指示依次填写即可,详细过程也可以参考其他大佬的文章:Microsoft Store 桌面应用发布流程(二)之提交应用
我只提醒一点,大多数应用都会用到runFullTrust
权限,因此必须填写隐私策略URL。
内容可以参考:https://raw.githubusercontent.com/SIXiaolong1117/WinWoL/master/PRIVACY
当一切都完成之后,回到【概述】,点击【提交到Microsoft Store】即可。
应用的认证时长在数小时至三天,一般12小时内能通过认证,发布成功后24小时内可在商店中看到。
后记
再宣传一下我写过的三个项目(没错,是三个,还包含一个Electron打包成MSIX的应用):