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

# Créer un package (makepkg.exe)

> Créer un package (makepkg.exe)

Crée des packages d'application, téléverse des packages vers Partner Center et exécute les opérations de création de packages connexes. `makepkg` prend en charge les formats de package XVC, MSIXVC et MSIXVC2. Utilisez l'option `/msixvc2` pour générer des packages au format MSIXVC2.

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

## Options globales

| Option | Description |
| - | - |
| `/v` | Active la sortie détaillée dans la console. |
| `/?`, `/h` | Affiche l'aide et les informations d'utilisation. |

## Commandes

* [pack](#pack) - Crée un nouveau package d'application à partir de fichiers sur le disque.
* [upload](#upload) - Téléverse un package ou un répertoire de fichiers vers Partner Center.
* [genkey](#genkey) - Génère une clé de chiffrement à utiliser avec `pack /lk`.
* [genid](#genid) - Effectue la conversion entre un GUID d'ID de produit et un ID Store.
* [genmap](#genmap) - Génère un fichier XML de mappage en fonction du contenu sur le disque.
* [validate](#validate) - Exécute la validation sans créer de package.
* [updatesubval](#updatesubval) - Met à jour SubmissionValidator.dll sans exécuter d'autre opération.
* [localize](#localize) - Génère un fichier Resources.pri en fonction du contenu sur le disque.

## pack

Crée un nouveau package d'application à partir de fichiers sur le disque.

```text theme={null}
makepkg pack [options]
```

**Exemple d'utilisation :**

```text theme={null}
makepkg pack /msixvc2 /f layout.xml /d <sourcedir> /pc /pd <destinationdir>
```

### Options

| Option | Description |
| - | - |
| `/msixvc2` | Génère un package au format de package MSIXVC2. Sans cette option, un package MSIXVC est généré. |
| `/updcompat 3` | Utilise la granularité de mise à jour de contenu au niveau des sous-fichiers pour les packages XVC et MSIXVC. La seule valeur prise en charge est `3`. |
| `/d <sourcedir>` | **(Obligatoire)** Spécifie le répertoire source qui contient le contenu à empaqueter. |
| `/pd <destinationdir>` | **(Obligatoire)** Spécifie le répertoire de destination du package généré. |
| `/f <mapfile>` | Spécifie le fichier de mappage à utiliser pour la création du package. S'il est omis, une disposition par défaut à segment unique est générée. |
| `/compress <method>` | Compresse la sortie. Les méthodes disponibles sont `Automatic` (par défaut) et `None`. `Automatic` utilise Brotli pour les packages MSIXVC2 et aucune compression pour les packages XVC ou MSIXVC. |
| `/pc` | Génère un package destiné au PC. |
| `/contentid <contentid>` | Spécifie l'ID de contenu auquel appartient ce package. |
| `/gameos <gameos>` | Spécifie le fichier de système d'exploitation de jeu à intégrer dans le package. |
| `/l` | Chiffre le package avec une licence de contenu unique. Lorsque vous soumettez un package XVC ou MSIXVC à la certification, utilisez `/l` ou `/lk`, sauf indication contraire de l'équipe de certification. |
| `/lk <key.lekb>` | Chiffre le package avec une licence de contenu à l'aide d'un fichier de clé spécifié. Utilisez `genkey` pour générer le fichier de clé. Lorsque vous soumettez un package XVC ou MSIXVC à la certification, utilisez `/l` ou `/lk`, sauf indication contraire de l'équipe de certification. |
| `/productid <productid>` | Spécifie l'ID de produit auquel appartient ce package. |
| `/maxencryptionfragments <count>` | Spécifie le nombre de fragments de chiffrement à réserver dans les métadonnées du package. Cette option s'applique uniquement aux packages XVC et MSIXVC. |
| `/priorpackage <OldPackage.msixvc>` | Spécifie un package XVC, MSIXVC ou MSIXVC2 issu d'une opération pack antérieure pour la comparaison de la taille de la mise à jour de contenu. |
| `/loggable` | Supprime la sortie contenant des caractères de contrôle qui ne conviennent pas à un fichier journal. |
| `/usepublisherkey <publisherkeyname>` | Signe un package Publisher Content XVC ou MSIXVC, ou intègre la clé publique de l'éditeur dans le package du jeu de base parent, à l'aide d'une clé CNG préinstallée identifiée par `publisherkeyname`. S'applique uniquement à XVC et MSIXVC. |
| `/publisherkeyprovider <publisherkeyprovider>` | Spécifie le fournisseur de stockage de clés CNG qui contient la clé d'éditeur nommée par `/usepublisherkey`. S'il n'est pas spécifié, le Microsoft Software Key Storage Provider est utilisé. S'applique uniquement à XVC et MSIXVC. |
| `/usepublishercert <thumbprint\|certificate.cer>` | Spécifie l'empreinte numérique ou le chemin du fichier .cer du certificat utilisé pour signer un package Publisher Content MSIXVC2 ou pour l'autoriser à partir d'un package parent. Un fichier .cer est associé à sa clé privée dans le magasin de certificats. Requiert `/msixvc2`. |
| `/publishercertstore <store>` | Spécifie le magasin de certificats qui contient le certificat d'éditeur nommé par `/usepublishercert`. S'il n'est pas spécifié, le magasin personnel CurrentUser est utilisé. Requiert `/msixvc2`. |
| `/symbolpaths <symbolpaths>` | Spécifie des chemins supplémentaires pour la résolution des symboles pendant le regroupement des symboles. Séparez les chemins par des points-virgules. |
| `/skipsymbolbundling` | Ignore le regroupement des symboles. |
| `/skipvalidation` | Ignore Submission Validator. N'utilisez pas cette option pour les builds susceptibles d'être soumises à la certification. |
| `/validationcritical` | Traite les échecs de Submission Validator comme des échecs critiques pour le processus `makepkg`. |
| `/openvalidationlog` | Ouvre le fichier journal de Submission Validator dans l'application XML par défaut après la validation. |
| `/validationlanguage <lang>` | Spécifie une langue supplémentaire pour le fichier journal de Submission Validator. |
| `/validationpath <path>` | Spécifie le répertoire à partir duquel charger SubmissionValidator.dll. |
| `/updatesubval` | Télécharge la plus récente version de SubmissionValidator.dll avant la validation, sauf si la version installée est à jour. Utilisez `/validationpath` pour sélectionner un autre emplacement. Si la mise à jour échoue, la création du package ou la validation se poursuit avec la DLL installée. Pour effectuer la mise à jour sans autre opération, utilisez [updatesubval](#updatesubval). |

### Remarques

Par défaut, `makepkg pack` chiffre les packages XVC ou MSIXVC à l'aide d'une clé de chiffrement connue, reconnue par toutes les trousses de développement à des fins de test. Ces packages ne sont pas protégés par chiffrement.

Pour une protection supplémentaire lors du téléversement, les packages XVC et MSIXVC peuvent utiliser `/l` ou `/lk`. Les packages qui utilisent `/l` ne peuvent pas être installés sur une trousse de développement ou un PC avant le téléversement. Les packages qui utilisent `/lk` peuvent être installés sur une trousse de développement avant le téléversement. Quel que soit le mode de chiffrement du téléversement, le service XBOX chiffre le package pour la distribution avec des clés de chiffrement gérées par Microsoft.

Les packages MSIXVC2 n'utilisent pas de chiffrement de téléversement côté client. Le service XBOX gère le chiffrement pour la distribution.

Pour plus d'informations sur le schéma du fichier de mappage, consultez [Schéma de package de déploiement](/fr-CA/build/core-features/common/packaging/deployment/atoc-deployment-schema).

## upload

Téléverse un package vers Partner Center. Pour MSIXVC2 uniquement, la commande `upload` peut également empaqueter des fichiers libres et les téléverser en une seule opération lorsque `/d` est spécifié. Le téléversement de fichiers libres requiert l'option `/msixvc2`.

Si aucune branche ni aucune version d'évaluation (flight) n'est spécifiée, le package est téléversé dans la branche `main`.

Le fichier EKB et le fichier journal de Submission Validator doivent se trouver dans le même répertoire que le package; ils sont téléversés automatiquement. Un ensemble de symboles est également téléversé s'il est présent. L'ID Store est extrait du package, mais il peut être fourni lorsque le package a été généré sans ID Store.

```text theme={null}
makepkg upload [options]
```

**Exemple d'utilisation (téléverser un package prégénéré) :**

```text theme={null}
makepkg upload /pd <package_directory> /branch <branch> /auth CacheableBrowser
```

**Exemple d'utilisation (empaqueter et téléverser des fichiers libres) :**

```text theme={null}
makepkg upload /d <sourcedir> /msixvc2 /pc /branch <branch>
```

### Options de source du package

| Option | Description |
| - | - |
| `/pd <package_directory>` | Spécifie le fichier de package ou son répertoire. Si le répertoire contient plusieurs packages, spécifiez le nom complet du fichier de package. |
| `/d <sourcedir>` | Spécifie le répertoire source à empaqueter et à téléverser en une seule opération. |
| `/f <mapfile>` | Spécifie le fichier de mappage à utiliser avec `/d`. |
| `/msixvc2` | Génère un package MSIXVC2 lorsqu'utilisé avec `/d`. |
| `/compress <method>` | Compresse la sortie. Les méthodes disponibles sont `Automatic` (par défaut) et `None`. |
| `/pc` | Génère un package PC lorsqu'utilisé avec `/d`. |
| `/productid <productid>` | Spécifie l'ID de produit auquel appartient ce package. |

### Options de destination

| Option | Description |
| - | - |
| `/storeid <storeId>` | Spécifie l'ID Store. S'il est omis, l'ID Store est extrait du package. |
| `/branch <branch>` | Spécifie la branche de destination du téléversement. La valeur par défaut est `main` si ni branche ni version d'évaluation n'est spécifiée. |
| `/flight <flight>` | Spécifie la version d'évaluation (flight) de destination du téléversement. Cette option ne peut pas être utilisée avec `/branch`. |
| `/market <market>` | Spécifie le marché de destination du téléversement. La valeur par défaut est `default`. |
| `/disclayout <path>` | Spécifie un fichier de disposition de disque pour un package distribué sur plusieurs disques. |

### Options d'authentification

| Option | Description |
| - | - |
| `/auth <method>` | Spécifie la méthode d'authentification. La valeur par défaut est `CacheableBrowser`. Plusieurs méthodes sont disponibles uniquement pour les téléversements MSIXVC2. Les téléversements XVC et MSIXVC peuvent uniquement utiliser `CacheableBrowser`. Pour une authentification avancée avec ces formats, utilisez [Package Uploader](/fr-CA/build/core-features/common/packaging/package-uploader). |
| `/tenantid <tenantId>` | Spécifie le locataire de destination du téléversement. S'il est omis, le locataire par défaut de l'utilisateur est utilisé. |
| `/clientid <clientId>` | Spécifie l'ID client. Obligatoire pour `ManagedIdentity`, `ClientCertificate` et `ClientSecret`. |
| `/clientsecret <secret>` | Spécifie la clé secrète client. Requiert `/auth ClientSecret`. |
| `/certthumbprint <thumbprint>` | Spécifie l'empreinte numérique du certificat pour `ClientCertificate`. |
| `/certstore <store>` | Spécifie le nom du magasin de certificats. La valeur par défaut est `My`. |
| `/certlocation <location>` | Spécifie l'emplacement du certificat, comme `CurrentUser` ou `LocalMachine`. La valeur par défaut est `CurrentUser`. |
| `/certpassword <password>` | Spécifie le mot de passe d'un fichier de certificat protégé par mot de passe. |
| `/resourceid <resourceId>` | Spécifie l'ID de ressource Azure pour `ManagedIdentityFederated`. |

### Options de validation et de symboles

| Option | Description |
| - | - |
| `/skipvalidation` | Ignore Submission Validator. |
| `/validationcritical` | Traite les échecs de Submission Validator comme des échecs critiques. |
| `/validationlanguage <lang>` | Spécifie une langue supplémentaire pour le fichier journal de Submission Validator. |
| `/validationpath <path>` | Spécifie le répertoire à partir duquel charger SubmissionValidator.dll. |
| `/updatesubval` | Télécharge la plus récente version de SubmissionValidator.dll avant la validation. Consultez [pack](#pack) pour le comportement en cas d'échec. |
| `/symbolpaths <symbolpaths>` | Spécifie des chemins supplémentaires de résolution des symboles, séparés par des points-virgules. |
| `/skipsymbolbundling` | Ignore le regroupement des symboles. |

### Méthodes d'authentification

| Méthode | Description |
| - | - |
| `CacheableBrowser` | Ouvre un navigateur pour une connexion interactive et met en cache les informations d'identification. Il s'agit de la méthode par défaut. |
| `Browser` | Ouvre un navigateur pour une connexion interactive sans mettre en cache les informations d'identification. |
| `AzureCli` | Utilise les informations d'identification d'Azure CLI. |
| `AzurePipelines` | Utilise la connexion de service Azure Pipelines. |
| `ManagedIdentity` | Utilise une identité managée Azure. Requiert `/clientid`. |
| `ManagedIdentityFederated` | Utilise une identité managée fédérée. Requiert `/clientid` et `/resourceid`. |
| `ClientSecret` | Utilise un ID client et une clé secrète. Requiert `/clientid` et `/clientsecret`. |
| `ClientCertificate` | Utilise un certificat client. Requiert `/clientid` et `/certthumbprint`. |
| `Environment` | Utilise les informations d'identification provenant des variables d'environnement. |
| `Default` | Essaie plusieurs méthodes d'authentification successivement. |

## genkey

Génère un objet blob de clé local entiercé (LEKB) à utiliser avec `pack /lk`.

```text theme={null}
makepkg genkey [options]
```

| Option | Description |
| - | - |
| `/ekb <ekbfile>` | Spécifie le chemin du fichier LEKB généré. Utilisez l'extension `.lekb` pour le distinguer du fichier `.ekb` généré par `makepkg pack`. |

Fournissez le fichier LEKB à `makepkg pack /lk` pour utiliser une clé de chiffrement stable lors de la création du package. Cette clé :

1. Permet à `packageutil compare` de générer des estimations précises de la taille des mises à jour.
2. Permet des téléversements différentiels sécurisés vers Partner Center à l'aide du même algorithme que celui utilisé par les consoles et les PC pour télécharger les mises à jour de contenu.
3. Produit des packages qui peuvent être installés sur des trousses de développement.
4. Utilise des éléments de clé de chiffrement sécurisés qui ne peuvent être déchiffrés que dans des environnements précis.

Le fichier LEKB contient des éléments de clé de chiffrement légèrement obscurcis. Toute personne qui possède à la fois le fichier LEKB et le package peut déchiffrer le package; sécurisez donc l'accès au fichier.

## genid

Effectue la conversion entre un GUID d'ID de produit et un ID Store.

```text theme={null}
makepkg genid [options]
```

| Option | Description |
| - | - |
| `/storeid <storeId>` | Spécifie l'ID Store à convertir. |
| `/productid <productId>` | Spécifie le GUID d'ID de produit à convertir. |

## genmap

Génère un fichier XML de mappage en fonction du contenu sur le disque. Le fichier généré contient un seul segment et peut être modifié pour répartir le contenu en plusieurs segments ou pour ajouter des balises Intelligent Delivery.

```text theme={null}
makepkg genmap /f <mapfile> /d <contentdirectory>
```

| Option | Description |
| - | - |
| `/f <mapfile>` | Spécifie le chemin du fichier de mappage généré. |
| `/d <contentdirectory>` | Spécifie le répertoire dont le contenu est ajouté au fichier de mappage. |

## validate

Exécute la validation du package sans créer de package. Utilisez cette commande pour vérifier le contenu et la configuration avant une opération pack complète.

```text theme={null}
makepkg validate [options]
```

La commande `validate` accepte les mêmes options que [pack](#pack).

## updatesubval

Télécharge, vérifie et installe la plus récente version de SubmissionValidator.dll sans créer, valider ni téléverser de package.

```text theme={null}
makepkg updatesubval [/validationpath <path>]
```

### Options

| Option | Description |
| - | - |
| `/validationpath <path>` | Spécifie le répertoire qui contient SubmissionValidator.dll ou qui doit le recevoir. S'il est omis, la commande vérifie le répertoire de l'outil `makepkg`, puis le répertoire `%GameDK%\bin`. |

### Remarques

Si SubmissionValidator.dll est déjà à la version la plus récente, la commande indique qu'il est à jour et se termine avec succès sans le télécharger. Si le fichier est manquant, la commande l'installe. En cas de réussite, la commande affiche la version de SubmissionValidator.dll présente sur le disque.

Contrairement à l'option `/updatesubval` utilisée pendant la création de packages ou la validation, la commande autonome `updatesubval` retourne un code de sortie différent de zéro si la mise à jour échoue. Lorsqu'elle est utilisée comme option, un échec de mise à jour n'est pas fatal et l'opération de création de package ou de validation se poursuit avec la version installée de SubmissionValidator.dll.

## localize

Génère un fichier Resources.pri en fonction du contenu sur le disque.

```text theme={null}
makepkg localize /d <sourcedir> [options]
```

| Option | Description |
| - | - |
| `/d <sourcedir>` | **(Obligatoire)** Spécifie le répertoire source qui contient le contenu à localiser. |
| `/resw <reswdir>` | Spécifie un répertoire, relatif au répertoire racine, qui contient les fichiers RESW. |
| `/pd <outputdir>` | Spécifie le répertoire de sortie de Resources.pri. S'il est omis, le fichier est placé dans le répertoire de contenu. |
| `/t <tempdir>` | Spécifie un répertoire temporaire pour la conversion de Resources.pri en XML. |
| `/gc <gameconfigpath>` | Spécifie le chemin de MicrosoftGame.config lorsque le fichier ne se trouve pas à la racine du répertoire de contenu ou qu'il porte un autre nom. |

Pour plus d'informations, consultez [Localisation de MicrosoftGame.config](/fr-CA/build/core-features/common/game-config/MicrosoftGameConfig-Localization).

## Rubriques connexes

[Vue d'ensemble de la création de packages MSIXVC2](/fr-CA/build/core-features/common/packaging/overviews/packaging-msixvc2-overview)

[Prise en main de MSIXVC2 pour PC](/fr-CA/build/core-features/common/packaging/overviews/packaging-getting-started-for-PC-msixvc2)

[Schéma de package de déploiement](/fr-CA/build/core-features/common/packaging/deployment/atoc-deployment-schema)

[XBOX Game Package Manager](/fr-CA/build/core-features/common/packaging/xgpm)

[Automatisation du téléversement de packages](/fr-CA/build/core-features/common/packaging/package-uploader)


## Related topics

- [Make package (makepkg.exe)](/es/build/core-features/common/packaging/deployment/makepkg.md)
- [Compiler et exécuter votre premier titre console GDKX](/fr/home/build-first-title/first-console-title-walkthrough.md)
- [패키지 만들기(makepkg.exe)](/ko/build/core-features/common/packaging/deployment/makepkg.md)
- [Split package (splitpkg.exe)](/build/core-features/common/packaging/deployment/splitpkg.md)
- [packageutil.exe](/build/core-features/common/packaging/deployment/packageutil.md)
