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

O PackageUtil inspeciona, compara e extrai conteúdo de arquivos de pacote XVC, MSIXVC e MSIXVC2.

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

## Opções globais

| Opção | Descrição |
| - | - |
| `/v` | Habilita a saída detalhada no console. |
| `/?`, `/h` | Mostra informações de ajuda e uso. |

## Comandos

* [`info`](#info) - Exibe os metadados do pacote.
* [`compare`](#compare) - Compara dois pacotes e relata as diferenças.
* [`license`](#license) - Exibe informações da chave de assinatura.
* [`osinfo`](#osinfo) - Exibe informações do sistema operacional do jogo.
* [`chunkinfo`](#chunkinfo) - Exibe detalhes dos chunks.
* [`fileinfo`](#fileinfo) - Exibe detalhes dos arquivos.
* [`extract`](#extract) - Extrai arquivos de um pacote.
* [`set`](#set) - Altera uma configuração do PackageUtil.

## info

Fornece informações sobre o pacote, incluindo o número de versão, ContentID, ProductID, versão do GameOS e IDs das chaves de criptografia.

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

### Argumentos

| Argumento | Descrição |
| - | - |
| `<packagefile>` | Especifica o arquivo de pacote a ser examinado. |

## compare

Compara um pacote base com um pacote atualizado e relata as diferenças, incluindo o tamanho da atualização e os segmentos alterados.

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

### Argumentos

| Argumento | Descrição |
| - | - |
| `<basepackagefile>` | Especifica o pacote base para a comparação da atualização. |
| `<updatedpackagefile>` | Especifica o pacote atualizado para a comparação. |

### Opções

| Opção | Descrição |
| - | - |
| `/quiet` | Imprime somente informações de resumo. |
| `/out <out>` | Especifica o diretório de saída para os relatórios de comparação. |

O PackageUtil produz um relatório HTML do conteúdo baixado ao atualizar do pacote base para o pacote atualizado. O relatório inclui uma estimativa do tamanho do download da atualização.

Ambos os pacotes devem usar a criptografia `/lk` ou o modo de criptografia padrão. Não use `/l`, pois os resultados da comparação não são precisos para pacotes que usam uma licença de conteúdo exclusiva.

## license

Exibe informações sobre a chave de assinatura usada em um pacote. Também pode verificar se um arquivo EKB corresponde ao pacote.

O comando relata um dos seguintes valores:

* Assinado para envio (`/l`) - somente para envio ao Partner Center.
* Assinado para teste (`/lt`) - com sideload habilitado e criptografado de forma não segura.

<Note>
  Atualmente, `packageutil license` relata pacotes assinados com `/lk` como pacotes assinados com `/l`.
</Note>

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

### Argumentos

| Argumento | Descrição |
| - | - |
| `<packagefile>` | Especifica o arquivo de pacote a ser examinado. |
| `<ekbfile>` | Opcionalmente, especifica um arquivo EKB a ser verificado em relação ao pacote. Antes da certificação, use essa verificação para garantir que você está fornecendo o arquivo EKB associado ao pacote que está sendo certificado. |

## osinfo

Fornece informações sobre um sistema operacional do jogo, incluindo seu GUID e o número de versão de quatro partes.

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

### Argumentos

| Argumento | Descrição |
| - | - |
| `<gameos>` | Especifica o arquivo do sistema operacional do jogo a ser examinado. |

## chunkinfo

Fornece informações sobre os chunks em um pacote, incluindo a ID do chunk, o tamanho do chunk e os especificadores de Intelligent Delivery.

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

### Argumentos

| Argumento | Descrição |
| - | - |
| `<packagefile>` | Especifica o arquivo de pacote a ser examinado. |

## fileinfo

Fornece informações sobre os arquivos em um pacote, incluindo nomes de arquivos, tamanhos e detalhes dos segmentos.

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

### Argumentos

| Argumento | Descrição |
| - | - |
| `<packagefile>` | Especifica o arquivo de pacote a ser examinado. |

## extract

Extrai um ou mais arquivos de um pacote para um diretório de saída.

<Note>
  O extract tem suporte somente para pacotes MSIXVC2.
</Note>

<Note>
  O extract só pode extrair de pacotes não criptografados. Por exemplo, ele não pode extrair de um arquivo de pacote na CDN do XBOX.
</Note>

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

### Opções

| Opção | Descrição |
| - | - |
| `/package <package>` | Especifica o arquivo de pacote MSIXVC2. |
| `/file <file>` | Especifica um arquivo a ser extraído. Se omitido, todos os arquivos serão extraídos. |
| `/out <out>` | **(Obrigatório)** Especifica o diretório de saída. |

**Exemplo de uso:**

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

## set

Altera uma configuração do PackageUtil. Use `set msixvc2` para ativar ou desativar o modo de desenvolvedor do MSIXVC2 no dispositivo atual.

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

Execute esse comando em um prompt de comando com privilégios elevados.

## Saída JSON para middleware e ferramentas personalizadas

Quando você executa `compare`, o PackageUtil cria um arquivo JSON complementar ao relatório HTML. Middleware, engines e ferramentas personalizadas podem usar esse arquivo para inspecionar o layout do pacote, localizar arquivos no binário do pacote, verificar o alinhamento ou extrair informações estruturais sem desempacotar o pacote.

O comando `fileinfo` também produz uma saída estruturada adequada para processamento por máquina.

A saída JSON usa nomes de campos abreviados para manter o tamanho do arquivo pequeno.

| Nome abreviado | Nome completo | Descrição |
| - | - | - |
| `O` | Offset | O deslocamento em bytes de um segmento de dados no arquivo de pacote. |
| `L` | Length | O comprimento de um segmento de dados em bytes. |

## Tópicos relacionados

[Visão geral do empacotamento MSIXVC2](/pt-BR/build/core-features/common/packaging/overviews/packaging-msixvc2-overview)

[Criar pacote (makepkg.exe)](/pt-BR/build/core-features/common/packaging/deployment/makepkg)

[Introdução ao MSIXVC2 para PC](/pt-BR/build/core-features/common/packaging/overviews/packaging-getting-started-for-PC-msixvc2)


## Related topics

- [Ferramentas e APIs do ambiente XBOX](/pt-BR/tools/tools-console/gc-xbox-tools-and-apis-toc.md)
- [Ferramentas de linha de comando para o desenvolvimento para PC](/pt-BR/tools/tools-pc/commandlinetools/gr-commandlinetools-toc.md)
- [Ferramentas para instalação por streaming](/pt-BR/build/core-features/common/packaging/deployment/atoc-deployment-tools.md)
- [Esquema do pacote de implantação e ferramentas de instalação por streaming](/pt-BR/build/core-features/common/packaging/deployment/index.md)
- [Criar pacote (makepkg.exe)](/pt-BR/build/core-features/common/packaging/deployment/makepkg.md)
