分发应用之前,需要打包它。 本文介绍使用 Visual Studio 配置、创建和测试 MSIX 包的过程。
应用包的类型
应用包 (.msix 或 .appx)
包含应用程序及其资源的单个包,以单个设备体系结构为目标。 例如,x64 或 x86 应用程序包。 若要针对多个架构使用应用捆绑包,需要为每个架构生成一个捆绑包。应用捆绑包 (.msixbundle 或 .appxbundle)
应用捆绑包是一种可以包含多个应用包的包,每个包都是为了支持特定设备体系结构而构建的。 例如,应用捆绑包可以包含三个单独的应用包,用于 x86、x64 和 ARM 配置。 应尽可能生成应用捆绑包,因为它们允许应用在最广泛的设备上可用。应用包上传文件 (.msixupload 或 .appxupload) - 仅适用于应用商店提交
一个文件,其中包含多个应用包或应用捆绑包以支持各种处理器体系结构。 应用包上传文件还包含一个符号文件,用于在Microsoft应用商店中发布应用后 分析应用性能 。 如果将应用与 Visual Studio 打包,打算将其提交到合作伙伴中心,以便发布到 Microsoft 应用商店,则会自动创建此文件。
下面是准备和创建应用包的步骤概述:
打包应用之前。 按照以下步骤确保应用已准备好打包。
配置项目。 使用 Visual Studio 清单设计器配置包。 例如,添加磁贴图像并选择应用支持的方向。
生成应用包。 使用 Visual Studio 打包向导创建应用包。
运行、调试和测试打包的应用程序。 通过 Visual Studio 运行和调试应用包,或者直接安装该包。
在打包应用之前
测试应用。 在打包应用程序之前,请确保它在计划支持的所有设备系列上按预期工作。 这些设备系列可能包括桌面、移动、Surface Hub、Xbox、IoT 设备或其他设备。 有关使用 Visual Studio 部署和测试应用的详细信息,请参阅 部署和调试 UWP 应用 (也适用于打包的桌面应用)。
优化应用。 可以使用 Visual Studio 的分析和调试工具来优化打包应用程序的性能。 例如,UI 响应能力的时间线工具、内存使用情况工具、CPU 使用率工具等。 有关这些工具的详细信息,请参阅 分析功能教程 主题。
检查 .NET 本机兼容性(适用于 VB 和 C# 应用)。 在通用 Windows 平台中,有一个本机编译器可提高应用的运行时性能。 进行此更改后,应在此编译环境中测试应用。 默认情况下, 发布 生成配置启用 .NET 本机 工具链,因此,使用此 发布 配置测试应用并检查应用是否按预期方式运行非常重要。
配置你的项目
应用清单文件(Package.appxmanifest)是一个 XML 文件,其中包含创建应用包所需的属性和设置。 例如,应用清单文件中的属性描述用作应用磁贴的图像,以及在用户旋转设备时应用支持的方向。
Visual Studio 清单设计器允许在不编辑文件的原始 XML 的情况下更新清单文件。
使用清单设计器配置包
在“解决方案资源管理器”中,展开应用程序项目的项目节点。
双击 Package.appxmanifest 文件。 如果清单文件已在 XML 代码视图中打开,Visual Studio 会提示你关闭该文件。
现在可以决定如何配置应用。 每个选项卡都包含可以配置有关应用的信息,并在必要时链接到详细信息。
检查是否具有 视觉资产 选项卡上应用所需的所有图像。你可以在其中提供 应用图标和徽标。
在 “打包 ”选项卡中,可以输入发布数据。 可在其中选择要用于对应用进行签名的证书。 所有 MSIX 应用都必须使用证书进行签名。
注释
从 Visual Studio 2019 开始,临时证书不再在打包桌面或 UWP 项目中生成。 若要创建或导出证书,请使用 本文中所述的 PowerShell cmdlet。 在最新版本的 Visual Studio 中,还可以 使用存储在 Azure Key Vault 中的证书对应用进行签名 ,以便开发和测试方案。
重要
如果要在 Microsoft Store 中发布应用,则应用将使用受信任的证书进行签名。 这样,用户无需安装关联的应用签名证书即可安装和运行应用。
如果要在设备上安装应用包,首先需要信任该包。 若要信任包,证书必须安装在用户的设备上。
为应用进行必要的编辑后,保存 Package.appxmanifest 文件。
如果要通过 Microsoft 应用商店分发应用,Visual Studio 可以将包与应用商店相关联。 为此,请在解决方案资源管理器中右键单击项目名称,然后选择“ 发布->关联应用”与应用商店 (在 Visual Studio 2019 版本 16.3 之前),“ 发布 ”菜单名为 “应用商店”。 也可以在“ 创建应用包 ”向导中执行此作,如以下部分所述。 关联应用时,清单设计器的“打包”选项卡中的某些字段会自动更新。
生成应用包
应用可以通过在你的网站上发布、使用应用管理工具(如 Microsoft Intune 和 Configuration Manager 等)来安装,而无需在应用商店中发布。你还可以直接安装 MSIX 包,以便在本地或远程计算机上进行测试。
使用打包向导创建应用包
注释
以下说明和屏幕截图描述了从 Visual Studio 2019 版本 16.3 起的过程。 如果使用的是早期版本,则某些 UI 看起来可能有所不同。 如果要打包桌面应用程序,请右键单击 Windows 应用程序打包项目节点。
在 解决方案资源管理器中,打开应用程序项目的解决方案。
右键单击项目并选择 “发布->创建应用包 ”(在 Visual Studio 2019 版本 16.3 之前, “发布 ”菜单名为 “应用商店”)。
在向导的第一页中选择 旁加载 ,然后单击“ 下一步”。
在 “选择签名方法 ”页上,选择是跳过打包签名还是选择证书进行签名。 可以从本地证书存储中选择证书、选择证书文件或创建新证书。 若要在最终用户计算机上安装 MSIX 包,必须使用计算机上受信任的证书对其进行签名。
双击安装应用包
只需双击应用包文件即可安装应用包。 为此,请导航到应用包或应用捆绑文件,然后双击它。 应用安装程序 启动并提供基本应用信息以及安装按钮、安装进度栏和任何相关的错误消息。
注释
应用安装程序假定该包已使用设备上受信任的证书进行签名。 如果没有,则需要将签名证书安装到设备上的“受信任人”或“受信任的发布者证书颁发机构存储区”。 如果不确定如何执行此作,请参阅 安装测试证书。
使用安装脚本安装应用包
打开
*_Test
文件夹。右键单击 Add-AppDevPackage.ps1 文件。 选择 “使用 PowerShell 运行 ”,然后按照提示进行作。
安装应用包后,PowerShell 窗口会显示以下消息: 已成功安装应用。
单击“开始”按钮按名称搜索应用,然后启动它。
后续步骤:调试和测试应用包
请参阅 运行、调试和测试应用包 ,了解如何在 Visual Studio 中或使用 Windows 调试工具调试应用程序。
创建用于商店提交的应用包上传文件
若要将应用分发到 Microsoft 应用商店,建议生成 应用包上传文件 (.msixupload 或 .appxupload),并将此文件提交到合作伙伴中心。 尽管可以单独将应用包或应用捆绑包提交到合作伙伴中心,但我们建议改为提交应用包上传文件。
可以使用 Visual Studio 中的 “创建应用包 ”向导创建应用包上传文件,也可以从现有应用包或应用捆绑包手动创建一个。
注释
如果要手动创建应用包(.msix or.appx)或应用捆绑包(.msixbundle 或 .appxbundle),请参阅 使用 MakeAppx.exe 工具创建应用包。
使用 Visual Studio 创建应用包上传文件
注释
以下说明和屏幕截图描述了从 Visual Studio 2019 版本 16.3 起的过程。 如果使用的是早期版本,则某些 UI 看起来可能有所不同。
在 解决方案资源管理器中,打开 UWP 应用项目的解决方案。
右键单击项目并选择 “发布->创建应用包 ”(在 Visual Studio 2019 版本 16.3 之前, “发布 ”菜单名为 “应用商店”)。 如果此选项已禁用或根本不显示,请检查该项目是否为通用 Windows 项目。
此时会显示 “创建应用包 ”向导。
在第一个对话框中,选择名为新应用名称的“Microsoft Store”,然后单击“下一步”。
如果已将项目与应用商店中的应用相关联,还可以选择为关联的应用商店应用创建包。 如果选择 旁加载,Visual Studio 将不会生成用于合作伙伴中心提交的应用包上传文件(.msixupload 或 .appxupload)。 如果只想为非应用商店分发创建 MSIX packge 或捆绑包,则可以选择此选项。
在下一页上,使用开发人员帐户登录到合作伙伴中心。 如果还没有开发人员帐户,向导将帮助你创建一个。
从当前注册到你的帐户的应用列表中选择你的包的应用程序名称,或者保留一个新的应用程序名称(如果你尚未在合作伙伴中心保留)。
注释
如果您使用 Visual Studio 2017,通过 Microsoft 帐户 (MSA) 将无法列出当前注册到您帐户的应用程序或保留新的应用程序名称,只有使用 Azure Active Directory (AAD) 帐户才能正常运行。 从 Visual Studio 2019 开始,支持 MSA 帐户。
请确保在 “选择和配置包 ”对话框中选择所有三种体系结构配置(x86、x64 和 ARM),以确保应用可以部署到最广泛的设备。 在 “生成应用捆绑包 ”列表框中,选择“ 始终”。 应用捆绑包(.appxbundle 或 .msixbundle)优先于单个应用包文件,因为它包含为每种处理器体系结构配置的应用包集合。 选择生成应用捆绑包时,应用捆绑包将包含在最终应用包上传(.appxupload 或 .msixupload)文件中,以及调试和崩溃分析信息。 如果不确定要选择哪个体系结构,或者想要详细了解各种设备使用的体系结构,请参阅 应用包体系结构。
发布应用后,包含公共符号文件以在合作伙伴中心分析应用性能。 配置任何其他详细信息,例如版本号或包输出位置。
单击“ 创建 ”以生成应用包。 如果在步骤 3 中选择了“我想创建程序包以上传到 Microsoft 应用商店”选项,并且正在为提交到合作伙伴中心创建包,向导将创建一个包上传(.appxupload 或 .msixupload)文件。 如果选择 了“我想在步骤 3 中创建用于旁加载的包 ”,向导将根据步骤 6 中的选择创建单个应用包或应用捆绑包。
成功打包应用后,你将看到此对话框,可以从指定的输出位置检索应用包上传文件。 此时,可以在 本地计算机或远程计算机上验证应用包 ,并 自动执行存储提交。
手动创建应用包上传文件
将以下文件放在文件夹中:
- 一个或多个应用包(.msix 或.appx)或应用捆绑包(.msixbundle 或 .appxbundle)。
- .appxsym 文件。 这是一个压缩的 .pdb 文件,其中包含用于 Partner Center 崩溃分析的您应用程序的公共符号。 可以省略此文件,但如果这样做,则不会为应用提供崩溃分析或调试信息。
选择文件夹中的所有文件,右键单击这些文件,然后选择“发送到 ->压缩(zip)文件夹”。
将新的 zip 文件的扩展名从 .zip 更改为 .msixupload 或 .appxupload。
验证应用包
在将应用提交到合作伙伴中心进行本地或远程计算机上的认证之前,请对其进行验证。 只能验证应用包的发布版本,而不是调试版本。 有关将应用提交到合作伙伴中心的详细信息,请参阅 应用提交。
在本地验证应用包
在“创建应用包”向导的最后一个“包创建已完成”页中,选择“本地计算机”选项,然后单击“启动 Windows 应用认证工具包”。 有关使用 Windows 应用认证工具包测试应用的详细信息,请参阅 Windows 应用认证工具包。
Windows 应用认证工具包(WACK)执行各种测试并返回结果。 有关更多详细信息,请参阅 Windows 应用认证工具包测试 。
如果你有要用于测试的远程 Windows 10 设备,则需要在该设备上手动安装 Windows 应用认证工具包。 下一部分将指导你完成这些步骤。 完成后,可以选择 “远程计算机 ”并单击“ 启动 Windows 应用认证工具包 ”以连接到远程设备并运行验证测试。
WACK 完成并且应用已通过认证后,即可将应用提交到合作伙伴中心。 请确保上传正确的文件。 文件的默认位置可以在解决方案
\[AppName]\AppPackages
的根文件夹中找到,它将以 .appxupload 或 .msixupload 文件扩展名结尾。 如果您选择了包含所有包体系结构的应用捆绑包,该名称将是[AppName]_[AppVersion]_x86_x64_arm_bundle.appxupload
或[AppName]_[AppVersion]_x86_x64_arm_bundle.msixupload
格式。
在远程 Windows 10 设备上验证应用包
请按照启用设备进行开发说明启用您的 Windows 10 设备以用于开发。
重要
不能在适用于 Windows 10 的远程 ARM 设备上验证应用包。
下载并安装适用于 Visual Studio 的远程工具。 这些工具用于远程运行 Windows 应用认证工具包。 可以通过访问 远程计算机上的“运行 MSIX 应用程序”来获取有关这些工具的详细信息,包括从何处下载这些工具。
下载所需的 Windows 应用认证工具包 ,然后将其安装在远程 Windows 10 设备上。
在向导的“ 包创建已完成 ”页上,选择 “远程计算机 ”选项按钮,然后选择 “测试连接 ”按钮旁边的省略号按钮。
注释
仅当选择了至少一个支持验证的解决方案配置时, “远程计算机 ”选项按钮才可用。 有关使用 WACK 测试应用的详细信息,请参阅 Windows 应用认证工具包。
请在您的子网内指定设备类型,或者提供子网外部设备的域名服务器(DNS)名称或 IP 地址。
在 “身份验证模式” 列表中,如果你的设备不需要使用 Windows 凭据登录到它,请选择 “无 ”。
选择 “选择 ”按钮,然后选择 “启动 Windows 应用认证工具包 ”按钮。 如果远程工具在该设备上运行,Visual Studio 将连接到设备,然后执行验证测试。 请参阅 Windows 应用认证工具包测试。
自动化应用商店提交
从 Visual Studio 2019 开始,可以直接从 IDE 将生成的 .appxupload 文件提交到 Microsoft Store,方法是在“创建应用包向导”结束时选择“在通过 Windows 应用认证工具包验证后自动提交到 Microsoft Store”选项。 此功能利用 Azure Active Directory 访问发布应用所需的合作伙伴中心帐户信息。 若要使用此功能,需要将 Azure Active Directory 与合作伙伴中心帐户相关联,并检索提交所需的多个凭据。
将 Azure Active Directory 与合作伙伴中心帐户关联
在检索自动应用商店提交所需的凭据之前,必须先在 合作伙伴中心仪表板 中执行这些步骤(如果尚未这样做)。
将合作伙伴中心帐户与组织的 Azure Active Directory 相关联。 如果组织已使用来自Microsoft的 Office 365 或其他业务服务,则已有 Azure AD。 否则,可以从合作伙伴中心内创建新的 Azure AD 租户,无需额外付费。
将 Azure AD 应用程序添加到合作伙伴中心帐户。 此 Azure AD 应用程序表示用于访问您的开发者中心帐户提交的应用或服务。 必须将此应用程序分配给 管理器 角色。 如果此应用程序已存在于 Azure AD 目录中,可以在 “添加 Azure AD 应用程序 ”页上将其选中,将其添加到开发人员中心帐户。 否则,可以在 “添加 Azure AD 应用程序”页上创建新的 Azure AD 应用程序 。
检索提交所需的凭据
接下来,可以检索提交所需的合作伙伴中心凭据: Azure 租户 ID、 客户端 ID 和 客户端密钥。
转到 合作伙伴中心仪表板 并使用 Azure AD 凭据登录。
在合作伙伴中心仪表板上,选择齿轮图标(仪表板右上角附近),然后选择 “开发人员设置”。
在左窗格中的 “设置” 菜单中,单击“ 用户”。
单击 Azure AD 应用程序的名称,转到应用程序的设置。 在此页上,复制 租户 ID 和 客户端 ID 值。
在 “密钥 ”部分中,单击“ 添加新密钥”。 在下一个屏幕上,复制与客户端密码对应的 密钥 值。 离开此页面后,将无法再次访问此信息,因此请确保不会丢失此信息。 有关详细信息,请参阅 管理 Azure AD 应用程序的密钥。
在 Visual Studio 中配置自动应用商店提交
完成上述步骤后,可以在 Visual Studio 2019 中配置自动应用商店提交。
在 “创建应用包”向导结束时,选择“ 在 Windows 应用认证工具包验证后自动提交到Microsoft应用商店 ”,然后单击“ 重新配置”。
在 “配置Microsoft应用商店提交设置 ”对话框中,输入 Azure 租户 ID、客户端 ID 和客户端密钥。
重要
可以将你的凭据保存到你的配置文件中,以便在将来提交时使用
单击 “确定” 。
提交将在 WACK 测试完成后开始。 可以在 “验证和发布 ”窗口中跟踪提交进度。