本文档介绍如何获取提取的 Microsoft 游戏开发工具包(GDK),以便在不安装的情况下使用。 本部分提供有关如何为 GDK 和Windows SDK执行此操作的说明。 此过程适用于高级用户。
注意
此过程不会取代在大多数情况下安装 Microsoft 游戏开发工具包 (GDK) 的需求。 该过程支持以下场景:
- 解压缩头文件和库以用于生成过程中。
- 解压缩旁加载文件夹,以便可以从给定的 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。
使用 ExtractXboxOneDKs.ps1) 提取所有Microsoft游戏开发工具包 (GDK) MS (I 的内容
- 从 Xbox 开发者下载 网站上下载 Microsoft 游戏开发工具包安装程序。 或者,从 GitHub 存储库 下载公共 Microsoft 游戏开发工具包 (GDK) 安装程序(仅支持电脑开发)。 你下载的文件将具有 GDK_03_2022.zip 之类的名称。 记下它在您计算机上的位置。
- 解压缩本地 .zip 文件的内容。
- 打开 PowerShell 提示符,导航到文件夹中的 SetupScripts 目录,其中的内容提取到 (,例如 C:\GDKDownload\SetupScripts)
- 此目录中的 ExtractXboxOneDKs.ps1 脚本可用于提取 GDK。 它的用法是:
.\ExtractXboxOneDKs.ps1 -SourcePath <MSI_Source_Folder> -TargetDirectory <Target_Directory>- 例如,SourcePath 是将 .zip 文件提取到 C:\GDKDownload) 等 (的位置。 TargetDirectory 是提取的内容将 (如 C:\ExtractedGDK\220300)
- 此目录中的 ExtractXboxOneDKs.ps1 脚本可用于提取 GDK。 它的用法是:
- 运行 ExtractXboxOneDKs.ps1 脚本后,提取的文件将存在于目标目录 (,例如 C:\ExtractedGDK\220300)
- 导航到目标目录,然后将提取的 GDK 文件复制到生成系统所需的位置。
注意
目标目录包括一组 .msi 文件和一个 Windows Kits 文件夹作为提取的一部分。 应忽略这些内容,并可将其删除。 Microsoft GDK 文件夹是提取目标目录中唯一需要保留的文件夹。
提取所有 Microsoft 游戏开发工具包 (GDK) MSI 的内容(手动)
解压缩 GDK(上一部分的步骤 1-2)后,可以使用 Windows Installer (msiexec.exe) 提取每个安装程序包以访问其各个文件。
在命令提示符窗口中,导航到从 .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。
导航到 msi_extraction_path,然后将提取的 SDK 文件复制到生成系统所需的位置。
提取Windows SDK
手动提取Windows SDK安装有效负载(高级用户可用的选项)允许将特定文件集成到生成系统中,而无需安装完整的Windows SDK。 只要系统上安装了 Windows SDK,就不需要使用提取Microsoft游戏开发工具包 (GDK) 。
使用 ExtractXboxOneDKs.ps1) 提取所有Windows SDK MSI 的内容 (
注意
自 2023 年 10 月 GDK 起,GDK 需要 Windows 11 SDK (版本 10.0.22000.0) 或更高版本。
从 Windows 开发中心下载 Windows SDK 安装程序。 你下载的文件将具有 winsdksetup.exe 之类的名称。 记下它在您计算机上的位置。
打开命令提示符,然后运行 exe 下载到的目录中的 winsdksetup.exe /layout C:\WinSDKDownload(这将从 exe 提取 msi 文件)。
在 UI 中逐一查看,保留所有复选框的选中状态,让其下载所有文件。
导航到 C:\WinSDKDownload 确认 .msi 文件存在。
提示
或者,可以下载 Windows SDK .ISO 并进行安装。 它包含步骤 1-4 生成的相同 .msi 文件。
使用上述使用 ExtractXboxOneDKs.ps1) 提取所有Microsoft游戏开发工具包的内容 (GDK () MSI 中记录的 脚本,指向 SourcePath 的 msi 文件夹 ((如 C:\WinSDKDownload) )和另一个文件夹 ((如 C:\ExtractedWinSDK) ,其中提取的内容将位于其中)。
注意
由于包含的文件路径很长,建议将源目录和目标目录保留为 (,) 限制为 45 个字符, (包括驱动器号) 。 提取完成后,便可以移动它们。 文件夹路径中超过 45 个字符将导致提取失败,因为超过了最大文件路径长度。
运行 ExtractXboxOneDKs.ps1 脚本后,提取的文件将存在于目标目录 (中,例如 C:\ExtractedWinSDK)
导航到目标目录,然后将提取的 Windows SDK 文件复制到生成系统所需的位置。
注意
此提取后,目标目录中将存在许多文件/文件夹。 Windows Kits\10 文件夹是本示例中用于生成系统参考的文件夹。 可能还需要其他文件夹,具体取决于所需的操作。
提取所有Windows SDK MSI 的内容 (手动)
在您从 winsdksetup.exe 获取一组 .msi 文件(上一部分的步骤 1-4)后,可以使用 Windows Installer (msiexec.exe) 提取每个安装程序包以访问其各个文件。
在命令提示符窗口中,导航到从 .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是Windows 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。
导航到 msi_extraction_path,然后将提取的 Windows SDK 文件复制到生成系统所需的位置。
建议用于支持多个提取的 Microsoft 游戏开发工具包 (GDK) 版本的布局
提取Microsoft游戏开发工具包时,假定此文件夹将位于共享位置或源代码管理系统中,可在生成游戏时访问。 可能存在需要使用 Microsoft 游戏开发工具包的多个版本的场景。 在此场景中,对于多个提取的 Microsoft 游戏开发工具包 (GDK) 版本的布局,我们的建议如下:
- ...\ExtractedGDK\211000\Microsoft GDK...
- ...\ExtractedGDK\220300\Microsoft GDK...
这样可以为每个版本提供完整有效负载。 我们建议您使用生成环境变量在版本之间切换,以此来定义在生成编译过程中使用什么。