0%

如何在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/Direct5dom/WinWoL/master/PRIVACY

当一切都完成之后,回到【概述】,点击【提交到Microsoft Store】即可。

应用的认证时长在数小时至三天,一般12小时内能通过认证,发布成功后24小时内可在商店中看到。

后记

再宣传一下我写过的三个项目(没错,是三个,还包含一个Electron打包成MSIX的应用):