Windows 应用默认平台

本文为 Windows 应用开发人员提供有关如何在 Windows 上与默认应用平台集成以及如何引导用户更改 Windows 11 中的默认应用设置的信息。

应用默认平台使开发人员能够注册其应用以支持 Windows 上的文件和链接类型,以支持两个主要方案:

  • 允许用户指定 Windows 使用“设置”中的默认应用 UX 打开特定文件类型或链接类型的应用。
  • 允许开发人员通过调用文件或链接类型来简化应用之间的启动。

最终用户的默认应用体验

Windows 11 允许用户通过 Windows 设置和其他系统 UI 更改默认应用。

  • 安装注册到该文件或链接类型的新应用时,Windows 会自动提示用户打开文件或链接类型。
  • 应用还可以将用户定向到“设置”以更改默认应用设置,引导用户使用应用内提示或文档完成此过程。

应用开发人员的默认应用设置

你的应用可以注册为文件和链接类型的默认处理程序。 Windows 桌面应用程序和 WinUI 应用都可以注册为默认处理程序。 如果用户选择应用作为默认处理程序,则调用该文件或链接类型时,Windows 将激活你的应用。

面向开发人员的默认应用平台最佳做法

  • 使用ms-settings:defaultapps URI 直接启动默认应用程序设置页或在默认应用程序中启动您的应用页面。 有关详细信息,请参阅 “启动默认应用设置”页
  • 谨慎地提示用户。 当应用打开支持但不是默认值的文件类型时,请使用上下文提示。
  • 提供明文说明:在应用或支持网站中包含屏幕截图或分步指南。
  • 尊重用户选择:避免主动提示或重复通知。
  • 仅当打算处理该类型的所有启动事件时,才注册该类型。 例如,如果应用只需要在内部使用文件类型,则无需注册为默认处理程序。 如果选择注册某个类型,则必须为最终用户提供为该类型激活应用时预期的功能。

例如,应用可以通过调用 Launcher.LaunchUriAsync 将应用移交给另一个应用,以告知 Windows 为指定的链接类型启动用户配置的默认应用。

应用可以通过调用已知的 URI 方案(例如 https:)来指示 Windows 使用用户配置的默认值。

如果应用知道它在应用默认平台中注册的链接类型,例如 ms-settings:,应用可以显式选择另一个应用来启动。

URI 方案可以是官方标准、公开记录或专有方案。 例如,

  • https: 被互联网号码分配局在 RFC8615 中记录为永久方案。
  • Spotify 公开记录 spotify: 方案,请参阅 Spotify URI 和 ID
  • 其他方案可能是专有的,如果一个应用程序注册并被设置为一个它无法实现的 URI 方案的默认方案,它将导致用户的端到端体验中断。

所有应用都可以通过注册它们支持的类型来参与应用默认平台。 打包的应用可以使用其应用包清单架构文件中的 uap:FileTypeAssociation 元素来声明支持的文件类型。 非打包应用支持其他文件关联机制。 有关详细信息,请参阅 文件类型和文件关联 以及 有关文件关联和默认程序的指南

处理激活操作

当 Windows 应用启动时,Windows 会向应用提供信息,以帮助应用确定它是否是通过文件关联或链接类型调用启动的。 有关详细信息,请参阅在 Windows 应用中处理文件激活 ,以及 使用 Windows 应用处理 URI 激活

应用默认平台的安全注意事项

为了帮助保护用户的默认应用选择免受恶意软件更改设置的侵害,Windows 要求必须通过 Windows 系统 UI 设置应用默认设置。

  • Windows 不允许在系统 UI 中不进行用户交互的情况下对默认应用进行编程更改。 有关详细信息,请参阅 托管环境中的应用默认值
  • 应用默认值的用户设置数据在注册表数据存储中被模糊处理。 应用不支持基于注册表的更改。
  • 应用默认设置的用户设置数据受 Windows 筛选器驱动程序(UCPD.sys)的保护,该驱动程序阻止应用写入应用默认数据。
  • 应用可以查询哪个应用是给定类型的默认值。 有关详细信息,请参阅 IApplicationAssociationRegistration::QueryCurrentDefault
  • Microsoft应用商店分发的应用必须遵守Microsoft应用商店策略,特别是 第 10.2.8 节 ,这要求应用仅使用受支持的方法来更新 Windows 设置,包括应用默认设置。

托管环境中的应用默认值

在托管电脑上,IT 管理员可以通过策略控制应用默认设置。 应用默认平台提供组策略和移动设备管理(MDM)策略,以方便这些管理方案。 这些策略还适用于漫游用户配置文件,以支持更复杂的环境。 由于上述安全注意事项,未使用这些策略的解决方案可能无法正常工作。 有关详细信息,请参阅 ApplicationDefaults 策略 CSP部署漫游用户配置文件