可通过两种方式部署Windows App SDK:
- 依赖框架的。 应用依赖于目标计算机上存在的Windows App SDK运行时和/或框架包。 依赖于框架的部署是Windows App SDK的默认部署模式,用于高效使用计算机资源和可服务性。
- 自包含。 应用附带Windows App SDK依赖项。 自包含型部署是 Windows App SDK 1.1 预览版 1 中引入的一种部署选项。
本主题同样使用打包应用、带有外部位置的打包应用以及未打包应用。 有关这些术语的说明,请参阅 部署概述。
| 部署依赖于框架的程序 | 部署独立包 | |
|---|---|---|
| 优点 |
小型部署。 仅会分发您的应用程序及其其他依赖项。 Windows App SDK运行时和框架包会由打包的依赖框架应用自动安装;或者由与外部位置打包或未打包的依赖框架应用作为Windows App SDK运行时安装程序的一部分进行安装。 可用的。 Windows App SDK Framework 包会自动安装对 Windows App SDK 的服务更新,而无需应用程序执行任何操作。 |
控制 Windows App SDK 版本。 你可以控制随应用一起部署Windows App SDK的版本。 除非重新生成并重新分发应用,否则Windows App SDK的服务更新不会影响你的应用。 与其他应用隔离。 应用和用户无法卸载Windows App SDK依赖项,而无需卸载整个应用。 Xcopy 部署。 由于 Windows 应用程序 SDK 的依赖项由您的应用程序自带,您可以通过直接复制生成的输出文件来部署应用程序,而无需任何额外的安装要求。 |
| 缺点 |
其他安装依赖项。 需要安装Windows App SDK运行时和/或框架包,这可能会增加应用安装的复杂性。 共享依赖项。 共享依赖项被卸载的风险。 卸载共享组件的应用或用户可能会影响共享依赖项的其他应用的用户体验。 兼容性风险。 Windows App SDK服务更新引入破坏性更改的风险。 虽然服务更新应提供向后兼容性,但可能会引入回归。 |
更大的部署(仅限解压缩的应用)。 由于您的应用包含 Windows App SDK,因此所需的下载大小和硬盘空间比框架依赖版本要大。 性能(仅限解压缩的应用)。 加载速度较慢,并且使用更多内存,因为代码页不会与其他应用共享。 不可服务。 只能通过发布应用的新版本来更新随应用一起分发的Windows App SDK版本。 你负责将Windows App SDK的服务更新集成到应用中。 |
另请参阅创建第一个 WinUI 3 项目,以及在现有项目中使用 Windows App SDK。
关于框架依赖部署的更多信息
在配置依赖框架的应用进行部署之前,若要详细了解应用使用Windows App SDK时使用的依赖项,请查看 Windows App SDK 的部署体系结构。
封装应用
如果选择使用依赖于框架的打包应用(请参阅 部署概述),下面介绍了如何使用应用部署Windows App SDK运行时:
- 依赖框架的打包应用的 Windows App SDK 部署指南
- 管理 MSIX 部署
与外部位置配套或未打包的应用
如果选择使用具有外部位置的依赖框架的打包应用或依赖于框架的未打包应用(请参阅 Deployment 概述),下面介绍了如何使用应用部署Windows App SDK运行时:
- Windows App SDK框架依赖应用使用外部位置打包或未打包的部署指南
- 在使用外部位置打包的应用或未打包但使用 Windows App SDK 的应用中使用引导程序 API 的教程
有关独立部署的详细信息
初始化Windows App SDK
初始化 Windows App SDK 的方式取决于您是否打包应用,以及如何打包应用;还取决于相对于 Windows App SDK 运行时的部署方式。 使用适用于您应用的以下部分。
封装应用
| 应用部署方式 | 如何初始化 |
|---|---|
| 依赖于框架 | 请参阅 调用部署 API。 |
| 自成一体 | 无需初始化。 |
解压缩的应用和打包到外部位置的应用
| 应用部署方式 | 如何初始化 |
|---|---|
| 依赖于框架 | 请参阅 在打包至外部位置的应用或未打包的应用中使用引导程序 API。 |
| 自成一体 | 请参阅 选择退出(或加入)自动 UndockedRegFreeWinRT 支持。 |
相关主题
- 部署概述
- Windows App SDK的部署架构
- 依赖框架的打包应用的 Windows App SDK 部署指南
- 管理 MSIX 部署
- Windows App SDK框架依赖应用使用外部位置打包或未打包的部署指南
- 在使用外部位置打包的应用或未打包但使用 Windows App SDK 的应用中使用引导程序 API 的教程
- Windows App SDK独立应用的部署指南
- 创建第一个 WinUI project
- 在现有项目中使用 Windows App SDK