运行、调试和测试 MSIX 包

运行打包的应用程序并查看其外观,而无需对其进行签名。 然后,设置断点并单步执行代码。 准备好在生产环境中测试应用程序时,请对应用程序进行签名,然后安装它。 本主题说明如何执行上述每一项作。

运行应用程序

可以运行应用程序在本地对其进行测试,而无需获取证书并对其进行签名。 运行应用程序的方式取决于用于创建包的工具。

使用 Visual Studio 创建了包

将打包项目设置为启动项目,然后按 F5 启动应用。

你使用其他工具创建了包

打开 Windows PowerShell 命令提示符,并从包文件的根目录运行以下 cmdlet:

Add-AppxPackage –Register AppxManifest.xml

若要启动应用,请在 Windows“开始”菜单中找到它。

开始菜单中打包的应用程序

注释

打包的应用程序始终作为交互式用户运行,并且安装打包应用程序的任何驱动器都必须格式化为 NTFS 格式。

调试应用

调试应用程序的方式取决于用于创建包的工具。

如果使用 Visual Studio 2017 版本 15.4 及更高版本中提供 的新打包项目 (包括 Visual Studio 2019)创建了包,只需将打包项目设置为启动项目,然后按 F5 调试应用。

如果使用任何其他工具创建了包,请执行以下步骤:

  1. 请确保至少启动打包的应用程序一次,以便将其安装在本地计算机上。

    请参阅上面的 “运行应用 ”部分。

  2. 启动 Visual Studio。

    如果要使用提升的权限调试应用程序,请使用 “以管理员身份运行 ”选项启动 Visual Studio。

  3. 在 Visual Studio 中,选择 “调试->其他调试目标->调试已安装的应用包”。

  4. “已安装的应用包 ”列表中,选择应用包,然后选择“ 附加 ”按钮。

在调试会话之间修改应用程序

如果对应用程序进行更改以修复 bug,请使用 MakeAppx 工具重新打包它。 请参阅 “运行 MakeAppx”工具

调试整个应用程序生命周期

在某些情况下,你可能希望对调试过程进行精细的控制,包括能够在启动应用程序之前调试应用程序。

可以使用 PLMDebug 完全控制应用程序生命周期,包括暂停、恢复和终止。

Windows SDK 随附了 PLMDebug

测试你的应用

若要在准备分发时为端到端生产测试部署打包应用程序,需要使用部署应用的计算机中受信任的证书对包进行签名。

测试使用 Visual Studio 打包的应用程序

Visual Studio 使用测试证书对应用程序进行签名。 你将在 “创建应用包 ”向导生成的输出文件夹中找到该证书。 证书文件具有 .cer 扩展名,必须在要测试应用程序的电脑上将该证书安装到 受信任的人员 证书存储中。 请参阅 在 Visual Studio 中打包桌面或 UWP 应用

测试使用其他工具打包的应用程序

如果在 Visual Studio 外部打包应用程序,则可以使用签名工具对应用程序包进行签名。 如果用于签名的证书在您测试的计算机上不受信任,则需要在安装应用包之前将证书安装到受信任的人员证书库。

对应用程序包进行签名

手动对应用程序包进行签名:

  1. 创建证书。 请参阅 “创建证书”。

  2. 请将该证书安装到系统的受信任人员证书存储中。

  3. 使用该证书对应用程序进行签名,请参阅 使用 SignTool 对应用包进行签名

重要

确保证书上的发布者名称与应用的发布者名称匹配。

相关示例

SigningCerts

使用 comparepackage.exe 测试应用程序

ComparePackage.exe 是 Windows SDK 中的一个工具,它显示一个报表,其中指出哪些文件已更改、添加了哪些新文件、已删除了哪些文件,以及当应用从一个版本更新到下一个版本时保持不变的内容。

使用本地应用附加功能测试您的应用程序

使用本地应用附加可以在设备上运行 MSIX 应用程序,而无需将它们安装到设备上。 支持本地应用附加的 API 在 Windows 11 企业版和 Windows 10 企业版上完全受支持,这些 API 已烘焙到 OS 中以装载和卸载应用程序。 还可以使用 PowerShell cmdlet 或脚本自动执行该过程。 有关更多信息,请参阅 测试 MSIX 包以进行应用关联

测试适用于 Windows 10 S 的应用程序

发布应用之前,请确保它在运行 Windows 10 S 的设备上正常运行。事实上,如果计划将应用程序发布到 Microsoft 应用商店,则必须执行此作,因为它是存储要求。 不能在运行 Windows 10 S 的设备上正常运行的应用将无法认证。

请参阅 测试适用于 Windows 10 S 的 Windows 应用程序

在完全信任容器中运行另一个进程

可以在指定应用包的容器内调用自定义进程。 这可用于测试方案(例如,如果你有自定义测试工具并想要测试应用的输出)。 为此,请使用 Invoke-CommandInDesktopPackage PowerShell cmdlet:

Invoke-CommandInDesktopPackage [-PackageFamilyName] <string> [-AppId] <string> [-Command] <string> [[-Args]
    <string>]  [<CommonParameters>]

后续步骤

有疑问? 在 MSIX 技术社区上询问我们。