上传 MSIX 应用包
上传应用的包
你可以在应用提交进程的“程序包”页上传所要提交应用的所有程序包文件(.msix、.msixupload、.msixbundle、.appx、.appxupload 和/或 .appxbundle)。 你可以将同一应用的所有程序包上传到该页面,当客户下载应用时,Microsoft Store 将自动向每个客户提供最适用于其设备的程序包。 上传程序包后,将看到一个表格,指示将以排名顺序向特定 Windows 10 或 Windows 11 设备系列(如果适用,也包含早期 OS 版本)提供哪些程序包。
有关包包含的内容及其结构方式的详细信息,请参阅应用包要求。 你还需要了解版本号如何影响交付给特定客户的程序包以及如何在各种方案中管理程序包。
将包上传到提交
若要上传包,请将它们拖到上传字段中,或单击以浏览文件。 通过“程序包”页,你可以上传 .msix、.msixupload、.msixbundle、.appx、.appxupload 和/或 .appxbundle 文件。
重要
对于 Windows 10 及更高版本,我们建议在此处上传 .msixupload 或 .appxupload 文件,而不是 .msix、.appx、.msixbundle 或 .appxbundle。 有关打包应用商店 UWP 应用的详细信息,请参阅使用 Visual Studio 打包 UWP 应用。
如果为应用创建了任何包外部测试版,你将看到一个下拉列表,其中包含从其中一个包外部测试版复制包的选项。 选择包含要拉取的包的包外部测试版。 然后,可以选择要包含在此提交中的任何包或所有包。
如果在验证程序包时检测到错误,我们将显示一条消息,告知你错误的原因。 你将需要删除程序包、修复问题,然后尝试再次上传程序包。 你可能还会看到警告,告知你有关可能导致问题的问题,但不会阻止你继续提交。
包详细信息
此处列出了已上传的包,按目标操作系统分组。 将显示包的名称、版本和体系结构。 有关每个包支持的语言、应用功能和文件大小等详细信息,请单击“显示详细信息”。
如果需要从提交中删除包,请单击每个包的 详细信息 部分底部的“删除”链接。
移除冗余包
如果我们检测到一个或多个包是冗余的,我们将显示一条警告,建议你从此提交中移除冗余包。 当你之前上传过包,而现在提供支持同一组客户的更高版本的包时,通常会发生这种情况。 在这种情况下,任何客户都不会获得冗余包,因为你现在有更好的(更高版本的)包来支持这些客户。
当我们检测到你具有冗余包时,我们将提供一个选项来自动从此提交中移除所有冗余包。 如果愿意,还可以单独从提交中移除包。
逐步部署程序包
如果提交是以前发布的应用的更新,你将看到一个复选框,指示“在此提交发布后,逐渐(仅向 Windows 10 或 Windows 11 客户)推出更新”。 这样一来,你就可以选择将从提交获取程序包的客户比例,以便你可以监视反馈和分析数据,从而确保在更广泛地推出更新前对此更新无虑。 可以随时增加百分比(或停止更新),而无需创建新提交。
有关详细信息,请参阅逐步进行软件包推出。
强制更新
如果你的提交是以前发布的应用的更新,你将看到一个复选框,指出使此更新强制。 这允许你设置强制更新的日期和时间,前提是你已使用 Windows.Services.Store API 允许应用以编程方式检查包更新并下载和安装更新的包。 你的应用必须面向 Windows 10 版本 1607 或更高版本才能使用此选项。
有关详细信息,请参阅下载和安装应用的包更新。
设备系列可用性
在软件包页面成功上传软件包后,设备系列可用性部分将显示一个表格,其中按排名顺序显示哪些软件包将提供给特定的 Windows 10 或 Windows 11 设备系列(以及较早的 OS 版本,如果适用)。 通过本部分,还可以选择是否向特定 Windows 10 或 Windows 11 设备系列上的客户提供提交。
注意
如果你尚未上传软件包,设备系列可用性部分将显示 Windows 10 或 Windows 11 设备系列,你可以通过带有的复选框来指明是否向这些设备系列的客户提供提交的软件包。 上传一个或多个软件包后就会出现该表格。
该部分还包括一个复选框,你可以在其中指明是否允许 Microsoft 将该应用提供给未来的 Windows 10 或 Windows 11 设备系列。 建议选中此复选框,这样当新设备系列推出时,你的应用就可以提供给更多的潜在客户。
选择要支持的设备系列
如果上传了针对某个设备系列的软件包,我们将勾选复选框,使这些软件包适用于该设备类型的新客户。 例如,如果包面向 Windows.Desktop, 则会检查该包的 Windows 10/11 桌面 框(并且你无法选中其他设备系列框)。
面向 Windows.Universal 设备系列的软件包可在任何 Windows 10 或 Windows 11 设备(包括 Xbox One)上运行。 默认情况下,我们将在所有设备类型上向新客户提供这些软件包,但 Xbox 除外。
如果你不想向使用 Windows 10 或 Windows 11 设备系列的客户提供所提交的内容,则可以取消选中该设备系列的复选框。 如果设备系列的复选框未被选中,则使用该设备类型的新客户将无法获得该应用(但已拥有该应用的客户仍可使用,并将获取你提交的任何更新)。
如果你的应用支持这些选项,建议你选中所有复选框,除非你有特殊原因需要限制可获取你应用的 Windows 10 或 Windows 11 设备的类型。 例如,如果你知道自己的应用无法在 Surface Hub 和/或Microsoft HoloLens 上提供良好体验,则可以取消选中 Windows 10 Team 和/或 Windows 10 Holographic 复选框。 这样将阻止任何新客户在这些设备上获取应用。 如果你以后决定向这些客户提供,则可以创建一个新的提交并勾选这些复选框。
Xbox 设备
默认情况下,Windows.Universal 软件包未选中的唯一 Windows 10 或 Windows 11 设备系列是 Windows 10 Xbox。 如果你提交的应用不是游戏(或者是游戏并且已启用 Xbox Live 创意者计划或通过了概念审批流程),并且所提交的应用包含使用 Windows 10 SDK 14393 或更高版本编译的中性和/或 x64 UWP 软件包,则可以勾选 Windows 10 Xbox 复选框,以便向 Xbox One 上的用户提供应用。
重要
为了让你的应用能在 Xbox 设备上启动,你必须包含一个使用 Windows SDK 14393 或更高版本编译的中性或 x64 软件包。 但是,如果选中了 Windows 10 Xbox,则适用于 Xbox 的最高版本软件包(即针对 Xbox 或通用设备系列的中性或 x64 软件包)将始终提供给 Xbox 上的客户,即使该软件包是使用较早的 SDK 版本编译的。 因此,必须确保适用于 Xbox 的最高版本软件包是用 14393 或更高版本的 Windows SDK 编译的。 如果不是,你将看到一条错误信息,指明 Xbox 客户无法启动你的应用。
要解决此错误,你可以执行以下操作之一:
- 以使用 Windows SDK 14393 或更高版本编译的新软件包替换适用的软件包。
- 如果已经有一个支持 Xbox 的软件包,并且是使用 Windows SDK 版本 14393 或更高版本编译的,请提高其版本号,使其成为提交中版本号最高的软件包。
- 取消选中 Windows 10 Xbox 复选框。
如果仍无法解决问题,请联系支持人员。
如果你为 Windows 10 IoT Core 提交的是 UWP 应用,则不应在上传软件包后更改默认选择;Windows 10 IoT 没有单独的复选框。 有关发布 IoT Core UWP 应用的更多信息,请参阅 Microsoft 应用商店对 IoT Core UWP 应用的支持。
重要
若要完全防止特定 Windows 10 或 Windows 11 设备系列收到你的提交,请将清单中的 TargetDeviceFamily 元素更新为仅面向你想要支持的设备系列(即 Windows.Desktop),而不是将其保留为默认情况下Microsoft Visual Studio 包含在清单中的 Windows.Universal 值(适用于通用设备系列)。
请注意,你在设备系列可用性部分中所做的选择仅适用于新的购买。 任何已经拥有你的应用的用户都可以继续使用它,并将获取你提交的任何更新,即使你在这里删除了他们的设备系列。 这甚至适用于在升级到 Windows 10 或 Windows 11 之前获取你的应用的客户。
有关设备系列的详细信息,请参阅使用扩展 SDK 进行编程。
了解排名
除了让你指明哪些 Windows 10 或 Windows 11 设备系列可以下载你提交的内容外,设备系列可用性部分还会显示将提供给不同设备系列的特定软件包。 如果有多个软件包可以在某个设备系列上运行,表格将根据软件包的版本号显示提供软件包的顺序。 有关应用商店如何根据版本号对软件包进行排名的更多信息,请参阅软件包版本号。
例如,你有两个软件包:Package_A.appxupload 和 Package_B.appxupload。 对于给定的设备系列,如果 Package_A.appxupload 排在第 1 位,而 Package_B.appxupload 排在第 2 位,这意味着当使用该类型设备的客户购买你的应用时,应用商店将首先尝试交付 Package_A.appxupload。 如果客户的设备无法运行 Package_A.appxupload,则应用商店将提供 Package_B.appxupload。 如果客户设备无法运行该设备系列的任何程序包(例如,当应用支持的“最低版本”高于客户设备上的版本时),则客户无法将应用下载到该设备。
注意
当确定向给定客户提供哪个程序包时,不必考虑 .xap 程序包中的版本号(对于之前发布的应用)。 因此,如果你有多个排名相同的 .xap 软件包,则会看到星号而不是数字,客户可能会收到任一软件包。 要将客户从一个 .xap 软件包更新到一个更新的软件包,请确保在新提交的软件包中删除旧的 .xap。