> ## 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 版本和加密金鑰識別碼。

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

提供遊戲 OS 的相關資訊，包括其 GUID 和四段式版本號碼。

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

### 引數

| 引數 | 說明 |
| - | - |
| `<gameos>` | 指定要檢查的遊戲 OS 檔案。 |

## chunkinfo

提供套件中區塊的相關資訊，包括區塊識別碼、區塊大小和 Intelligent Delivery 指定元。

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

### 引數

| 引數 | 說明 |
| - | - |
| `<packagefile>` | 指定要檢查的套件檔案。 |

## fileinfo

提供套件中檔案的相關資訊，包括檔案名稱、大小和區段詳細資料。

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

### 引數

| 引數 | 說明 |
| - | - |
| `<packagefile>` | 指定要檢查的套件檔案。 |

## extract

從套件將一或多個檔案擷取至輸出目錄。

<Note>
  只有 MSIXVC2 套件支援擷取。
</Note>

<Note>
  擷取只能從未加密的套件進行。例如，無法從 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 設定。使用 `set msixvc2` 在目前裝置上開啟或關閉 MSIXVC2 開發人員模式。

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

請從提高權限的命令提示字元執行此命令。

## 適用於中介軟體和自訂工具的 JSON 輸出

執行 `compare` 時，PackageUtil 會隨 HTML 報告建立一個 JSON 隨附檔案。中介軟體、引擎和自訂工具可以使用此檔案來檢查套件配置、在套件二進位檔中尋找檔案、驗證對齊，或在不解壓縮套件的情況下擷取結構資訊。

`fileinfo` 命令也會產生適合機器處理的結構化輸出。

JSON 輸出使用縮寫的欄位名稱，以保持較小的檔案大小。

| 縮寫名稱 | 完整名稱 | 說明 |
| - | - | - |
| `O` | Offset | 套件檔案中資料區段的位元組位移。 |
| `L` | Length | 資料區段的長度 (以位元組為單位)。 |

## 相關主題

[MSIXVC2 封裝概觀](/zh-TW/build/core-features/common/packaging/overviews/packaging-msixvc2-overview)

[建立套件 (makepkg.exe)](/zh-TW/build/core-features/common/packaging/deployment/makepkg)

[開始使用適用於 PC 的 MSIXVC2](/zh-TW/build/core-features/common/packaging/overviews/packaging-getting-started-for-PC-msixvc2)


## Related topics

- [packageutil.exe](/build/core-features/common/packaging/deployment/packageutil.md)
- [XBOX environment tools and APIs](/tools/tools-console/gc-xbox-tools-and-apis-toc.md)
- [Command-line tools for PC development](/tools/tools-pc/commandlinetools/gr-commandlinetools-toc.md)
- [Herramientas y API del entorno de XBOX](/es/tools/tools-console/gc-xbox-tools-and-apis-toc.md)
- [XBOX 环境工具与 API](/zh-CN/tools/tools-console/gc-xbox-tools-and-apis-toc.md)
