> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# MSIXVC2 打包概述

> MSIXVC2 是 GDK 中新的 PC 打包格式，可提供更小的基础包、更快的内容更新以及简化的上传工作流。

MSIXVC2 是使用 Microsoft 游戏开发工具包(GDK)构建的 PC 游戏的新打包格式。与原始的 MSIXVC 格式相比,它可显著减小基础游戏包和内容更新的体积、加快打包速度,并简化上传工作流。MSIXVC2 从 2026 年 10 月 GDK 起正式发布。

> [!NOTE]
>
> MSIXVC2 **仅适用于 PC**。XBOX 主机游戏继续使用现有的 XVC 打包格式。`makepkg` 工具同时处理这两种格式 —— 一个工具适用于两种平台。

## 为什么选择 MSIXVC2

最初的 MSIXVC 打包格式是为更新频率较低、以光盘为主的发行方式而设计的。而现代游戏开发已截然不同:游戏体积超过 100 GB,更新每周甚至每天发布,玩家期望的是小巧、快速且频繁的更新。

MSIXVC2 通过改变游戏内容的分段、去重和交付方式,解决了打包、上传耗时和内容更新效率方面的开发摩擦。

## 主要改进

### 更小的内容更新

MSIXVC2 消除了当前会导致内容更新体积膨胀的对齐填充和区块边界约束。变化以字节级别跟踪,而不再基于固定的 4 KB 块边界。在区块之间移动文件或在区块内重新排列内容不会触发重新下载 —— 只有真正变化的内容才会被交付。

在对已发布游戏的测试中,与 MSIXVC 相比,部分更新的体积减少了 64–94%。

### 更快的打包速度

对于大型游戏,带 `/msixvc2` 参数的 `makepkg pack` 比传统的 `MakePkg pack` 运行速度快得多。以前占用数分钟构建时间的打包开销基本被消除。

| 游戏 | MakePkg pack | makepkg pack | 加速比 |
| - | - | - | - |
| 小型游戏(\~1 GB) | 5 秒 | 2 秒 | 2.2 倍 |
| 中型游戏(\~12 GB) | 70 秒 | 12 秒 | 5.7 倍 |
| 大型游戏(\~130 GB) | 14 分钟 | 3 分钟 | 4.6 倍 |
| 超大型游戏(\~320 GB) | 52 分钟 | 7 分钟 | 7.6 倍 |

### 更低的包开销

如今每个 MSIXVC 包都包含一个随游戏大小扩展的固定最小哈希树。对于一个 320 GB 的游戏,这部分开销约为 2 GB,并且每次更新都会完整下载。MSIXVC2 将此开销减少了 90% 以上,并允许部分下载。

### 内置压缩

尚未压缩的资源在 CDN 上传输和存储时会被透明压缩。在玩家的机器上,文件以未压缩形式安装。

### 按版本加密

每个版本的包都使用各自的一组密钥加密,使各版本相互隔离。加密在 CDN 上和传输过程中应用。玩家设备上安装的文件以未加密方式存储。

### 从松散文件一键上传

借助 MSIXVC2,你可以将打包和上传合并为一个步骤:

```text theme={null}
makepkg upload /d <your_build_folder> /msixvc2
```

对于希望在上传之前检查包的团队,传统的两步工作流(先本地打包,再单独上传)仍然受支持。

## 格式差异

| 方面 | MSIXVC | MSIXVC2 |
| - | - | - |
| 分段 | 固定大小的 4 KB 对齐块 | 基于内容的可变大小分段 |
| 加密 | 跨版本共享密钥 | 每版本独立密钥 |
| 包开销 | 基于游戏大小的固定最小哈希树 | 开销极小 |
| 区块布局影响 | 重排区块或移动文件会触发重新下载 | 区块布局变更仅涉及元数据 —— 已移动的资源无需重新下载 |

## 保持不变的部分

* **你的游戏无感知。** 文件以原始形式安装。你的引擎读取它们的方式与从未打包的构建目录读取文件的方式完全相同 —— Win32 读取和 DirectStorage 工作不变。
* **你的脚本不会中断。** 现有的 MakePkg 命令在 `makepkg` 中可原样使用。`/msixvc2` 标志用于启用新格式。

> [!NOTE]
>
> 2026 年 10 月 GDK 会移除旧版 MakePkg.exe 和临时的 `makepkg2.exe` 名称。托管的替代工具为 `makepkg.exe`。

* **智能交付(Intelligent Delivery)的工作方式相同。** 你以相同的方式定义区块。区别在底层 —— 重排区块是免费的。
* **合作伙伴中心(Partner Center)提交流程不变。** 上传和发布使用相同的 API 和相同的 UI。
* **主机构建不受影响。** XVC 在 XBOX 主机上继续可用。`makepkg` 同时支持这两种格式。

## 范围与时间线

| 里程碑 | 详情 |
| - | - |
| **2026 年 4 月 GDK**(2604) | 公开预览 —— 使用 `/msixvc2` 标志启用 |
| **2026 年 10 月 GDK**(2610) | 正式发布 |
| **2027 年 4 月 GDK**(2704) | MSIXVC2 成为默认的 PC 打包格式 |

## 包分支最佳实践

MSIXVC2 与 MSIXVC 使用不同的内部格式。这两种格式在 Partner Center 中的同一包分支内不可互换。在采用 MSIXVC2 时请遵循以下准则。

### 使用单独的分支或包集

将 MSIXVC2 包发布到 Partner Center 中的**新分支**。不要用 MSIXVC2 构建覆盖生产环境中的 MSIXVC 包。将 MSIXVC2 保留在其自己的分支上,可以让你与现有 MSIXVC 流水线并行评估该格式,而不会影响你的线上游戏或现有的内容更新历史。

### 从 MSIXVC2 降级到 MSIXVC

将分支从 MSIXVC2 恢复到 MSIXVC **不是受支持的工作流**。由于这两种格式对内容的分段方式不同,将分支切回 MSIXVC 会强制重新摄取所有内容 —— 实际上相当于对该分支上的所有玩家都要完整重新上传和完整重新下载。请据此规划:将 MSIXVC2 分支视为只可向前迁移。

### 推荐的迁移工作流

1. **保持现有 MSIXVC 流水线继续用于生产发布**。
2. **在 Partner Center 中创建新分支**(例如 `msixvc2`)用于 MSIXVC2 测试。
3. **将 MSIXVC2 包发布到开发沙盒**,使用该新分支。验证安装、更新和智能交付行为。
4. **比较你 MSIXVC 与 MSIXVC2 分支之间的内容更新体积**,以量化该格式为你的游戏带来的改进。参见 [评估 MSIXVC2 是否适合你的游戏](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/packaging-updates-msixvc2.md#evaluating-msixvc2-for-your-title)。
5. 准备发布时,**提交 MSIXVC2 包进行认证**。

## 填充和对齐注意事项

在 MSIXVC 下,内容更新效率依赖于对 pack 文件内资源精细的 4 KB 对齐。而在 MSIXVC2 下,这些对齐要求被消除。基于内容的分段会自动识别未变化的数据,与对齐或布局无关。

如果你的游戏同时在 PC 和主机上发布,你可以使用不同的填充配置。在 MSIXVC2 下,你可以安全地减少或移除 PC 构建的填充。如果你希望在各平台上保持相同的配置,也没有问题 —— MSIXVC2 处理这两种情况均无损失。

## 入门

若要开始使用 MSIXVC2,请参见 [MSIXVC2 for PC 入门](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/overviews/packaging-getting-started-for-PC-msixvc2.md)。

有关 `makepkg` 命令行参考,请参见 [Make package (makepkg.exe)](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/deployment/makepkg.md)。

## 相关主题

[打包概述](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/overviews/packaging.md) [MSIXVC2 for PC 入门](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/overviews/packaging-getting-started-for-PC-msixvc2.md) [MSIXVC for PC 入门](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/overviews/packaging-getting-started-for-PC.md) [使用 MSIXVC2 进行内容更新](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/packaging-updates-msixvc2.md) [MSIXVC2 加密模型](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/packaging-encryption-msixvc2.md) [Make package (makepkg.exe)](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/deployment/makepkg.md) [XBOX 游戏包管理器](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/xgpm.md) [自动化包上传](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/package-uploader.md)


## Related topics

- [打包概述](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/overviews/packaging.md)
- [MSIXVC2 加密模型](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/packaging-encryption-msixvc2.md)
- [针对 PC 的 MSIXVC2 打包入门](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/overviews/packaging-getting-started-for-PC-msixvc2.md)
- [使用 MSIXVC2 进行内容更新](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/packaging-updates-msixvc2.md)
- [PC 打包入门](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/overviews/packaging-getting-started-for-PC.md)
