> ## 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.

# 针对 PC 的 MSIXVC2 打包入门

> 针对 PC 的 MSIXVC2 打包入门

按照以下步骤创建可在开发 PC 上旁加载测试并上传到 Partner Center 发布的 MSIXVC2 包。

有关该格式及其优势的背景信息，请参阅 [MSIXVC2 打包概述](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/overviews/packaging-msixvc2-overview.md)。

> [!NOTE]
>
> MSIXVC2 自 2026 年 10 月的 Microsoft Game Development Kit (GDK) 起正式可用。你可以旁加载 MSIXVC2 包进行测试，并将其提交认证以公开发布。

> [!NOTE]
>
> 某些 MSIXVC2 功能和改进通过 Gaming Runtime Services 的更新提供，无需 GDK 更新。这些增强功能会随其发布自动生效。

> [!NOTE]
>
> 如果你在为 XBOX 主机打包，请参阅 [XBOX 主机打包入门](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/overviews/packaging-getting-started-for-console.md)。主机游戏继续使用 XVC。`makepkg` 工具同时处理两种格式。

## 开始之前

* 开发 PC 上运行 **Windows 10** 版本 18362 或更高版本。
* 已安装 **2026 年 10 月 GDK 或更高版本**。GDK 包含 `makepkg.exe`。

> [!NOTE]
>
> 自 2026 年 10 月 GDK 起，托管打包工具的名称为 `makepkg.exe`。旧版 MakePkg.exe 以及临时的 `makepkg2.exe` 名称均已移除。

* **Partner Center 产品** 你需要发行商身份、包名称和 Store ID。
* 在目标测试 PC 上启用了**开发者模式**。
* 在任何要安装或运行 MSIXVC2 包的设备上设置了 **MSIXVC2 开发者模式注册表项**。详情参见[步骤 7](#step-7-test-your-package-locally)。

## 步骤 1：准备内容

将游戏的所有源材料放入一个目录。移除打包系统无法使用或不适合在零售包中发行的文件。

如果存在以下文件，请删除：

* PDB 文件。
* 对其他 PC 游戏商店的任何引用，例如资源、二进制文件等。
* 通用 Windows 平台 (UWP) 和 Appx 的 “footprint” 文件，包括 AppxSignature.p7x 和 AppxBlockMap.xml。

## 步骤 2：创建 MicrosoftGame.config

在游戏内容的根目录中创建 MicrosoftGame.config 文件。此配置文件可与 MSIXVC 配合使用。你现有的 MicrosoftGame.config 无需更改即可与 MSIXVC2 配合使用。

你可以手动创建此文件，也可以使用 [MicrosoftGame.config 编辑器](https://docs.xbox.com/zh-CN/build/core-features/common/game-config/MicrosoftGameConfig-Editor.md)从 Partner Center 项目直接同步身份和 ID 值。

有关示例 MicrosoftGame.config 文件，请参阅[针对 PC 的 MSIXVC 入门](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/overviews/packaging-getting-started-for-PC.md#sample-microsoftgameconfig)。

## 步骤 3：识别 Visual C/C++ 运行时依赖项

确保你的 MicrosoftGame.config 列出所有 Visual C/C++ 运行时依赖项，或将这些依赖项显式复制到包负载中。有关详细信息，请参阅[框架包依赖](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/packaging-framework-packages.md)。

## 步骤 4：创建图标

将图标文件按 MicrosoftGame.config 的 `ShellVisuals` 部分中指定的尺寸缩放后，放入游戏内容的根文件夹（或子目录）中。[MicrosoftGame.config 编辑器](https://docs.xbox.com/zh-CN/build/core-features/common/game-config/MicrosoftGameConfig-Editor.md)可以从单个源图像生成这些图像。

## 步骤 5：生成布局映射文件（可选）

此步骤为可选。默认情况下，MSIXVC2 会将所有内容打包到单个 chunk 中。仅当你希望将内容拆分为多个 chunk 或添加 Intelligent Delivery 标签时才需要布局映射文件。

要生成布局映射文件，请打开 GDK 命令提示符并运行以下命令：

```text theme={null}
makepkg genmap /f layout.xml /d <your_game_folder>
```

此命令会创建定义内容如何组织为 chunk 的布局映射文件。生成的文件包含单个 chunk。你可以编辑该文件，将内容拆分为多个 chunk，或按需添加 Intelligent Delivery 标签。

> [!TIP]
>
> 在 MSIXVC2 中，重新排序 chunk 或在 chunk 之间移动文件不会影响内容更新大小。你可以自由组织布局，不必担心 MSIXVC 中存在的更新代价问题。

有关布局文件的更多信息，请参阅[部署包架构](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/deployment/atoc-deployment-schema.md)。

## 步骤 6：创建 MSIXVC2 包

创建包：

```text theme={null}
makepkg pack /msixvc2 /f layout.xml /d <your_game_folder> /pc /pd <output_folder>
```

关键选项：

| 选项 | 说明 |
| - | - |
| `/msixvc2` | 生成 MSIXVC2 包。不带此选项时，该命令生成 MSIXVC 包。自 2027 年 4 月 GDK 起，`makepkg` 默认创建 MSIXVC2 包。 |
| `/f <mapfile>` | 指定布局映射文件。省略时生成默认的单块布局。 |
| `/d <sourcedir>` | 包含游戏内容和 MicrosoftGame.config 的目录。 |
| `/pc` | 生成用于 PC 的包。 |
| `/pd <outputdir>` | 放置生成包的目录。 |
| `/compress <method>` | 压缩输出。可用方法：`Automatic`（默认）、`None`。`Automatic` 对 MSIXVC2 包使用 Brotli。 |

## 步骤 7：本地测试包

在目标 PC 上启用开发者模式。在安装 MSIXVC2 包之前，在目标设备上设置以下注册表项：

```text theme={null}
reg add HKLM\SOFTWARE\Microsoft\GamingServices /v Xvc2DeveloperMode /t REG_DWORD /d 1 /f
```

或者，你也可以使用 `packageutil` 启用 MSIXVC2 开发者模式：

```text theme={null}
packageutil set msixvc2 on
```

禁用 MSIXVC2 开发者模式：

```text theme={null}
packageutil set msixvc2 off
```

> [!NOTE]
>
> `packageutil set` 命令需要 2026 年 10 月 GDK 或更高版本。

> [!NOTE]
>
> 在未来的 GDK 版本之前需要此注册表项。若不设置，MSIXVC2 包无法安装。请从提升权限的（管理员）命令提示符运行此命令。

然后安装你的包：

```text theme={null}
wdapp install <your_package.msixvc>
```

MSIXVC2 包安装到 `[drive]:\XboxGames` 文件夹。文件以其原始形式安装，你可以直接访问。此安装位置与使用[平铺文件安装](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/packaging-flatfileinstall.md)的 MSIXVC 包所用位置相同。

你可以将本地旁加载的相同包上传到 Partner Center，无需单独的提交打包步骤。

## 步骤 8：上传到 Partner Center

> [!NOTE]
>
> 在 Partner Center 中将 MSIXVC2 包发布到一个**新分支**（例如 `msixvc2`）。不要将 MSIXVC2 包上传到与现有 MSIXVC 包相同的分支。两种格式在同一分支内不可互换，将分支从 MSIXVC2 回退到 MSIXVC 需要对包进行完整的上传和下载。有关详细信息，请参阅[包分支最佳实践](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/overviews/packaging-msixvc2-overview.md#package-branch-best-practices)。

上传到 Partner Center 有两种选项。

### 选项 A：上传预构建的包

如果你已在步骤 6 中创建了包，请直接上传：

```text theme={null}
makepkg upload /pd <package_directory> /branch msixvc2
```

### 选项 B：从散文件上传（一条命令的工作流）

你可以将打包与上传合并为一条命令。此命令直接从构建输出上传，不创建本地包文件：

```text theme={null}
makepkg upload /d <your_game_folder> /msixvc2 /pc /branch msixvc2
```

### 上传选项

| 选项 | 说明 |
| - | - |
| `/branch <branch>` | 上传到的分支。默认为 `main`。请使用专用的 MSIXVC2 分支。 |
| `/flight <flight>` | 上传到的飞行版。不能与 `/branch` 一起使用。 |
| `/market <market>` | 上传到的市场。默认为 `default`。 |
| `/storeid <storeId>` | Store ID。若未指定，从包中提取。 |
| `/auth <method>` | 身份验证方法。默认为 `CacheableBrowser`。有关 CI/CD 选项，请参阅[身份验证方法](#authentication-methods)。 |

有关完整的上传选项列表，请参阅 [Make package (makepkg.exe)](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/deployment/makepkg.md)。

## 身份验证方法

`upload` 命令支持面向不同环境的多种身份验证方法。

| 方法 | 使用场景 |
| - | - |
| `CacheableBrowser` | 默认。打开浏览器进行交互式登录。为后续上传缓存凭据。 |
| `Browser` | 打开浏览器进行交互式登录，不缓存。 |
| `AzureCli` | 使用 Azure CLI 凭据。已通过 `az login` 完成身份验证时非常有用。 |
| `AzurePipelines` | 使用 Azure Pipelines 服务连接。非常适合 Azure DevOps CI/CD 流水线。 |
| `ManagedIdentity` | 使用 Azure 托管标识。需要 `/clientid`。 |
| `ManagedIdentityFederated` | 使用联合托管标识。需要 `/clientid` 和 `/resourceid`。 |
| `ClientSecret` | 使用客户端 ID 和密码。需要 `/clientid` 和 `/clientsecret`。 |
| `ClientCertificate` | 使用客户端证书。需要 `/clientid` 和 `/certthumbprint`。 |
| `Environment` | 使用环境变量中的凭据。 |
| `Default` | 依次尝试多种方法。 |

**示例：CI/CD 流水线上传**

```text theme={null}
makepkg upload /pd <package_directory> /auth AzurePipelines /branch <branch>
```

**示例：服务主体上传**

```text theme={null}
makepkg upload /pd <package_directory> /auth ClientSecret /clientid <appId> /clientsecret <secret> /branch <branch>
```

## 步骤 9：在 Partner Center 验证并发布

上传后，使用 Partner Center 验证并发布你的包。提交流程与 MSIXVC 相同——选择你的包、配置可用性并提交。

你可以将 MSIXVC2 包发布到沙箱进行测试，并将其提交认证以公开发布。

> [!TIP]
>
> 保留现有 MSIXVC 流水线用于生产发布。使用 Partner Center 的独立分支进行 MSIXVC2 评估，以便并排比较结果并在 GA 时迁移到 MSIXVC2，而不影响正在运营的游戏。

## 比较更新大小

若要评估 MSIXVC2 对你的游戏的收益，可基于两次连续构建创建包并比较：

```text theme={null}
makepkg pack /msixvc2 /f layout.xml /d <old_build> /pc /pd <output_old>
makepkg pack /msixvc2 /f layout.xml /d <new_build> /pc /pd <output_new> /priorpackage <output_old\package.msixvc>
```

将所得更新大小与等效 MSIXVC 构建进行比较以查看差异。

## MSIXVC2 中的 Intelligent Delivery

Intelligent Delivery 在 MSIXVC2 中的工作方式与在 MSIXVC 中相同。你在布局映射文件中定义 chunk 并设置语言、设备或标签修饰符。关键区别在于，重新组织 chunk 或在 chunk 之间移动文件不会影响内容更新大小。

有关详细信息，请参阅[流式安装和 Intelligent Delivery：概述](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/overviews/streaming_install-intelligent_delivery.md)。

## 另请参阅

[MSIXVC2 打包概述](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/overviews/packaging-msixvc2-overview.md) [Make package (makepkg.exe)](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/deployment/makepkg.md) [针对 PC 的 MSIXVC 入门](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) [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) [平铺文件安装概述](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/packaging-flatfileinstall.md) [部署包架构](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/deployment/atoc-deployment-schema.md)


## Related topics

- [PC 打包入门](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/overviews/packaging-getting-started-for-PC.md)
- [打包概述](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/overviews/packaging.md)
- [packageutil.exe](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/deployment/packageutil.md)
- [Make package (makepkg.exe)](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/deployment/makepkg.md)
- [MSIXVC2 打包概述](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/overviews/packaging-msixvc2-overview.md)
