Windows 应用 SDK 部署概述

可以通过两种方式部署 Windows 应用 SDK:

  • 依赖于框架。 应用程序依赖存在于目标计算机上的 Windows 应用 SDK 运行时和/或框架包。 依赖于框架的部署是 Windows 应用 SDK 的默认部署模式,因为此模式可以高效地利用计算机的资源和可维护性。
  • 独立。 应用程序带有 Windows 应用 SDK 依赖项。 独立部署是 Windows 应用 SDK 1.1 预览版 1 中引入的一个部署选项。

本主题还使用了打包的应用程序使用外部位置的打包的应用程序未打包的应用程序这几个术语。 有关这些术语的说明,请参阅部署概述

依赖于框架的部署 独立的部署
优点 小型部署。 仅分发应用程序以及它的其他依赖项。 Windows 应用 SDK 运行时和框架包由打包的依赖于框架的应用程序自动安装;或者作为 Windows 应用 SDK 运行时安装程序的一部分,由与外部位置打包在一起或未打包的依赖于框架的应用程序安装。

可维护。 Windows 应用 SDK 的维护更新通过 Windows 应用 SDK 框架包自动安装,无需应用程序执行任何操作。
控制 Windows 应用 SDK 版本。 你可以控制随应用程序部署的 Windows 应用 SDK 的版本。 除非重新构建并重新分发应用程序,否则 Windows 应用 SDK 的维护更新不会影响你的应用程序。

与其他应用程序隔离。 除非卸载整个应用程序,否则应用程序和用户无法卸载 Windows 应用 SDK 依赖项。

Xcopy 部署。 由于 Windows 应用 SDK 依赖项是应用程序自带的,因此只需对你的生成输出执行 xcopy 即可部署应用程序,而无需满足任何其他安装要求。
缺点 其他安装依赖项。 需要安装 Windows 应用 SDK 运行时和/或框架包,这样可能导致应用程序的安装变得更加复杂。

共享的依赖项。 可能导致共享的依赖项被卸载。 卸载共享的组件的应用程序或用户可能会影响共享依赖项的其他应用程序的用户体验。

兼容性风险。 可能导致对 Windows 应用 SDK 进行的维护更新引入中断性变更。 尽管维护更新应当提供向后兼容性,但可能会引入回归。
更大的部署(仅限未打包的应用程序)。 由于应用程序包含 Windows 应用 SDK,因此所需的下载大小和硬盘空间大于依赖于框架的版本的需求。

性能(仅限未打包的应用程序)。 加载速度更慢,并使用更多的内存,因为不与其他应用程序共享代码页面。

不可维护。 只能通过发布应用程序的新版本来更新随应用程序一起分发的 Windows 应用 SDK 版本。 你需要负责将 Windows 应用 SDK 的维护更新集成到应用程序中。

另请参阅创建第一个 WinUI 3 项目在现有项目中使用 Windows 应用 SDK

有关依赖于框架的部署的更多信息

在配置要部署的依赖于框架的应用程序之前,请查看 Windows 应用 SDK 的部署体系结构,以详细了解应用程序在使用 Windows 应用 SDK 时使用的依赖项。

封装应用

如果选择使用依赖于框架的打包的应用程序(请参阅部署概述),下面介绍了如何使用应用程序部署 Windows 应用 SDK 运行时:

与外部位置打包在一起或未打包的应用程序

如果选择使用依赖于框架的与外部位置打包在一起的应用程序或者依赖于框架的未打包的应用程序(请参阅部署概述),下面介绍了如何使用应用程序部署 Windows 应用 SDK 运行时:

有关独立部署的更多信息

请参阅《独立应用程序的 Windows 应用 SDK 部署指南》。

初始化 Windows 应用 SDK

初始化 Windows 应用 SDK 的方式取决于是否和如何对应用程序进行打包,以及相对于 Windows 应用 SDK 运行时进行部署的方式。 使用适用于应用程序的以下部分。

封装应用

如何部署应用程序 如何初始化
依赖于框架 请参阅调用部署 API
自包含 无需进行初始化。

未打包的应用程序和与外部位置打包在一起的应用程序

如何部署应用程序 如何初始化
依赖于框架 请参阅在与外部位置打包在一起的应用程序或未打包的应用程序中使用引导程序 API
自包含 请参阅选择退出(或加入)自动 UndockedRegFreeWinRT 支持