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

# Microsoft Game Development Kit(GDK) 설치 페이로드 추출하기

> 추출된 Microsoft Game Development Kit(GDK) 설치 페이로드를 얻는 과정을 설명합니다.

이 문서에서는 설치 없이 사용할 수 있도록 추출된 Microsoft Game Development Kit(GDK)를 얻는 과정을 설명합니다. 이 섹션에서는 GDK와 Windows SDK에 대해 이 작업을 수행하는 방법에 대한 지침을 제공합니다. 이 과정은 고급 사용자를 대상으로 합니다.

> [!NOTE]
>
> 대부분의 시나리오에서 이 과정이 Microsoft Game Development Kit(GDK) 설치를 대체하지는 않습니다. 이 과정을 통해 다음 시나리오를 수행할 수 있습니다.
>
> 1. 빌드 프로세스에서 사용할 헤더와 라이브러리를 추출합니다.
> 2. 전체 Microsoft Game Development Kit(GDK)를 설치하지 않고도 특정 Microsoft Game Development Kit(GDK)에서 [xbprovision(NDA 항목)](https://learn.microsoft.com/en-us/gaming/gdk/docs/tools/tools-console/commandlinetools/xbprovision)을 실행할 수 있도록 Sideload 폴더를 추출합니다.
>
> 이러한 방식으로 설치 페이로드를 추출한 후 일부 Microsoft Game Development Kit(GDK) 도구를 실행할 수 있지만, 이는 공식적으로 지원되지 않으며 문제가 발생할 수 있습니다.

## 추출된 Microsoft Game Development Kit 다운로드

고급 사용자가 사용할 수 있는 옵션인 추출된 Microsoft Game Development Kit(GDK)를 사용하면 전체 Microsoft Game Development Kit(GDK)를 설치하지 않고도 특정 파일을 빌드 시스템에 통합할 수 있습니다. 추출된 Microsoft Game Development Kit(GDK)는 [XBOX Developer Downloads](https://aka.ms/gdkdl) 사이트에서 별도의 다운로드 옵션으로 제공됩니다. 이 다운로드 옵션은 GDK 설치 프로그램 다운로드 옵션과 구분하기 위해 제목에 Extracted라는 단어가 포함되어 있습니다.

> [!TIP]
>
> 이 다운로드 옵션을 사용하면 Microsoft Game Development Kit의 수동 추출 과정을 건너뛸 수 있습니다. 이 방법을 권장합니다.

## Microsoft Game Development Kit 수동 추출

추출된 Microsoft Game Development Kit(GDK)를 다운로드하는 대신, 일반 Microsoft Game Development Kit(GDK) 설치 프로그램에서 파일을 수동으로 추출할 수 있습니다. 일반 Microsoft Game Development Kit(GDK)를 다운로드한 후 Windows Installer(msiexec.exe)를 사용하여 각 설치 패키지를 추출하고 개별 파일에 액세스할 수 있습니다.

> [!TIP]
>
> 다음 절차는 Windows Installer(msiexec.exe)의 특정 사용법을 보여줍니다. msiexec.exe에 대한 자세한 내용은 [Windows Installer](https://learn.microsoft.com/windows/desktop/Msi/windows-installer-portal)를 참조하세요.

### 모든 Microsoft Game Development Kit(GDK) MSI의 콘텐츠 추출(ExtractXboxOneDKs.ps1 사용)

1. [XBOX Developer Downloads](https://aka.ms/gdkdl) 사이트에서 Microsoft Game Development Kit 설치 프로그램을 다운로드합니다. 또는 [GitHub 리포지토리](https://github.com/microsoft/GDK)에서 공개 Microsoft Game Development Kit(GDK) 설치 프로그램을 다운로드합니다(PC 개발만 지원).
   다운로드한 파일의 이름은 *GDK\_03\_2022.zip*과 같은 형식입니다. 컴퓨터에서 이 파일의 위치를 기록해 두세요.
2. 로컬 .zip 파일의 콘텐츠를 추출합니다.
3. 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)입니다.
4. ExtractXboxOneDKs.ps1 스크립트를 실행하면 추출된 파일이 대상 디렉터리(예: C:\ExtractedGDK\220300)에 생성됩니다.
5. 대상 디렉터리로 이동한 다음, 추출된 GDK 파일을 빌드 시스템에 필요한 위치로 복사합니다.

> [!NOTE]
>
> 대상 디렉터리에는 추출 과정의 일부로 .msi 파일 세트와 Windows Kits 폴더가 포함됩니다. 이들은 무시해도 되며 삭제할 수 있습니다. 추출 대상 디렉터리에서 유지해야 하는 폴더는 Microsoft GDK 폴더뿐입니다.

### 모든 Microsoft Game Development Kit(GDK) MSI의 콘텐츠 추출(수동)

1. GDK의 압축을 푼 후(위 섹션의 1-2단계), Windows Installer(msiexec.exe)를 사용하여 각 설치 패키지를 추출하고 개별 파일에 액세스할 수 있습니다.
2. 명령 프롬프트 창에서 .zip 파일에서 추출한 파일이 있는 폴더로 이동한 다음, 다음 명령줄을 실행합니다.\


   ```cmd theme={null}
   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**는 GDK 다운로드에서 다운로드한 파일의 경로이고, **msi\_extraction\_path**는 Windows Installer(.msi) 파일의 파일을 추출할 폴더를 지정합니다. 예를 들면 다음과 같습니다.\


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

   > [!NOTE]
   >
   > 이 코드 예제를 명령줄에서 직접 사용하지 않고 스크립트에서 사용하는 경우 %G를 %%G로 바꿔야 합니다.
3. msi\_extraction\_path로 이동한 다음, 추출된 GDK 파일을 빌드 시스템에 필요한 위치로 복사합니다.

## Windows SDK 추출

고급 사용자가 사용할 수 있는 옵션인 Windows SDK 설치 페이로드의 수동 추출을 사용하면 전체 Windows SDK를 설치하지 않고도 특정 파일을 빌드 시스템에 통합할 수 있습니다. 시스템에 Windows SDK가 설치되어 있다면 추출된 Microsoft Game Development Kit(GDK)를 사용하기 위해 이 단계를 수행할 필요는 없습니다.

### 모든 Windows SDK MSI의 콘텐츠 추출(ExtractXboxOneDKs.ps1 사용)

> [!NOTE]
>
> 2023년 10월 GDK부터 GDK에는 Windows 11 SDK(버전 10.0.22000.0) 이상이 필요합니다.

1. [Windows 개발자 센터](https://developer.microsoft.com/windows/downloads/windows-sdk/)에서 Windows SDK 설치 프로그램을 다운로드합니다. 다운로드한 파일의 이름은 winsdksetup.exe와 같은 형식입니다. 컴퓨터에서 이 파일의 위치를 기록해 두세요.

2. 명령 프롬프트를 열고 exe를 다운로드한 디렉터리에서 **winsdksetup.exe /layout C:\WinSDKDownload**를 실행합니다(이렇게 하면 exe에서 msi 파일이 추출됩니다).

3. UI를 단계별로 진행하면서 모든 확인란을 선택된 상태로 두고 모든 파일을 다운로드하도록 합니다.

4. **C:\WinSDKDownload**로 이동하여 .msi 파일이 있는지 확인합니다.

   > [!TIP]
   >
   > 또는 Windows SDK .ISO를 다운로드하여 마운트할 수도 있습니다. 여기에는 1-4단계에서 생성되는 것과 동일한 .msi 파일이 포함되어 있습니다.

5. 위의 \*\*모든 Microsoft Game Development Kit(GDK) MSI의 콘텐츠 추출(ExtractXboxOneDKs.ps1 사용)\*\*에서 언급한 스크립트를 사용하여 SourcePath에는 msi 폴더(예: C:\WinSDKDownload)를, TargetDirectory에는 추출된 콘텐츠가 저장될 다른 폴더(예: C:\ExtractedWinSDK)를 지정합니다.

   > [!NOTE]
   >
   > 포함된 파일의 경로가 길기 때문에 (추출 시에만) 원본 및 대상 디렉터리를 드라이브 문자를 포함하여 45자로 제한하는 것이 좋습니다. 추출이 완료된 후에는 이동할 수 있습니다. 최대 파일 경로 길이를 초과하게 되므로 **폴더 경로가 45자를 초과하면 추출이 실패합니다**.

6. ExtractXboxOneDKs.ps1 스크립트를 실행하면 추출된 파일이 대상 디렉터리(예: C:\ExtractedWinSDK)에 생성됩니다.

7. 대상 디렉터리로 이동한 다음, 추출된 Windows SDK 파일을 빌드 시스템에 필요한 위치로 복사합니다.

   > [!NOTE]
   >
   > 이 추출 후 대상 디렉터리에는 많은 파일/폴더가 존재합니다. 이 예제에서 빌드 시스템 참조에 사용되는 폴더는 Windows Kits\10 폴더입니다. 원하는 작업에 따라 다른 폴더가 필요할 수 있습니다.

### 모든 Windows SDK MSI의 콘텐츠 추출(수동)

1. winsdksetup.exe에서 .msi 파일 세트를 얻은 후(위 섹션의 1-4단계), Windows Installer(msiexec.exe)를 사용하여 각 설치 패키지를 추출하고 개별 파일에 액세스할 수 있습니다.
2. 명령 프롬프트 창에서 .zip 파일에서 추출한 파일이 있는 폴더로 이동한 다음, 다음 명령줄을 실행합니다.\


   ```cmd theme={null}
   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) 파일의 파일을 추출할 폴더를 지정합니다. 예를 들면 다음과 같습니다.\


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

   > [!NOTE]
   >
   > 이 코드 예제를 명령줄에서 직접 사용하지 않고 스크립트에서 사용하는 경우 %G를 %%G로 바꿔야 합니다.
3. msi\_extraction\_path로 이동한 다음, 추출된 Windows SDK 파일을 빌드 시스템에 필요한 위치로 복사합니다.

## 추출된 여러 Microsoft Game Development Kit(GDK) 버전을 지원하기 위한 권장 레이아웃

Microsoft Game Development Kit를 추출할 때는 타이틀을 빌드할 때 액세스할 수 있도록 이 폴더가 공유 위치나 소스 제어 시스템에 저장된다고 가정합니다. 여러 버전의 Microsoft Game Development Kit(GDK)가 필요한 시나리오가 있을 수 있습니다. 이 시나리오에서 추출된 여러 Microsoft Game Development Kit(GDK) 버전의 레이아웃에 대한 권장 사항은 다음과 같습니다.

* ...\ExtractedGDK\211000\Microsoft GDK...
* ...\ExtractedGDK\220300\Microsoft GDK...

이렇게 하면 각 버전에 대해 전체 페이로드가 존재할 수 있습니다. 빌드 컴파일 과정에서 사용되는 버전을 정의하려면 빌드 환경 변수를 사용하여 버전 간에 전환하는 것이 좋습니다.

## 참고 항목

[Microsoft Game Development Kit(GDK)를 설치하지 않고 빌드 환경 구성하기](https://learn.microsoft.com/en-us/gaming/gdk/docs/gdk-dev/console-dev/usingwithoutinstall/build-environment-withoutinstall)

[설치 없이 Microsoft Game Development Kit(GDK) 사용하기](https://docs.xbox.com/ko/build/console-features/build-without-install/gc-usingwithoutinstall-toc.md)


## Related topics

- [Microsoft Game Development Kit(GDK)를 설치하지 않고 도구 사용하기](https://docs.xbox.com/ko/build/console-features/build-without-install/tools-usage-withoutinstall.md)
- [설치 없이 Microsoft Game Development Kit 사용하기(목차)](https://docs.xbox.com/ko/build/console-features/build-without-install/gc-usingwithoutinstall-toc.md)
- [Microsoft Game Development Kit 시작하기(콘텐츠)](https://docs.xbox.com/ko/home/setup-install/get-started.md)
- [Microsoft Game Development Kit(GDK) 릴리스 노트](https://docs.xbox.com/ko/announcements/gdk/release-notes.md)
- [콘솔용 Microsoft Game Development Kit(GDK)에서 Clang 사용](https://docs.xbox.com/ko/tools/tools-console/visualstudio/vs-clang.md)
