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

# MSIXVC 도구로 PC 타이틀 패키징 시작하기

> MSIXVC 패키징 도구를 사용하여 PC용 타이틀 패키징 시작하기

<Tip>
  **MSIXVC2는 2026년 10월 GDK부터 일반적으로 사용할 수 있습니다.** MSIXVC2는 훨씬 더 작은 업데이트, 더 빠른 패키징, 단순화된 업로드 워크플로를 제공하는 차세대 PC 패키징 형식입니다. 새 PC 타이틀을 시작하거나 패키징 옵션을 평가하는 경우 [MSIXVC2 패키징 개요](/build/core-features/common/packaging/overviews/packaging-msixvc2-overview) 및 [PC용 MSIXVC2 시작하기](/build/core-features/common/packaging/overviews/packaging-getting-started-for-PC-msixvc2)를 참조하세요. 이 페이지의 단계는 계속해서 완전히 지원되는 원래 MSIXVC 형식에 적용됩니다.
</Tip>

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

## Windows 10 버전의 최소 요구 사항 확인

MSIXVC 기반 패키지의 배포 테스트에는 Windows 10 버전 18362 이상이 필요합니다.

## 패키징 요구 사항 평가

패키지에 다음 속성이 있거나 다음 기능이 필요한 경우, 이 문서의 뒷부분에 있는 [기타 패키징 고려 사항 및 고급 기능](#other-packaging-considerations-and-advanced-features) 섹션을 참조하세요.

* **프레임워크 패키지 종속성** 앱이 재배포 가능한 소프트웨어에 의존하는 경우, Microsoft에서 미리 패키징된 여러 필수 구성 요소 버전을 사용할 수 있으며 이를 종속성으로 선언하여 자동으로 설치할 수 있습니다.
* **사용자 지정 설치 작업** 앱이 프레임워크 패키지가 제공되지 않는 재배포 가능한 소프트웨어에 의존하는 경우, 이러한 종속성을 체인 설치할 수 있습니다.

## 콘텐츠 준비

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

* 프로그램 데이터베이스(PDB) 파일.
* AppxSignature.p7x 및 AppxBlockMap.xml을 포함한 유니버설 Windows 플랫폼(UWP) 및 APPX 풋프린트 파일. 이전에 Microsoft Store에서 UWP로 배송했다면 APPX 또는 MSIX 패키지와 관련된 이러한 파일 중 일부가 있을 수 있습니다. 이러한 파일을 제거하세요.
* 자산, 바이너리 등 다른 PC 게임 스토어에 대한 참조.

## Partner Center에서 제품 ID 정보 가져오기

패키지는 게시자 ID, PackageFamilyName, MSAAppId, TitleId를 포함하여 Partner Center에서 게임에 할당된 제품 ID를 참조합니다. 제품을 설정하고 **Game Setup | Identity** 페이지에서 이 정보를 검색하여 MicrosoftGame.config에서 사용하세요.

1. 아직 등록하지 않았다면 [ID@XBOX 프로그램에 등록](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/pc-dev/tutorials/pc-e2e-guide/e2e-register-id-at-xbox)하고 [Partner Center 계정을 만드세요](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/pc-dev/tutorials/pc-e2e-guide/e2e-creating-partnercenter-account).
2. Partner Center에서 게임에 대한 [초기 제품 정의를 만듭니다](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/pc-dev/tutorials/pc-e2e-guide/e2e-creating-partnercenter-product-definition).
3. 제품의 **Game Setup | Identity** 페이지에서 위에 나열된 ID 값을 찾습니다.

## 루트 폴더에 MicrosoftGame.config XML 파일을 만든 다음 나머지 게임 콘텐츠 만들기

이 문서의 뒷부분에 MicrosoftGame.config xml 파일 샘플이 포함되어 있습니다. .config 파일 생성을 간소화하고 Partner Center 프로젝트에서 ID 및 이름 값을 자동으로 동기화하는 [MicrosoftGame.config Editor](/build/core-features/common/game-config/MicrosoftGameConfig-Editor)와 함께 이 샘플을 참조로 사용하세요.

## Visual C/C++ 런타임 종속성 식별

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

## 셸 및 스토어 패키지 표시용 아이콘 만들기

다음 MicrosoftGame.config 샘플에 나열된 각 이미지에 대해, 지정된 크기로 조정된 해당 파일을 게임의 루트 폴더에 배치합니다. 또는, 이미지 자산을 하위 디렉터리에 배치하고 일치하도록 ShellVisuals 아이콘 경로를 조정합니다. [MicrosoftGame.config Editor](/build/core-features/common/game-config/MicrosoftGameConfig-Editor)는 단일 원본 이미지를 입력으로 하여 이러한 이미지를 생성하는 기능을 제공합니다.

## MakePkg.exe 패키징 도구를 포함하는 Microsoft Game Development Kit 설치

기본적으로 Microsoft Game Development Kit(GDK) 명령 프롬프트는 C:\Program Files (x86)\Microsoft GDK\Command Prompts 폴더에 있습니다.

## 패키징 레이아웃 매핑 파일 만들기

모든 게임 콘텐츠가 있는 단일 폴더가 포함된 폴더에서 Microsoft Game Development Kit(GDK) 명령 프롬프트를 연 다음 다음 명령을 실행합니다.

`MakePkg genmap /f layout.xml /d <Your_game_folder>`

이 명령은 `layout.xml`이라는 파일을 만듭니다(이 파일 이름은 제안된 이름이지만 다른 이름을 사용할 수 있습니다). 패키징 단계에서 이 파일을 사용합니다. 패키징 도구에 대한 자세한 내용은 [Make package (makepkg.exe)](/build/core-features/common/packaging/deployment/makepkg)를 참조하세요.

## Intelligent Delivery를 사용하여 설치 크기를 줄이는 방법 결정

layout.xml 파일에서 콘텐츠에 태그를 지정하여 설치 크기를 줄이는 방법을 알아보려면 [Intelligent Delivery 개요](/build/core-features/common/packaging/overviews/intelligentdelivery)를 참조하세요. 상당한 크기의 지역화된 자산이 있거나 기본적으로 설치되어서는 안 되지만 게임에서 트리거되었을 때 다운로드할 수 있어야 하는 콘텐츠가 있는 경우 Intelligent Delivery 사용을 고려하세요.

## 패키지 만들기

다음 명령을 사용하여 패키지를 만듭니다.

`MakePkg pack /f layout.xml /lt /d <Your_game_folder_name> /nogameos /pc /pd <Output_Folder_Name>`

인게임 스토어 및 평가판과 같은 라이선스 종속 시나리오의 경우, 실제 콘텐츠 ID와 함께 `makepkg`를 사용합니다. Partner Center는 패키지를 처음 인제스트할 때 이 실제 콘텐츠 ID를 생성합니다. **Packages** 페이지에서 제출된 패키지의 세부 정보에서 이를 찾을 수 있습니다.

## 대상 PC에서 개발자 모드 활성화

1. **Settings**를 엽니다.
2. 검색 필드에 **Developer**를 입력합니다. 표시된 옵션에서 **Use developer features**를 선택합니다.
3. **Developer mode**를 선택합니다. 시스템이 일부 기능을 추가 중이라는 대화 상자가 나타납니다. 이 단계 이후로 진행하기 전에 이 프로세스가 완료될 때까지 기다리세요.

## 앱 설치 테스트

다음 명령을 실행합니다: `Wdapp install <Your_Package.msixvc>`

패키지는 개발 PC의 로컬 드라이브 또는 드라이브 문자에 매핑된 네트워크 위치에 있어야 합니다. UNC(범용 명명 규칙) 공유에서의 설치는 아직 지원되지 않습니다. 진행 상황이 표시되지 않으면 Microsoft Store 앱을 열고 앱의 오른쪽 상단에 있는 아래쪽 화살표(있는 경우)로 표시된 **Downloads and updates** 섹션에서 진행 상황을 볼 수 있습니다. 줄임표(...)를 선택한 다음 **Downloads and updates**를 선택할 수도 있습니다.

2022년 3월 Microsoft Game Development Kit(GDK)부터 MSIXVC 패키지는 직접 수정하고 액세스할 수 있는 플랫 파일로 배치된 `[drive]:\XboxGames` 폴더에 설치됩니다. [Application Management (wdapp.exe)](/tools/tools-pc/commandlinetools/gr-wdapp)를 사용하여 이 드라이브 위치를 구성할 수 있습니다. Flat File Install 기능에 대한 자세한 내용은 [Flat File Install 개요](/build/core-features/common/packaging/packaging-flatfileinstall)를 참조하세요.

## 최종 패키지 준비 및 Partner Center에 제출

이전 [MakePkg.exe](/build/core-features/common/packaging/deployment/makepkg) 명령을 사용하여 만든 패키지는 테스트 또는 개발 키로 암호화하는 **/LT** 매개 변수를 사용했습니다. 최대 보안을 위해 안정적인 키로 암호화하려면 `/LK` 플래그를 사용하거나 고유한 키로 암호화하려면 `/L` 플래그를 사용하여 MakePkg.exe 명령을 다시 실행합니다. `/LK`로 생성된 패키지는 로컬 크기 델타 비교에 사용할 수 있고 Partner Center에 제출할 때 델타 업로드 최적화의 이점을 얻을 수 있으므로 `/L`보다는 `/LK`를 사용하세요.

## MicrosoftGame.config 샘플

MicrosoftGame.config라는 파일을 만듭니다. 게임 콘텐츠의 루트 디렉터리에서 다음 내용을 사용한 다음, 필요하지 않은 항목의 주석을 제거하세요.

수동으로 MicrosoftGame.config를 만들 수도 있지만, 이 파일을 만드는 가장 좋은 방법은 [MicrosoftGame.config Editor](/build/core-features/common/game-config/MicrosoftGameConfig-Editor)를 사용하는 것입니다. 이 도구를 사용하면 Partner Center 프로젝트에서 ID 및 ID 값을 직접 쉽게 동기화할 수 있습니다.

```xml theme={null}
<?xml version="1.0" encoding="utf-8"?>
<Game configVersion="1">
    <!-- Publisher should match the exact value provided in the "Package/Identity/Publisher" field of the Game setup -> Identity section of your product's configuration area in Partner Center.
         Name should match the exact value provided in the "Package/Identity/Name" field of the Game setup -> Identity section of your product's configuration area in Partner Center. -->
    <Identity Name="**REPLACE**"
        Publisher="**REPLACE**"
        Version="1.0.1.0"/>
        <!-- For MSIXVC/MSIXVC2 the fourth digit of the version number is reserved for Microsoft Store use -->

    <!-- These values are found in the Game Setup -> Identity section in your product's configuration area in Partner Center. -->
    <StoreId>**REPLACE WITH STOREID**</StoreId>
    <MSAAppId>**REPLACE WITH MSAAPPID**</MSAAppId>
    <TitleId>**REPLACE WITH TITLEID**</TitleId>

    <!--  Include any additional languages your title supports as appropriate -->
    <Resources>
      <Resource Language="en-US" />
    </Resources>

     <!-- Use override display name if you want to display a different title in the shell than the DefaultDisplayName from the ShellVisuals section, or if you need to localize it. -->

     <!-- Configuring the Alias attribute will allow you to take advantage of Execution Alias functionality when launching your executable. For more information, please see the MicrosoftGame.config reference documentation. -->

    <ExecutableList>
      <Executable Name="**REPLACE**"
                  Id="Game"
                  Alias="**REPLACE**"
                  OverrideDisplayName="**REPLACE**"
                  />
    </ExecutableList>

    <!-- DefaultDisplayName should match the exact value provided in the "Package/Identity/Name" field of the Game setup -> Identity section of your product's configuration area in Partner Center.
         PublisherDisplayName should use the exact value provided in the "Package/Properties/PublisherDisplayName" field of the Game setup -> Identity section of your product's configuration area in Partner Center.-->
    
    <!-- The following asset sizes apply
         StoreLogo - 100x100
         Square150x150Logo - 150x150
         Square44x44Logo - 44x44
         SplashScreenImage - 1920x1080
    -->
    <ShellVisuals DefaultDisplayName="**REPLACE**" 
                  PublisherDisplayName="**REPLACE**"
                  StoreLogo="StoreLogo.png"
                  Square150x150Logo="Logo.png"
                  Square44x44Logo="SmallLogo.png"
                  Description="**REPLACE**"
                  BackgroundColor="#000040"
                  SplashScreenImage="SplashScreen.png"/>
    
    <DesktopRegistration>
      <!-- Include this section if you need to run a custom installer action with Administrator privileges the first time that your game runs.
           Any executable you specify must be located under the "Installers" folder in the base folder of your game. Don't include any other files in the
           Installers folder.
      <CustomInstallActions>
        <Folder>Installers</Folder>
        <InstallActionList>
          <InstallAction File="CustomInstaller.exe" Name="UniqueInstallTaskName" Arguments="/silent /example" />
        </InstallActionList>
      </CustomInstallActions>
      -->
      <DependencyList>
        <!-- Omit the Dependency items if your game doesn't need them, or the entire DependencyList element. Note that your version of VCLibs may be different. See the Framework package dependencies topic of the documentation for details and guidance. -->
        <KnownDependency Name="VC11"/>
      </DependencyList>
        <!-- Select the ProcessorArchitecture that matches your game executables. -->
      <ProcessorArchitecture>x64</ProcessorArchitecture>
      <!--<ProcessorArchitecture>x86</ProcessorArchitecture>-->

      <!-- Include this section if your game uses Xbox services Multiplayer invites.
      <MultiplayerProtocol>true</MultiplayerProtocol>
      -->
    </DesktopRegistration>

    <!-- Include this section if your game writes files to its installation directory, and you're unable to change this by altering your source code and recompiling your game.
    <ExtendedAttributeList>
      <ExtendedAttribute Name="RestrictedCapability" Value="packageWriteRedirectionCompatibilityShim"/>
    </ExtendedAttributeList>
    -->
</Game>
```

## 기타 패키징 고려 사항 및 고급 기능

### 일반적인 소프트웨어 종속성용 프레임워크 패키지

앱이 일부 재배포 가능한 소프트웨어에 의존하고 해당 소프트웨어가 Microsoft Store에서 프레임워크 패키지로 제공되는 경우, 재배포 가능 파일을 체인 설치하는 대신 프레임워크 패키지에 대한 종속성을 선언하세요.

예를 들어, 앱이 역사적으로 [Microsoft 다운로드 사이트에서 재배포된](https://www.microsoft.com/download/details.aspx?id=35) dxsetup.exe를 사용하여 충족되었던 레거시 DirectX 런타임을 사용하는 경우, 다음과 같이 Windows.Universal 및 Windows.Desktop의 표준 종속성과 함께 프레임워크 패키지에 대한 종속성을 선언합니다. 프레임워크 패키지는 Microsoft Store를 통해 자동으로 업데이트될 수 있고, 사용자 지정 설치 작업은 관리자 승인이 필요하며 설치 프로세스의 일부로 확인 프롬프트를 생성하므로, 이 방식이 사용자 지정 설치 작업을 사용하여 재배포 가능 파일을 직접 설치하는 것보다 선호됩니다.

```xml theme={null}
<DependencyList>
  <KnownDependency Name="DX11"/>
</DependencyList>
```

알려진 종속성의 전체 목록은 [MicrosoftGame.config 요소 - KnownDependency](/reference/system/microsoftgameconfig/elements/microsoftgameconfig-element-knowndependency) 문서를 참조하세요.

설치 시점에 운영 체제와 Microsoft Store는 이 패키지 종속성이 앱과 함께 설치되도록 합니다. DirectX 및 Visual Studio C/C++ 런타임 프레임워크 패키지 종속성에 대한 정보를 포함한 자세한 내용은 [프레임워크 패키지 종속성](/build/core-features/common/packaging/packaging-framework-packages)을 참조하세요.

### 모드 지원

2022년 3월 Microsoft Game Development Kit(GDK)부터 모드가 기본적으로 지원됩니다. 자세한 내용은 [모드](/build/core-features/common/packaging/packaging-mods)를 참조하세요.

### 사용자 지정 설치 작업

앱이 설치될 때 체인 설치되어야 하는 다른 설치 프로그램(.exe 또는 .msi 파일)에 의존하는 경우, CustomInstallActions 요소를 사용하여 이 단계를 구성합니다.

재배포 가능 파일의 경우, VC 런타임이나 DirectX 재배포 가능 .exe 또는 .msi 파일과 같은 것에 사용자 지정 설치 프로그램을 사용하기로 결정하기 전에 프레임워크 패키지가 사용 가능하고 필요한 필수 구성 요소가 포함되어 있는지 확인하세요. 사용자 지정 설치 작업에 대한 자세한 지침은 [사용자 지정 설치 작업](/build/core-features/common/packaging/packaging-custom-install-actions)을 참조하세요.

### 제한된 기능 권한

MicrosoftGame.config 파일이 올바른 요소를 포함하도록 구성하는 것 외에도, 다음 기능을 사용하기 위해 타이틀에 대한 권한을 설정할 수 있도록 계정 관리자에게 이메일을 보내세요.

* 사용자 지정 설치 작업(CustomInstallActions 요소).

## 관련 패키징 문서

[MSIXVC2 패키징 개요](/build/core-features/common/packaging/overviews/packaging-msixvc2-overview) [PC용 MSIXVC2 시작하기](/build/core-features/common/packaging/overviews/packaging-getting-started-for-PC-msixvc2) [XBOX 콘솔용 패키징 시작하기](/build/core-features/common/packaging/overviews/packaging-getting-started-for-console) [MicrosoftGame.Config](/build/core-features/common/game-config/MicrosoftGameConfig-toc) [Microsoft Game Development Kit 도구를 활용하여 PC 타이틀 설치 및 실행](/tools/tools-pc/launching-on-pc) [PC Bootstrapper](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/pc-dev/overviews/gr-pc-bootstrapper)


## Related topics

- [GDK 도구로 PC 타이틀 설치 및 실행하기](/ko/tools/tools-pc/launching-on-pc.md)
- [XBOX 콘솔용 타이틀 패키징 시작하기](/ko/build/core-features/common/packaging/overviews/packaging-getting-started-for-console.md)
- [PC용 MSIXVC2 패키징 시작하기](/ko/build/core-features/common/packaging/overviews/packaging-getting-started-for-PC-msixvc2.md)
- [패키징](/ko/build/core-features/common/packaging/gc-packaging-toc.md)
- [GDK를 커스텀 C/C++ 엔진에 통합](/ko/build/gdk-and-engines/custom-engine.md)
