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

# PC용 MSIXVC2 패키징 시작하기

> PC용 MSIXVC2 패키징 시작하기

다음 단계를 사용하여 개발 PC에서 테스트를 위해 사이드로드할 수 있고 게시를 위해 Partner Center에 업로드할 수 있는 MSIXVC2 패키지를 만듭니다.

이 형식과 그 이점에 대한 배경 정보는 [MSIXVC2 패키징 개요](/build/core-features/common/packaging/overviews/packaging-msixvc2-overview)를 참조하세요.

<Info>
  MSIXVC2는 2026년 10월 Microsoft Game Development Kit(GDK)부터 일반적으로 사용할 수 있습니다. 테스트를 위해 MSIXVC2 패키지를 사이드로드하고 공개 릴리스를 위해 인증에 제출할 수 있습니다.
</Info>

<Note>
  일부 MSIXVC2 기능과 개선 사항은 Gaming Runtime Services 업데이트를 통해 제공되며 GDK 업데이트가 필요하지 않습니다. 이러한 개선 사항은 사용 가능해질 때 자동으로 받게 됩니다.
</Note>

<Note>
  XBOX 콘솔용으로 패키징하는 경우 [XBOX 콘솔용 패키징 시작하기](/build/core-features/common/packaging/overviews/packaging-getting-started-for-console)를 참조하세요. 콘솔 게임은 계속해서 XVC를 사용합니다. `makepkg` 도구가 두 형식을 모두 처리합니다.
</Note>

## 시작하기 전에

* 개발 PC에 **Windows 10** 버전 18362 이상.
* **2026년 10월 GDK 이상** 설치됨. GDK에는 `makepkg.exe`가 포함됩니다.

<Note>
  2026년 10월 GDK부터 관리형 패키징 도구의 이름이 `makepkg.exe`가 됩니다. 레거시 MakePkg.exe와 임시 이름인 `makepkg2.exe`는 제거됩니다.
</Note>

* **Partner Center 제품** 게시자 ID, 패키지 이름, Store ID가 필요합니다.
* 대상 테스트 PC에서 **개발자 모드** 활성화됨.
* MSIXVC2 패키지를 설치하거나 실행하는 모든 장치에서 **MSIXVC2 개발자 모드 레지스트리 키** 설정됨. 자세한 내용은 [7단계](#step-7-test-your-package-locally)를 참조하세요.

## 1단계: 콘텐츠 준비

타이틀의 모든 원본 자료를 하나의 디렉터리에 배치합니다. 패키징 시스템이 사용할 수 없거나 소매 패키지에 배송하기에 적합하지 않은 파일을 제거합니다.

다음 파일이 있는 경우 제거합니다.

* PDB 파일.
* 자산, 바이너리 등 다른 PC 게임 스토어에 대한 참조.
* AppxSignature.p7x 및 AppxBlockMap.xml을 포함한 유니버설 Windows 플랫폼(UWP) 및 Appx "풋프린트" 파일.

## 2단계: MicrosoftGame.config 만들기

게임 콘텐츠의 루트 디렉터리에 MicrosoftGame.config 파일을 만듭니다. 이 구성 파일은 MSIXVC와 함께 작동합니다. 기존 MicrosoftGame.config는 변경 없이 MSIXVC2와 함께 작동합니다.

이 파일은 수동으로 만들거나 Partner Center 프로젝트에서 ID 및 ID 값을 직접 동기화하는 [MicrosoftGame.config Editor](/build/core-features/common/game-config/MicrosoftGameConfig-Editor)를 사용하여 만들 수 있습니다.

MicrosoftGame.config 파일 샘플은 [PC용 MSIXVC 시작하기](/build/core-features/common/packaging/overviews/packaging-getting-started-for-PC#sample-microsoftgameconfig)를 참조하세요.

## 3단계: Visual C/C++ 런타임 종속성 식별

MicrosoftGame.config에 Visual C/C++ 런타임 종속성이 나열되어 있거나 이러한 종속성을 패키지 페이로드에 명시적으로 복사했는지 확인하세요. 자세한 내용은 [프레임워크 패키지 종속성](/build/core-features/common/packaging/packaging-framework-packages)을 참조하세요.

## 4단계: 아이콘 만들기

MicrosoftGame.config의 `ShellVisuals` 섹션에 지정된 크기로 조정된 아이콘 파일을 게임 콘텐츠의 루트 폴더(또는 하위 디렉터리)에 배치합니다. [MicrosoftGame.config Editor](/build/core-features/common/game-config/MicrosoftGameConfig-Editor)는 단일 원본 이미지에서 이러한 이미지를 생성할 수 있습니다.

## 5단계: 레이아웃 매핑 파일 생성(선택 사항)

이 단계는 선택 사항입니다. 기본적으로 MSIXVC2는 모든 콘텐츠를 단일 청크로 패키지합니다. 콘텐츠를 여러 청크로 나누거나 Intelligent Delivery 태그를 추가하려는 경우에만 레이아웃 매핑 파일이 필요합니다.

레이아웃 매핑 파일을 생성하려면 GDK 명령 프롬프트를 열고 다음 명령을 실행합니다.

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

이 명령은 콘텐츠가 청크로 구성되는 방법을 정의하는 레이아웃 매핑 파일을 만듭니다. 생성된 파일에는 단일 청크가 포함됩니다. 필요에 따라 파일을 편집하여 콘텐츠를 여러 청크로 나누거나 Intelligent Delivery 태그를 추가할 수 있습니다.

<Tip>
  MSIXVC2에서는 청크를 재정렬하거나 청크 간에 파일을 이동해도 콘텐츠 업데이트 크기에 영향을 주지 않습니다. MSIXVC에 존재하는 업데이트 페널티를 걱정하지 않고 자유롭게 레이아웃을 구성할 수 있습니다.
</Tip>

레이아웃 파일에 대한 자세한 내용은 [배포 패키지 스키마](/build/core-features/common/packaging/deployment/atoc-deployment-schema)를 참조하세요.

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

<Info>
  이 레지스트리 키는 향후 GDK 릴리스까지 필수입니다. 이것이 없으면 MSIXVC2 패키지가 설치되지 않습니다. 관리자(admin) 명령 프롬프트에서 명령을 실행하세요.
</Info>

그런 다음 패키지를 설치합니다.

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

MSIXVC2 패키지는 `[drive]:\XboxGames` 폴더에 설치됩니다. 파일은 원본 형태로 설치되며 직접 액세스할 수 있습니다. 이 설치 위치는 MSIXVC 패키지가 [Flat File Install](/build/core-features/common/packaging/packaging-flatfileinstall)과 함께 사용하는 위치와 동일합니다.

로컬에서 사이드로드하는 것과 동일한 패키지를 Partner Center에 업로드할 수 있습니다. 별도의 제출 패키지 단계가 없습니다.

## 8단계: Partner Center에 업로드

<Info>
  MSIXVC2 패키지를 Partner Center의 **새 브랜치**(예: `msixvc2`)에 게시합니다. MSIXVC2 패키지를 기존 MSIXVC 패키지와 동일한 브랜치에 업로드하지 마세요. 두 형식은 브랜치 내에서 상호 교환할 수 없으며, 브랜치를 MSIXVC2에서 MSIXVC로 되돌리려면 패키지의 전체 업로드와 다운로드가 필요합니다. 자세한 내용은 [패키지 브랜치 모범 사례](/build/core-features/common/packaging/overviews/packaging-msixvc2-overview#package-branch-best-practices)를 참조하세요.
</Info>

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)](/build/core-features/common/packaging/deployment/makepkg)를 참조하세요.

<a id="authentication-methods" />

## 인증 방법

`upload` 명령은 다양한 환경에 대한 여러 인증 방법을 지원합니다.

| 방법                         | 사용 사례                                                            |
| -------------------------- | ---------------------------------------------------------------- |
| `CacheableBrowser`         | 기본값. 대화형 로그인을 위해 브라우저를 엽니다. 이후 업로드를 위해 자격 증명을 캐시합니다.             |
| `Browser`                  | 캐시 없이 대화형 로그인을 위해 브라우저를 엽니다.                                     |
| `AzureCli`                 | Azure CLI 자격 증명을 사용합니다. `az login`을 통해 이미 인증된 경우 유용합니다.          |
| `AzurePipelines`           | Azure Pipelines 서비스 연결을 사용합니다. Azure DevOps CI/CD 파이프라인에 이상적입니다. |
| `ManagedIdentity`          | Azure 관리 ID를 사용합니다. `/clientid`가 필요합니다.                          |
| `ManagedIdentityFederated` | 페더레이션된 관리 ID를 사용합니다. `/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 파이프라인을 계속 실행하세요. MSIXVC2 평가에는 별도의 Partner Center 브랜치를 사용하여 결과를 나란히 비교하고 라이브 게임에 지장을 주지 않고 GA 시 MSIXVC2로 마이그레이션할 수 있도록 하세요.
</Tip>

## 업데이트 크기 비교

타이틀에 대한 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와 동일한 방식으로 작동합니다. 레이아웃 매핑 파일에서 청크를 정의하고 언어, 장치 또는 태그 지정자를 설정합니다. 주요 차이점은 청크를 재구성하거나 청크 간에 파일을 이동해도 콘텐츠 업데이트 크기에 영향을 주지 않는다는 것입니다.

자세한 내용은 [스트리밍 설치 및 Intelligent Delivery: 개요](/build/core-features/common/packaging/overviews/streaming_install-intelligent_delivery)를 참조하세요.

## 함께 보기

[MSIXVC2 패키징 개요](/build/core-features/common/packaging/overviews/packaging-msixvc2-overview) [Make package (makepkg.exe)](/build/core-features/common/packaging/deployment/makepkg) [PC용 MSIXVC 시작하기](/build/core-features/common/packaging/overviews/packaging-getting-started-for-PC) [MSIXVC2 콘텐츠 업데이트](/build/core-features/common/packaging/packaging-updates-msixvc2) [MSIXVC2 암호화 모델](/build/core-features/common/packaging/packaging-encryption-msixvc2) [XBOX Game Package Manager](/build/core-features/common/packaging/xgpm) [패키지 업로드 자동화](/build/core-features/common/packaging/package-uploader) [Flat File Install 개요](/build/core-features/common/packaging/packaging-flatfileinstall) [배포 패키지 스키마](/build/core-features/common/packaging/deployment/atoc-deployment-schema)


## Related topics

- [MSIXVC 도구로 PC 타이틀 패키징 시작하기](/ko/build/core-features/common/packaging/overviews/packaging-getting-started-for-PC.md)
- [XBOX 콘솔용 타이틀 패키징 시작하기](/ko/build/core-features/common/packaging/overviews/packaging-getting-started-for-console.md)
- [MSIXVC2 패키징 개요](/ko/build/core-features/common/packaging/overviews/packaging-msixvc2-overview.md)
- [패키징 개요](/ko/build/core-features/common/packaging/overviews/packaging.md)
- [MSIXVC2를 사용한 콘텐츠 업데이트](/ko/build/core-features/common/packaging/packaging-updates-msixvc2.md)
