可通过两种方式部署 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-ing 生成输出即可部署应用,而无需任何其他安装要求。 |
缺点 |
其他安装依赖项。 需要安装 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 的通过外部位置打包的应用或未打包应用中使用引导程序 API
有关独立部署的详细信息
有关自包含应用,请参阅
初始化 Windows 应用 SDK
初始化 Windows 应用 SDK 的方式取决于您是否打包应用程序,以及您相对于 Windows 应用 SDK 运行时的部署方式。 使用适用于您应用的以下部分。
封装应用
应用部署方式 | 如何初始化 |
---|---|
依赖于框架 | 请参阅 调用部署 API。 |
自成一体 | 无需初始化。 |
解压缩的应用和打包到外部位置的应用
应用部署方式 | 如何初始化 |
---|---|
依赖于框架 | 请参阅 在打包至外部位置的应用或未打包的应用中使用引导程序 API。 |
自成一体 | 请参阅 选择退出(或加入)自动 UndockedRegFreeWinRT 支持。 |