提取 Microsoft 游戏开发工具包设置有效负载

本文档介绍如何获取提取的 Microsoft 游戏开发工具包(GDK),以便在不安装的情况下使用。 本部分提供有关如何针对 Microsoft 游戏开发工具包和 Windows 10 SDK 执行此操作的说明。 此过程适用于高级用户。

注意

对于大多数方案,此过程不会取代安装 Microsoft 游戏开发工具包 (GDK) 的需要。 该过程支持以下场景:

  1. 解压缩头文件和库以用于生成过程中。
  2. 解压缩旁加载文件夹,以便可以从给定的 Microsoft 游戏软件开发工具包 (GDK) 运行 xbprovision(NDA 主题)要求授权,而无需安装完整的 Microsoft 游戏软件开发工具包 (GDK)。

通过这种方式解压缩安装负载后,可能能够运行某些 Microsoft 游戏开发工具包 (GDK) 工具,但这样做不受官方支持,您可能会遇到问题。

下载提取的 Microsoft 游戏开发工具包

提取的 Microsoft 游戏开发工具包 (GDK) 是可供高级用户使用的选项,它允许将特定文件集成到生成系统中,而无需安装完整的 Microsoft 游戏开发工具包 (GDK)。 提取的 Microsoft 游戏开发工具包 (GDK) 可在 Xbox 开发者下载 网站上作为单独的下载选项提供。 下载选项在游戏中被列出并且带有“提取”一词,用于区分 GDK 安装程序下载选项。

提示

使用此下载选项可以跳过 Microsoft 游戏开发工具包的手动提取过程。 这是推荐选项。

手动提取 Microsoft 游戏开发工具包

作为下载提取的 Microsoft 游戏开发工具包 (GDK) 的替代方法,可以手动从常规 Microsoft 游戏开发工具包 (GDK) 安装程序中提取文件。 下载常规的 Microsoft 游戏开发工具包(GDK)后,可以使用 Windows Installer (msiexec.exe) 解压缩每个安装程序包以访问其各个文件。

提示

以下过程演示 Windows Installer (msiexec.exe) 的特定用法。 有关 msiexec.exe 的详细信息,请参阅 Windows Installer

提取所有 Microsoft 游戏开发工具包 (GDK) MSI 的内容(使用 ExtractXboxOneDKs.cmd)

  1. Xbox 开发者下载 网站上下载 Microsoft 游戏开发工具包安装程序。 或者,从 GitHub 存储库 下载公共 Microsoft 游戏开发工具包 (GDK) 安装程序(仅支持电脑开发)。 你下载的文件将具有 GDK_03_2022.zip 之类的名称。 记下它在您计算机上的位置。
  2. 解压缩本地 .zip 文件的内容。
  3. 打开命令提示符,然后导航到内容提取到的文件夹中的 SetupScripts 目录(即 C:\GDKDownload\SetupScripts)
    • 此目录中的 ExtractXboxOneDKs.cmd 脚本可用于提取 GDK。 用法如下:
      • ExtractXboxOneDKs.cmd MSI_Source_Folder Target_Directory
      • 例如,MSI_Source_Folder 是提取的 .zip 文件所在的位置(即 C:\GDKDownload)。 目标目录是存放提取内容的位置(即 C:\ExtractedGDK\220300)
  4. 运行 ExtractXboxOneDKs.cmd 脚本后,提取的文件将位于目标目录中(即 C:\ExtractedGDK\220300)
  5. 导航到目标目录,然后将提取的 GDK 文件复制到生成系统所需的位置。

注意

目标目录包括一组 .msi 文件和一个 Windows Kits 文件夹作为提取的一部分。 应忽略这些内容,并可将其删除。 Microsoft GDK 文件夹是提取目标目录中唯一需要保留的文件夹。

提取所有 Microsoft 游戏开发工具包 (GDK) MSI 的内容(手动)

  1. 解压缩 GDK(上一部分的步骤 1-2)后,可以使用 Windows Installer (msiexec.exe) 提取每个安装程序包以访问其各个文件。

  2. 在命令提示符窗口中,导航到从 .zip 文件中提取的文件所在的文件夹,然后运行以下命令行:

    for /F "delims=" %G in ('dir /b /s "installation_folder\*.msi"') DO (
    start /wait msiexec.exe /a "%G" TARGETDIR="msi_extraction_path" /qb
    )  
    

    其中,installation_folder 是指向所下载的 SDK 的已下载文件的路径,而 msi_extraction_path 指定您希望将 Windows Installer (.msi) 文件解压缩到的文件夹。 例如:

    for /F "delims=" %G in ('dir /b /s "C:\GDKDownload\*.msi"') DO (
    start /wait msiexec.exe /a "%G" TARGETDIR="C:\ExtractedGDK\220300\" /qb
    )  
    

    注意

    如果此代码示例在脚本中使用,而不是直接从命令行使用,则 %G 需要替换为 %%G。

  3. 导航到 msi_extraction_path,然后将提取的 SDK 文件复制到生成系统所需的位置。

提取 Windows 10 SDK

手动提取Windows 10 SDK 安装有效负载(高级用户可以使用的选项)允许将特定文件集成到生成系统中,而无需安装完整的 Windows SDK。 只要在系统上安装了 Windows 10 SDK,就无需执行此步骤即可使用提取的 Microsoft 游戏开发工具包(GDK)。

解压缩所有 Windows 10 SDK MSI 的内容(使用 ExtractXboxOneDKs.cmd)

注意

自 2020 年 5 月 GDK 起,GDK 现在需要 20H1 版本的 Windows 10 SDK(版本 10.0.19041.0)或更高版本。

注意

自 2023 年 10 月 GDK 起,GDK 现在需要 Windows 11 SDK (版本 10.0.22000.0) 或更高版本。

  1. 从 Windows 开发人员中心下载 Windows SDK 安装程序。 你下载的文件将具有 winsdksetup.exe 之类的名称。 记下它在您计算机上的位置。

  2. 打开命令提示符,并在下载 exe 的目录中运行 /layout C:\WinSDKDownloadwinsdksetup.exe , (这将从 exe) 中提取 msi 文件。

  3. 在 UI 中逐一查看,保留所有复选框的选中状态,让其下载所有文件。

  4. 导航到 C:\WinSDKDownload 以确认存在 .msi 文件。

    提示

    或者,可以下载 Windows SDK 。ISO 并装载它。 它包含步骤 1-4 生成的相同 .msi 文件。

  5. 使用上述使用 ExtractXboxOneDKs.cmd (提取所有 Microsoft 游戏开发工具包 (GDK) MSI 中记录的脚本) , 指向 msi 文件夹 (,即MSI_Source_Folder的 C:\WinSDKDownload) , (另一个文件夹,即 C:\ExtractedWinSDK) 目标目录提取的内容。

    注意

    由于包含的文件路径很长,建议将源目录和目标目录(仅用于提取)保留为 45 个字符(包括驱动器号)。 提取完成后,便可以移动它们。 文件夹路径中超过 45 个字符将导致提取失败,因为超过了最大文件路径长度。

  6. 运行 ExtractXboxOneDKs.cmd 脚本后,提取的文件将存在于目标目录中 (即 C:\ExtractedWinSDK)

  7. 导航到目标目录,然后将提取的 Windows SDK 文件复制到生成系统所需的位置。

    注意

    此提取后,目标目录中将存在许多文件/文件夹。 Windows Kits\10 文件夹是本示例中用于生成系统参考的文件夹。 可能还需要其他文件夹,具体取决于所需的操作。

提取所有 Windows 10 SDK MSI 的内容(手动)

  1. 在您从 winsdksetup.exe 获取一组 .msi 文件(上一部分的步骤 1-4)后,可以使用 Windows Installer (msiexec.exe) 提取每个安装程序包以访问其各个文件。

  2. 在命令提示符窗口中,导航到从 .zip 文件中提取的文件所在的文件夹,然后运行以下命令行:

    for /F "delims=" %G in ('dir /b /s "installation_folder\*.msi"') DO (
    start /wait msiexec.exe /a "%G" TARGETDIR="msi_extraction_path" /qb
    )  
    

    其中,installation_folder 是指向所下载的 WIn10 SDK 的已下载文件的路径,而 msi_extraction_path 指定您希望将 Windows Installer (.msi) 文件解压缩到的文件夹。 例如:

    for /F "delims=" %G in ('dir /b /s "C:\WinSDKDownload\*.msi"') DO (
    start /wait msiexec.exe /a "%G" TARGETDIR="C:\ExtractedWinSDK" /qb
    )  
    

    注意

    如果此代码示例在脚本中使用,而不是直接从命令行使用,则 %G 需要替换为 %%G。

  3. 导航到msi_extraction_path,然后将提取的 Windows SDK 文件复制到生成系统所需的位置。

提取 Microsoft 游戏开发工具包时,假设此文件夹将位于生成游戏时要访问的共享位置或源代码管理系统中。 可能存在需要使用 Microsoft 游戏开发工具包的多个版本的场景。 在此场景中,对于多个提取的 Microsoft 游戏开发工具包 (GDK) 版本的布局,我们的建议如下:

  • ...\ExtractedGDK\211000\Microsoft GDK...
  • ...\ExtractedGDK\220300\Microsoft GDK...

这样可以为每个版本提供完整有效负载。 我们建议您使用生成环境变量在版本之间切换,以此来定义在生成编译过程中使用什么。

另请参阅

配置生成环境而无需安装 Microsoft Game Development Kit (GDK)

无需安装即可使用 Microsoft Game Development Kit (GDK)