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

# packageutil.exe

> packageutil.exe

PackageUtil은 XVC, MSIXVC, MSIXVC2 패키지 파일에서 콘텐츠를 검사, 비교, 추출합니다.

```text theme={null}
packageutil <command> [options]
```

## 전역 옵션

| 옵션         | 설명                  |
| ---------- | ------------------- |
| `/v`       | 콘솔에 자세한 출력을 활성화합니다. |
| `/?`, `/h` | 도움말과 사용법 정보를 표시합니다. |

## 명령

* [`info`](#info) - 패키지 메타데이터를 표시합니다.
* [`compare`](#compare) - 두 패키지를 비교하고 차이점을 보고합니다.
* [`license`](#license) - 서명 키 정보를 표시합니다.
* [`osinfo`](#osinfo) - 게임 OS 정보를 표시합니다.
* [`chunkinfo`](#chunkinfo) - 청크 세부 정보를 표시합니다.
* [`fileinfo`](#fileinfo) - 파일 세부 정보를 표시합니다.
* [`extract`](#extract) - 패키지에서 파일을 추출합니다.
* [`set`](#set) - PackageUtil 설정을 변경합니다.

## info

버전 번호, ContentID, ProductID, GameOS 버전, 암호화 키 ID를 포함한 패키지 정보를 제공합니다.

```text theme={null}
packageutil info <packagefile>
```

### 인수

| 인수              | 설명                 |
| --------------- | ------------------ |
| `<packagefile>` | 검사할 패키지 파일을 지정합니다. |

## compare

기본 패키지와 업데이트된 패키지를 비교하고 업데이트 크기와 변경된 세그먼트를 포함한 차이점을 보고합니다.

```text theme={null}
packageutil compare <basepackagefile> <updatedpackagefile> [options]
```

### 인수

| 인수                     | 설명                      |
| ---------------------- | ----------------------- |
| `<basepackagefile>`    | 업데이트 비교의 기본 패키지를 지정합니다. |
| `<updatedpackagefile>` | 비교할 업데이트된 패키지를 지정합니다.   |

### 옵션

| 옵션           | 설명                      |
| ------------ | ----------------------- |
| `/quiet`     | 요약 정보만 인쇄합니다.           |
| `/out <out>` | 비교 보고서의 출력 디렉터리를 지정합니다. |

PackageUtil은 기본 패키지에서 업데이트된 패키지로 업데이트할 때 다운로드되는 콘텐츠의 HTML 보고서를 생성합니다. 이 보고서에는 예상 업데이트 다운로드 크기가 포함됩니다.

두 패키지는 `/lk` 암호화 또는 기본 암호화 모드를 사용해야 합니다. `/l`은 사용하지 마세요. 고유한 콘텐츠 라이선스를 사용하는 패키지에 대해서는 비교 결과가 정확하지 않기 때문입니다.

## license

패키지에 사용된 서명 키에 대한 정보를 표시합니다. EKB 파일이 패키지와 일치하는지 확인할 수도 있습니다.

이 명령은 다음 값 중 하나를 보고합니다.

* Submission signed (`/l`) - Partner Center에 제출용으로만.
* Test signed (`/lt`) - 사이드로드가 활성화되고 안전하지 않게 암호화됨.

<Note>
  현재 `packageutil license`는 `/lk`로 서명된 패키지를 `/l`로 서명된 패키지로 보고합니다.
</Note>

```text theme={null}
packageutil license <packagefile> [<ekbfile>]
```

### 인수

| 인수              | 설명                                                                                   |
| --------------- | ------------------------------------------------------------------------------------ |
| `<packagefile>` | 검사할 패키지 파일을 지정합니다.                                                                   |
| `<ekbfile>`     | 선택적으로 패키지에 대해 확인할 EKB 파일을 지정합니다. 인증 전에 이 확인을 사용하여 인증되는 패키지와 연결된 EKB 파일을 제공하는지 확인하세요. |

## osinfo

GUID와 4자리 버전 번호를 포함한 게임 OS 정보를 제공합니다.

```text theme={null}
packageutil osinfo <gameos>
```

### 인수

| 인수         | 설명                   |
| ---------- | -------------------- |
| `<gameos>` | 검사할 게임 OS 파일을 지정합니다. |

## chunkinfo

청크 ID, 청크 크기, Intelligent Delivery 지정자를 포함한 패키지의 청크에 대한 정보를 제공합니다.

```text theme={null}
packageutil chunkinfo <packagefile>
```

### 인수

| 인수              | 설명                 |
| --------------- | ------------------ |
| `<packagefile>` | 검사할 패키지 파일을 지정합니다. |

## fileinfo

파일 이름, 크기, 세그먼트 세부 정보를 포함한 패키지의 파일에 대한 정보를 제공합니다.

```text theme={null}
packageutil fileinfo <packagefile> [options]
```

### 인수

| 인수              | 설명                 |
| --------------- | ------------------ |
| `<packagefile>` | 검사할 패키지 파일을 지정합니다. |

## extract

패키지에서 하나 이상의 파일을 출력 디렉터리로 추출합니다.

<Note>
  Extract는 MSIXVC2 패키지에서만 지원됩니다.
</Note>

<Note>
  Extract는 암호화되지 않은 패키지에서만 추출할 수 있습니다. 예를 들어 XBOX CDN의 패키지 파일에서는 추출할 수 없습니다.
</Note>

```text theme={null}
packageutil extract /package <packagefile> /out <outputdir> [options]
```

### 옵션

| 옵션                   | 설명                                   |
| -------------------- | ------------------------------------ |
| `/package <package>` | MSIXVC2 패키지 파일을 지정합니다.               |
| `/file <file>`       | 추출할 파일 하나를 지정합니다. 생략하면 모든 파일이 추출됩니다. |
| `/out <out>`         | **(필수)** 출력 디렉터리를 지정합니다.             |

**샘플 사용법:**

```text theme={null}
packageutil extract /package MyGame.msixvc /out extracted_files
```

## set

PackageUtil 설정을 변경합니다. 현재 장치에서 MSIXVC2 개발자 모드를 켜거나 끄려면 `set msixvc2`를 사용합니다.

```text theme={null}
packageutil set msixvc2 <on|off>
```

이 명령은 관리자 명령 프롬프트에서 실행합니다.

## 미들웨어 및 사용자 지정 도구를 위한 JSON 출력

`compare`를 실행하면 PackageUtil은 HTML 보고서와 함께 JSON 컴패니언 파일을 만듭니다. 미들웨어, 엔진, 사용자 지정 도구는 이 파일을 사용하여 패키지 레이아웃을 검사하거나, 패키지 바이너리에서 파일을 찾거나, 정렬을 확인하거나, 패키지를 압축 해제하지 않고 구조 정보를 추출할 수 있습니다.

`fileinfo` 명령도 기계 처리에 적합한 구조화된 출력을 생성합니다.

JSON 출력은 파일 크기를 작게 유지하기 위해 축약된 필드 이름을 사용합니다.

| 축약된 이름 | 전체 이름  | 설명                             |
| ------ | ------ | ------------------------------ |
| `O`    | Offset | 패키지 파일에서 데이터 세그먼트의 바이트 오프셋입니다. |
| `L`    | Length | 데이터 세그먼트의 길이(바이트)입니다.          |

## 관련 항목

[MSIXVC2 패키징 개요](/build/core-features/common/packaging/overviews/packaging-msixvc2-overview)

[Make package (makepkg.exe)](/build/core-features/common/packaging/deployment/makepkg)

[PC용 MSIXVC2 시작하기](/build/core-features/common/packaging/overviews/packaging-getting-started-for-PC-msixvc2)


## Related topics

- [XBOX 환경 도구 및 API](/ko/tools/tools-console/gc-xbox-tools-and-apis-toc.md)
- [PC 개발용 명령줄 도구](/ko/tools/tools-pc/commandlinetools/gr-commandlinetools-toc.md)
- [스트리밍 설치용 도구](/ko/build/core-features/common/packaging/deployment/atoc-deployment-tools.md)
- [배포 패키지 스키마 및 스트리밍 설치 도구](/ko/build/core-features/common/packaging/deployment/index.md)
- [Make package (makepkg.exe)](/ko/build/core-features/common/packaging/deployment/makepkg.md)
