Référence supplémentaire de MicrosoftGame.config
Résumé
Cet article décrit des détails et documents de référence supplémentaires pour le fichier MicrosoftGame.config. Il comprend les sections suivantes.| Section | Description |
|---|---|
| Détails des éléments | Fournit une liste des noms d’éléments de MicrosoftGame.config, de leur objectif et de remarques. |
| Exemple de fichier MicrosoftGame.config | Fournit un exemple de MicrosoftGame.config pour XBOX et PC. |
| Schéma XSD pour MicrosoftGame.config | Fournit des détails sur le schéma XSD utilisé pour valider le fichier MicrosoftGame.config. |
| Référence des éléments précédents | Fournit une liste des éléments notables qui ont changé, y compris des références aux modifications par rapport à ERA. |
| MicrosoftGame.config et création de DLC | Fournit plus d’informations sur la création d’un fichier MicrosoftGame.config pour un produit DLC. |
| Voir aussi | Fournit des liens vers de la documentation supplémentaire relative à MicrosoftGame.config. |
Détails de configVersion de Game
Depuis la version de mars 2022 du Microsoft Game Development Kit (GDK), la valeur configVersion de Game est passée de 0 à 1 pour les nouveaux fichiers MicrosoftGame.config générés à l’aide des outils du Microsoft Game Development Kit (GDK). Depuis le GDK d’octobre 2023, tous les titres doivent utiliser configVersion=“1”. Submission Validator signalera un ÉCHEC (FAILURE) pour tout titre soumis avec le GDK d’octobre 2023 utilisant configVersion=“0”. Les modifications entre les valeurs configVersion 0 et 1 de Game sont les suivantes.- Les éléments MSAAppId et TitleId sont obligatoires si l’un d’eux est spécifié dans le fichier MicrosoftGame.config (c’est-à-dire que si TitleId est spécifié, MSAAppId doit également l’être).
- Les éléments MSAAppId et TitleId sont obligatoires si l’élément NoCodePCRoot est spécifié ou si l’élément AdvancedUserModel est défini sur la valeur false.
- Les éléments ModFolder, EnableWritesToPackageRoot, DisableFilesystemWriteVirtualization et DisableRegistryWriteVirtualization sont désormais dépréciés avec configVersion 1.
<Game configVersion="1">
Détails des éléments
Cette section détaille le nom de l’élément, s’il est obligatoire, son objectif, son nœud parent et des remarques supplémentaires pour les éléments définissables dans le fichier MicrosoftGame.config.| Nom du nœud | Obligatoire | Objectif | Parent | Remarques |
|---|---|---|---|---|
| Game | Obligatoire | Nœud parent unique qui contient tout le reste du contenu | ||
| Identity | Obligatoire | Définit le nom (Name), l’éditeur (Publisher) et la version (Version) du titre | Game | Les informations du titre se trouvent dans Partner Center sous Gestion des produits -> Identité du produit ; consultez Configuration d’un jeu dans Partner Center, pour les partenaires gérés. Utilisé lors de l’inscription pour identifier le titre de manière unique. Name et Publisher sont des champs obligatoires. Version prend par défaut la valeur 1.0.0.0 si elle n’est pas spécifiée. Les packages supplémentaires pour les générations de consoles ultérieures doivent incrémenter la version majeure du package au-delà des versions de package existantes. |
| ShellVisuals | Obligatoire pour une build empaquetée | Définit la présence du titre dans le Shell. Par exemple, les images et les noms. | Game | Utilisé lors de l’inscription pour afficher le titre dans le Shell. |
| Resources | Facultatif | Liste de paires langue/paramètres régionaux utilisées pour localiser les éléments visuels du Shell. | Game | Peut être copié et collé à partir d’un AppxManifest existant, car le format est conservé. Pour plus d’informations, consultez Empaquetage. |
| Resource | Facultatif | Entrée individuelle d’une langue/paramètres régionaux dans la liste Resources. | Resources | |
| ExecutableList | Obligatoire | Liste des exécutables du titre. | Game | Au moins une entrée est requise pour inscrire ou empaqueter correctement le titre. L’attribut “IsDevOnly” vous permet de garantir que cette entrée ne sera pas incluse dans un package signé pour la soumission. Les remplacements du nom d’affichage et du logo permettent d’utiliser des valeurs uniques pour cet exe dans le Shell (les ressources spécifiées ci-dessus dans le nœud “ShellVisuals” seront utilisées par défaut pour chaque exe, sauf si elles sont remplacées ici). |
| Executable | Obligatoire | Spécifie les détails d’un exécutable spécifique. | ExecutableList | Les attributs de cette section incluent le nom de l’exécutable (Name), l’appareil pour lequel il est généré (TargetDeviceFamily), son ID d’application (Id), s’il s’agit d’un exécutable réservé au développement (IsDevOnly), si le nom d’affichage du nœud ShellVisuals doit être remplacé (OverrideDisplayName), si le logo du nœud ShellVisuals doit être remplacé (OverrideLogo), si le Square480x480Logo du nœud ShellVisuals doit être remplacé (OverrideSquare480x480Logo), si le Square44x44Logo du nœud ShellVisuals doit être remplacé (OverrideSquare44x44Logo), si le SplashScreenImage du nœud ShellVisuals doit être remplacé (OverrideSplashScreenImage), et si l’exécutable possède un alias (Alias (actuellement Desktop uniquement). |
| AdvancedUserModel | Facultatif | Spécifie si le modèle utilisateur avancé doit être utilisé pour votre titre. | Game | Cela signifie que votre titre prend en charge le changement d’utilisateur actif sans nécessiter de redémarrage. S’il est désactivé, le modèle utilisateur simple est utilisé, ce qui garantit que votre titre conservera toujours l’utilisateur actif avec lequel il a été lancé. Pour plus d’informations, consultez Modèles utilisateur du GDK (article sous NDA). |
| Protocol | Facultatif | Protocole personnalisé pouvant être utilisé pour lancer le jeu ou le mettre au premier plan s’il est déjà en cours d’exécution. | ProtocolList | Spécifie à la fois le nom du protocole personnalisé et, éventuellement, le chemin d’accès à l’exécutable. Pour plus d’informations, consultez Activation par protocole. |
| ProtocolList | Facultatif | Spécifie une collection de protocoles personnalisés pouvant être utilisés pour lancer le jeu ou le mettre au premier plan s’il est déjà en cours d’exécution. | Game | Doit fournir au moins un Protocol. Pour plus d’informations, consultez Activation par protocole. |
| GameOsVersion | Facultatif (console uniquement) | Spécifie la version du Game OS du Microsoft Game Development Kit (GDK) requise par ce titre pour s’exécuter. | Game | Le Game OS en cours d’exécution ou par défaut sera utilisé s’il n’est pas spécifié. |
| WindowsOsVersion | Facultatif (PC uniquement) | Spécifie les versions minimales et suggérées de Windows requises par ce titre pour s’exécuter. | DesktopRegistration | Les valeurs autorisées sont un numéro de version en quatre parties (par exemple 10.0.19045.3570) et les options sont RequiredMinimum=”#.#.#.#”, SuggestedMinimum=”#.#.#.#” Recommended=”#.#.#.#” La valeur minimale suggérée de cet élément sera par défaut 10.0.19045.3570 |
| MediaCapture | Facultatif (console uniquement) | Spécifie le comportement souhaité pour les applications système de capture multimédia pendant l’exécution de ce titre. | Game | La capture multimédia nécessite que l’identité du titre soit configurée pour fonctionner correctement. |
| GameDVRSystemComponent | Facultatif (console uniquement) | Spécifie si le composant système Game DVR est activé ou non. | MediaCapture | |
| BlockBroadcast | Facultatif (console uniquement) | Spécifie si la diffusion du titre doit être bloquée ou autorisée. | MediaCapture | |
| BlockGameDVR | Facultatif (console uniquement) | Spécifie si les enregistrements Game DVR du titre doivent être bloqués ou autorisés. | MediaCapture | |
| StoreId | Facultatif | Spécifie l’identité Store de ce titre. | Game | Spécifié dans Partner Center sous Gestion des produits -> Identité du produit. |
| AllowedProducts | Facultatif | Spécifie le StoreId du ou des titres associés auxquels appartient ce titre de package de contenu téléchargeable (DLC). | Game | Pour plus d’informations, consultez Packages de contenu téléchargeable (DLC). |
| AllowedProduct | Facultatif | Spécifie le StoreId du titre associé auquel appartient ce titre de package de contenu téléchargeable (DLC). | AllowedProducts | |
| RelatedProducts | Facultatif | Spécifie le StoreId des produits auxquels ce titre DLC est lié. | Game | Pour plus d’informations, consultez Packages de contenu téléchargeable (DLC). |
| RelatedProduct | Facultatif | Entrée spécifique d’un StoreId de produit auquel ce titre DLC est lié. | RelatedProducts | |
| TargetDeviceFamilyForDLC | Facultatif (DLC uniquement) | Spécifie la plateforme cible pour laquelle le package DLC est généré. Les valeurs autorisées sont XboxOne, Scarlett et PC | Game | |
| PublisherContent | Facultatif | Déclare que ce jeu de base prend en charge un package de contenu hébergé par l’éditeur. | Game | Pour plus d’informations, consultez Packages de contenu de l’éditeur. |
| ManifestUrl | Facultatif | URL du manifeste JSON qui identifie le package de contenu hébergé par l’éditeur actuel. | PublisherContent | |
| PublisherContentBaseProduct | Facultatif (contenu de l’éditeur uniquement) | Spécifie le StoreId du jeu de base auquel appartient ce package de contenu hébergé par l’éditeur. | Game | Marque le package comme package de contenu de l’éditeur (Publisher Content). |
| PersistentLocalStorage | Facultatif (console uniquement) | Spécifie la taille souhaitée du stockage local persistant du titre. | Game | Le stockage local persistant nécessite que l’identité du titre soit configurée pour fonctionner correctement. |
| SizeMB | Facultatif (console uniquement) | Spécifie la taille minimale en Mo du stockage local persistant. | PersistentLocalStorage | Le stockage local persistant nécessite que l’identité du titre soit configurée pour fonctionner correctement. |
| GrowableToMB | Facultatif (console uniquement) | Spécifie la taille maximale en Mo que le stockage local persistant peut atteindre au fil du temps. | PersistentLocalStorage | Le stockage local persistant nécessite que l’identité du titre soit configurée pour fonctionner correctement. |
| VirtualMachine | Facultatif (console uniquement) | Spécifie l’allocation de mémoire du titre sur un matériel XBOX One spécifique. | Game | |
| XboxOneXTitleMemory | Facultatif (console uniquement) | Spécifie le paramètre de mémoire du titre pour les consoles XBOX One X. | Virtual Machine | Valeurs autorisées : “Standard” ou “Advanced”. |
| XboxLockhartTitleMemory | Facultatif (console uniquement) | Spécifie le paramètre de mémoire du titre pour les consoles XBOX Series S. | Virtual Machine | Valeurs autorisées : “Standard” ou “Advanced”. |
| XboxAnacondaTitleMemory | Facultatif (console uniquement) | Spécifie le paramètre de mémoire du titre pour les consoles XBOX Series X. | Virtual Machine | Valeurs autorisées : “Standard” ou “Advanced”. |
| SMTEnabled | Facultatif (console uniquement) | Spécifie si SMT est activé ou non. | Virtual Machine | |
| RequiresEraShim | Facultatif (console uniquement) | Spécifie si le shim ERA XBOX One est requis ou non. | Virtual Machine | |
| XboxCompatibility | Facultatif (console uniquement) | Spécifie la génération de console maximale avec laquelle le jeu est compatible. | Virtual Machine | Les développeurs l’utilisent avec un titre XBOX One exécuté en rétrocompatibilité sur XBOX Series X|S. Son utilisation principale est d’accéder à des fonctionnalités améliorées telles que de la mémoire supplémentaire. Les valeurs autorisées sont “XboxOne”, qui se comporte comme un titre rétrocompatible normal, et “Scarlett”, qui permet au titre rétrocompatible d’accéder aux fonctionnalités améliorées. |
| DlcCompatibility | Facultatif (console uniquement) | Spécifie la génération de console minimale des DLC avec lesquels le jeu est compatible. | Virtual Machine | Les développeurs l’utilisent avec un titre XBOX One exécuté sur une console XBOX Series X|S qui souhaite charger des packages DLC générés pour XBOX One. Cela permet aux DLC de résider sur n’importe quel stockage, et pas seulement sur un stockage rapide. |
| MSAFullTrust | Facultatif (PC Desktop uniquement) | Spécifie si le titre est déclaré comme “MSA Full Trust”. | Game | Ne doit pas être utilisé, sauf indication contraire de votre gestionnaire de compte. |
| MSAAppId | Obligatoire | Spécifie l’ID d’application MSA du titre, utilisé avec l’ID de titre XBOX Live (ci-dessous) pour l’identité auprès des services XBOX Live. | Game | Depuis le Microsoft Game Development Kit (GDK) de mars 2022, l’élément MSAAppId doit être présent si l’élément TitleId est spécifié. |
| TitleId | Facultatif | Spécifie l’ID de titre XBOX Live du titre, utilisé pour l’identité auprès des services XBOX Live. | Game | Depuis le Microsoft Game Development Kit (GDK) de mars 2022, l’élément TitleId doit être présent si l’élément MSAAppId est spécifié. |
| RequiresXboxLive | Facultatif | Spécifie si le titre nécessite une connectivité XBOX Live pour s’exécuter. | Game | |
| ExtendedAttributeList | Facultatif | Solution de repli pour des attributs supplémentaires en dehors des éléments existants. | Game | Ne doit pas être utilisé, sauf indication contraire de votre gestionnaire de compte. |
| ExtendedAttribute | Facultatif | Désignation de repli spécifique dans la liste des attributs étendus. | Game | Ne doit pas être utilisé, sauf indication contraire de votre gestionnaire de compte. |
| DesktopRegistration | Facultatif (PC Desktop uniquement) | Spécifie les attributs à utiliser lors de l’inscription du titre sur la plateforme PC Desktop. | Game | |
| ProcessorArchitecture | Facultatif (PC Desktop uniquement) | Spécifie l’architecture de processeur correspondant aux exécutables de votre jeu. | DesktopRegistration | Exemples d’attributs pour cet élément : x64 et x86. |
| MainPackageDependency | Facultatif (DLC PC Desktop uniquement) | Spécifie l’identité du package de base auquel appartient votre DLC. | DesktopRegistration | |
| DependencyList | Facultatif (PC Desktop uniquement) | Détermine les packages de framework qui doivent être installés avant l’installation du package du titre. | DesktopRegistration | Pour plus d’informations sur l’utilisation des éléments enfants, cliquez ici. |
| KnownDependency | Facultatif (PC Desktop uniquement) | Raccourci permettant de spécifier l’un des packages de framework couramment utilisés. | DependencyList | La spécification de l’attribut name est obligatoire et MinVersion est défini automatiquement. Reportez-vous à la section ST_KnownDependency du schéma suivant pour obtenir la liste des raccourcis possibles. |
| Dependency | Facultatif (PC Desktop uniquement) | Package de framework et version spécifiques qui doivent être installés avant le titre. | DependencyList | Les attributs name et MinVersion doivent être définis. |
| CustomInstallActions | Facultatif (PC Desktop uniquement) | Spécifie une action d’installation personnalisée avec des privilèges d’administration lors de la première exécution de votre jeu. | DesktopRegistration | Tout exécutable que vous spécifiez doit se trouver dans le dossier “Installers” du dossier de base de votre jeu. N’incluez aucun autre fichier dans le dossier Installers. |
| Folder | Facultatif (PC Desktop uniquement) | Spécifie l’emplacement du dossier des programmes d’installation. | CustomInstallActions | |
| InstallActionList | Facultatif (PC Desktop uniquement) | Spécifie une liste d’actions d’installation, y compris le fichier exécutable, le nom et les arguments. | CustomInstallActions | |
| InstallAction | Facultatif (PC Desktop uniquement) | Spécifie une action d’installation dans la liste des actions d’installation. | InstallActionList | 100 entrées maximum. |
| RepairActionList | Facultatif (PC Desktop uniquement) | Spécifie une liste d’actions de réparation. | CustomInstallActions | |
| RepairAction | Facultatif (PC Desktop uniquement) | Spécifie une action de réparation dans la liste des actions de réparation. | RepairActionList | 100 entrées maximum. |
| UninstallActionList | Facultatif (PC Desktop uniquement) | Spécifie une liste d’actions de désinstallation. | CustomInstallActions | |
| UninstallAction | Facultatif (PC Desktop uniquement) | Spécifie une action de désinstallation dans la liste des actions de désinstallation. | UninstallActionList | 100 entrées maximum. |
| ModFolder | Facultatif (PC Desktop uniquement) | Définit l’emplacement des mods des utilisateurs finaux pour les fichiers de votre jeu. | DesktopRegistration | Cet élément est désormais déprécié depuis le Microsoft Game Development Kit (GDK) de mars 2022. |
| DisableRegistryWriteVirtualization | Facultatif (PC Desktop uniquement) | Définissez sur true si votre jeu doit effectuer des écritures dans le Registre à l’échelle du système d’exploitation. | DesktopRegistration | Cet élément est désormais déprécié depuis le Microsoft Game Development Kit (GDK) de mars 2022. |
| DisableFilesystemWriteVirtualization | Facultatif (PC Desktop uniquement) | Définissez sur true si votre jeu doit effectuer des écritures de fichiers à l’échelle du système d’exploitation. | DesktopRegistration | Cet élément est désormais déprécié depuis le Microsoft Game Development Kit (GDK) de mars 2022. |
| EnableWritesToPackageRoot | Facultatif (PC Desktop uniquement) | Définissez sur true si votre jeu doit écrire dans l’emplacement d’installation du package. | DesktopRegistration | Cet élément est désormais déprécié depuis le Microsoft Game Development Kit (GDK) de mars 2022. |
| MultiplayerProtocol | Facultatif (PC Desktop uniquement) | Permet l’activation par protocole dans le titre via le protocole “ms-xbl-multiplayer”. | DesktopRegistration | Principalement utilisé pour permettre à la XBOX Game Bar de lancer des jeux et des invitations à des parties multijoueurs. |
| FileTypeAssociation | Facultatif (PC Desktop uniquement) | Permet d’associer un type de fichier à un exécutable de votre package. | DesktopRegistration | Par exemple, une extension spécifique pour l’éditeur de cartes d’un titre. Pour plus d’informations, consultez Activation par type de fichier. |
| DisplayName | Facultatif (PC Desktop uniquement) | Spécifie un nom d’affichage pour l’association de type de fichier. | FileTypeAssociation | |
| Logo | Facultatif (PC Desktop uniquement) | Spécifie un logo pour l’association de type de fichier. | FileTypeAssociation | |
| InfoTip | Facultatif (PC Desktop uniquement) | Spécifie une info-bulle pour l’association de type de fichier. | FileTypeAssociation | |
| EditFlags | Facultatif (PC Desktop uniquement) | Spécifie les indicateurs de modification pour l’association de type de fichier. | FileTypeAssociation | |
| SupportedFileTypes | Facultatif (PC Desktop uniquement) | Spécifie les types de fichiers pris en charge pour l’association de type de fichier. | FileTypeAssociation | Pour plus d’informations, consultez Activation par type de fichier. |
| FileType | Facultatif (PC Desktop uniquement) | Spécifie une extension de type de fichier à utiliser dans l’élément SupportedFileTypes. | SupportedFileTypes | Pour plus d’informations, consultez Activation par type de fichier. |
| NoCodePCRoot | Facultatif (PC Desktop uniquement) | Spécifie le dossier local où les sauvegardes de jeu sont stockées lorsque les sauvegardes cloud sans code sont activées pour le package. | SaveGameStorage | |
| DevelopmentOnly | Facultatif (console uniquement) | Liste de propriétés réservées au développement. | Game | |
| ContentIdOverride | Facultatif (console uniquement) | Remplacement, pour le développement uniquement, du ContentID d’un jeu. | DevelopmentOnly | Utilisez la commande xbapp list /d /nosystem, avec un package installé, pour obtenir le ContentID de votre titre. |
| EKBIDOverride | Facultatif (console uniquement) | Remplacement, pour le développement uniquement, de l’EKBID (ID de version d’évaluation) d’un jeu. | DevelopmentOnly | Utilisez la commande xbapp list /d, avec un package installé, pour obtenir l’EKBID de votre titre. |
| DebugNetworkPortList | Facultatif (console uniquement) | Liste de ports supplémentaires à ouvrir pour le développement sur un kit de développement. | DevelopmentOnly | |
| DebugNetworkPort | Facultatif (console uniquement) | Port supplémentaire à ouvrir pour le développement sur un kit de développement. | DebugNetworkPortList |
Codes d’erreur
Les codes d’erreur suivants peuvent être rencontrés lors de l’utilisation de fichiers MicrosoftGame.config. Pour obtenir la liste complète, consultez Codes d’erreur.| Code | Valeur | Description |
|---|---|---|
| E_GAME_MISSING_GAME_CONFIG | 0x87e5001F | Il manque à cette application un fichier MicrosoftGame.Config requis. |
| E_GAMERUNTIME_OPTIONS_NOT_SUPPORTED | 0x8924010A | Les options transmises ne sont pas compatibles avec le package du jeu. Les informations de configuration du jeu doivent correspondre au package. |
| E_GAMERUNTIME_GAMECONFIG_BAD_FORMAT | 0x8924010B | La configuration du jeu transmise à Initialize ne peut pas être analysée. |
| E_GAMEUSER_NO_TITLE_ID | 0x89245108 | Un TitleId XBOX Live doit être configuré. |
| E_GAMEUSER_UNKNOWN_GAME_IDENTITY | 0x89245109 | L’identité du jeu n’est pas reconnue. Les valeurs MSAAppId et TitleId ne correspondent pas à celles associées au jeu. |
| E_GAMEUSER_INVALID_APP_CONFIGURATION | 0x89245112 | Le MSAAppId de la configuration du jeu n’est pas valide ou n’est pas configuré pour la pile d’authentification. |
| E_GAMEUSER_MALFORMED_MSAAPPID | 0x89245113 | Le MSAAppId de la configuration du jeu ne correspond pas au format attendu (chaîne de 16 caractères ou GUID). |
| E_GAMEUSER_INCONSISTENT_MSAAPPID_AND_TITLEID | 0x89245114 | Les valeurs MSAAppId et TitleId de la configuration du jeu ne correspondent pas à celles associées au jeu. |
| E_GAMEPACKAGE_NO_STORE_ID | 0x89245202 | L’attribut StoreId doit être défini dans la configuration du jeu de l’application. |
| E_GAMEPACKAGE_DLC_NOT_SUPPORTED | 0x89245206 | Le jeu ne prend pas en charge le package DLC. Vérifiez que la compatibilité DLC est correcte dans la configuration du jeu. |
| E_GAMEPACKAGE_DUPLICATE_ID_VALUES | 0x89245207 | Le package contient plusieurs exécutables associés au même attribut ‘ID’. Recherchez les attributs ‘ID’ en double dans les éléments ‘Executable’. |
| E_GAMEPACKAGE_CONFIG_NO_ROOT_NODE | 0x89245209 | Impossible de trouver un nœud racine <Game> dans le fichier MicrosoftGame.config. Vérifiez que le fichier est correctement mis en forme. |
| E_GAMEPACKAGE_CONFIG_ZERO_VERSION | 0x8924520A | L’attribut ‘Version’ du nœud ‘Identity’ dans MicrosoftGame.config ne peut pas être 0.0.0.0. Incrémentez ou supprimez cet attribut. Si aucune version n’est spécifiée, la valeur par défaut est 1.0.0.0. |
| E_GAMEPACKAGE_CONFIG_NO_MSAAPPID_NOTITLEID | 0x8924520B | L’élément ‘MSAAppId’ ou ‘TitleId’ est manquant dans MicrosoftGame.config. Les deux doivent être spécifiés lors de l’utilisation de configVersion >= 1. |
| E_GAMEPACKAGE_CONFIG_DEPRECATED_PC_ENTRIES | 0x8924520C | Les entrées DesktopRegistration “modFolder”, “enableWritesToPackageRoot”, “disableRegistryWriteVirtualization” et “disableFilesystemWriteVirtualization” sont dépréciées avec configVersion >= 1. |
| E_GAMEPACKAGE_CONFIG_SUM_REQUIRES_MSAAPPID | 0x8924520D | Les éléments ‘MSAAppId’ et ‘TitleId’ sont obligatoires lors de l’utilisation du modèle utilisateur simplifié (élément AdvancedUserModel) et de configVersion >= 1. |
| E_GAMEPACKAGE_CONFIG_NO_CODE_CLOUD_SAVES_REQUIRES_MSAAPPID | 0x8924520E | Les éléments ‘MSAAppId’ et ‘TitleId’ sont obligatoires lors de l’utilisation des sauvegardes cloud sans code (élément NoCodePCRoot) et de configVersion >= 1. |
| E_GAMEPACKAGE_CONFIG_MSAAPPID_OR_TITLEID_IS_DEFAULT | 0x8924520F | L’élément ‘MSAAppId’ ou ‘TitleId’ a une valeur par défaut. Si NoCodePCRoot ou AdvancedUserModel est spécifié, TitleId et MSAAppId doivent tous deux être des ID valides provenant de Partner Center lors de l’utilisation de configVersion >= 1. |
Exemple de fichier MicrosoftGame.config
Le fichier MicrosoftGame.config suivant est un exemple de configuration montrant comment les éléments sont utilisés pour XBOX Series X|S (avec des commentaires sur les différences pour XBOX One). Pour un exemple de fichier MicrosoftGame.config pour PC, consultez Prise en main de l’empaquetage pour PC.<?xml version="1.0" encoding="utf-8"?>
<Game configVersion="1">
<Identity Name="41336PublisherName.ExampleGame" Publisher="CN=A4954634-DF4B-47C7-AB70-D3215D246AF1" Version="1.6.0.0"/>
<GameOsVersion>**REPLACE**</GameOsVersion>
<MediaCapture>
<GameDVRSystemComponent>true</GameDVRSystemComponent>
<BlockBroadcast>0</BlockBroadcast>
<BlockGameDVR>0</BlockGameDVR>
</MediaCapture>
<PersistentLocalStorage>
<SizeMB>322</SizeMB>
</PersistentLocalStorage>
<MSAAppId>0000000000000000</MSAAppId>
<TitleId>FFFFFFFF</TitleId>
<StoreId>9NZTKMP36L8J</StoreId>
<RelatedProducts>
<RelatedProduct>9NZTKMP36L8J</RelatedProduct>
<RelatedProduct>9NQJV5BMKR6C</RelatedProduct>
<RelatedProduct>9PNX38847DWW</RelatedProduct>
</RelatedProducts>
<VirtualMachine>
<XboxLockhartTitleMemory>Standard</XboxLockhartTitleMemory>
<XboxAnacondaTitleMemory>Standard</XboxAnacondaTitleMemory>
<!-- <XboxOneXTitleMemory>Standard</XboxOneXTitleMemory> if MicrosoftGame.config is for Xbox One instead of Xbox Series X|S. -->
</VirtualMachine>
<MSAFullTrust>false</MSAFullTrust>
<ExecutableList>
<!-- TargetDeviceFamily="XboxOne" if the MicrosoftGame.config is for Xbox One instead of Xbox Series X|S. -->
<Executable Name="ExampleGame.exe"
TargetDeviceFamily="Scarlett"
Id="Game"
IsDevOnly="false"
OverrideDisplayName="Example Game"
OverrideLogo="OverriddenLogo.png" />
<Executable Name="ExampleGame_Debug.exe"
IsDevOnly="true"/>
<Executable Name="ExampleGame_Profile.exe"
IsDevOnly="true" />
</ExecutableList>
<ShellVisuals DefaultDisplayName="Example Game"
PublisherDisplayName="Example Publisher"
StoreLogo="StoreLogoFile.png"
Square150x150Logo="LogoFile150x150.png"
Square44x44Logo="LogoFile44x44.png"
Square480x480Logo="LogoFile480x480.png"
Description="Example Game"
ForegroundText="light"
BackgroundColor="#ffffff"
SplashScreenImage="SplashScreen.png"/>
<Resources>
<Resource Language="en-us"/>
<Resource Language="de-de"/>
<Resource Language="es-mx"/>
</Resources>
<DevelopmentOnly>
<DebugNetworkPortList>
<DebugNetworkPort>4600</DebugNetworkPort>
</DebugNetworkPortList>
</DevelopmentOnly>
</Game>
Schéma XSD pour MicrosoftGame.config
Le schéma le plus récent du fichier MicrosoftGame.config se trouve dans le dossier <racine d’installation>/bin de l’installation du Microsoft Game Development Kit (GDK), sous le nom GameConfigSchema.xsd. Consultez l’exemple suivant de GameConfigSchema.xsd :<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<!-- Types -->
<xs:simpleType name="ST_NonEmptyString">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="32767"/>
<xs:pattern value="[^\s]|([^\s].*[^\s])"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_GUID">
<xs:restriction base="ST_NonEmptyString">
<xs:pattern value="[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_VersionQuad">
<xs:restriction base="ST_NonEmptyString">
<xs:pattern value="(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])(\.(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])){3}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_Hex8">
<xs:restriction base="ST_NonEmptyString">
<xs:pattern value="[0-9a-fA-F]{8}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_Hex16">
<xs:restriction base="ST_NonEmptyString">
<xs:pattern value="[0-9a-fA-F]{16}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_PLSSize">
<xs:restriction base="xs:integer">
<!-- The actual max is determined by policy -->
<xs:maxInclusive value="100000"/>
<xs:minInclusive value="10"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_GrowablePLSSize">
<xs:restriction base="xs:integer">
<xs:minInclusive value="10"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="CT_PersistentLocalStorage">
<xs:all>
<xs:element name="SizeMB" type="ST_PLSSize" minOccurs="0" maxOccurs="1"/>
<xs:element name="GrowableToMB" type="ST_GrowablePLSSize" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
<xs:simpleType name="ST_FileNameCharSet">
<xs:restriction base="ST_NonEmptyString">
<xs:pattern value="[^<>":%\|\?\*\x01-\x1f]+"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_FileName">
<xs:restriction base="ST_FileNameCharSet">
<xs:pattern value="([^/\\]*[^./\\]+)(\\[^/\\]*[^./\\]+)*"/>
<xs:pattern value="([^/\\]*[^./\\]+)(/[^/\\]*[^./\\]+)*"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_FileNameNoPath">
<xs:restriction base="ST_FileName">
<xs:pattern value="[^\\/]+"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_AsciiWindowsId">
<xs:restriction base="ST_NonEmptyString">
<xs:pattern value="([A-Za-z][A-Za-z0-9]*)(\.[A-Za-z][A-Za-z0-9]*)*"/>
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_DeviceFamily">
<xs:restriction base="xs:string">
<xs:enumeration value="XboxOne"/>
<xs:enumeration value="Scarlett"/>
<xs:enumeration value="PC"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_ApplicationId">
<xs:restriction base="ST_AsciiWindowsId">
<xs:maxLength value="64"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_StoreId">
<xs:restriction base="xs:string">
<xs:minLength value="12"/>
<xs:maxLength value="12"/>
<xs:pattern value="[0-9bcdfghjklmnpqrstvwxzBCDFGHJKLMNPQRSTVWXZ]{12}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_Executable">
<xs:restriction base="ST_FileName">
<xs:pattern value=".+\.([Ee][Xx][Ee])"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_ExecutableNoPath">
<xs:restriction base="ST_FileName">
<xs:pattern value="[^\\]+\.([Ee][Xx][Ee])"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_ImageFile">
<xs:restriction base="ST_FileName">
<xs:pattern value=".+\.(png)"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_ResourceReference">
<xs:restriction base="ST_NonEmptyString">
<xs:pattern value="\bms-resource:.{1,256}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_DisplayName">
<xs:union memberTypes="ST_ResourceReference">
<xs:simpleType>
<xs:restriction base="ST_NonEmptyString">
<xs:maxLength value="256"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
<xs:simpleType name="ST_Description">
<xs:restriction base="ST_NonEmptyString">
<xs:pattern value="[^\x01-\x1f]+"/>
<xs:maxLength value="2048"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_ForegroundText">
<xs:restriction base="xs:string">
<xs:enumeration value="light"/>
<xs:enumeration value="dark"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_Color">
<xs:restriction base="xs:string">
<xs:pattern value="#[\da-fA-F]{6}"/>
<xs:pattern value="aliceBlue|antiqueWhite|aqua|aquamarine|azure|beige|bisque|black|blanchedAlmond|blue|blueViolet|brown|burlyWood"/>
<xs:pattern value="cadetBlue|chartreuse|chocolate|coral|cornflowerBlue|cornsilk|crimson|cyan|darkBlue|darkCyan|darkGoldenrod|darkGray"/>
<xs:pattern value="darkGreen|darkKhaki|darkMagenta|darkOliveGreen|darkOrange|darkOrchid|darkRed|darkSalmon|darkSeaGreen|darkSlateBlue"/>
<xs:pattern value="darkSlateGray|darkTurquoise|darkViolet|deepPink|deepSkyBlue|dimGray|dodgerBlue|firebrick|floralWhite|forestGreen"/>
<xs:pattern value="fuchsia|gainsboro|ghostWhite|gold|goldenrod|gray|green|greenYellow|honeydew|hotPink|indianRed|indigo|ivory"/>
<xs:pattern value="khaki|lavender|lavenderBlush|lawnGreen|lemonChiffon|lightBlue|lightCoral|lightCyan|lightGoldenrodYellow|lightGreen"/>
<xs:pattern value="lightGray|lightPink|lightSalmon|lightSeaGreen|lightSkyBlue|lightSlateGray|lightSteelBlue|lightYellow|lime|limeGreen"/>
<xs:pattern value="linen|magenta|maroon|mediumAquamarine|mediumBlue|mediumOrchid|mediumPurple|mediumSeaGreen|mediumSlateBlue|mediumSpringGreen"/>
<xs:pattern value="mediumTurquoise|mediumVioletRed|midnightBlue|mintCream|mistyRose|moccasin|navajoWhite|navy|oldLace|olive|oliveDrab"/>
<xs:pattern value="orange|orangeRed|orchid|paleGoldenrod|paleGreen|paleTurquoise|paleVioletRed|papayaWhip|peachPuff|peru|pink|plum"/>
<xs:pattern value="powderBlue|purple|red|rosyBrown|royalBlue|saddleBrown|salmon|sandyBrown|seaGreen|seaShell|sienna|silver|skyBlue"/>
<xs:pattern value="slateBlue|slateGray|snow|springGreen|steelBlue|tan|teal|thistle|tomato|transparent|turquoise|violet|wheat|white"/>
<xs:pattern value="whiteSmoke|yellow|yellowGreen"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="CT_Resources">
<xs:sequence>
<xs:element name="Resource" maxOccurs="200" minOccurs="0" >
<xs:complexType>
<xs:attribute name="Language" type="xs:language" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CT_Identity">
<xs:attribute name="Name" type="ST_PackageName" use="required"/>
<xs:attribute name="Publisher" type="ST_Publisher" use="required"/>
<xs:attribute name="ResourceId" type="ST_ResourceId" use="optional"/>
<xs:attribute name="Version" type="ST_VersionQuad" use="optional"/>
</xs:complexType>
<xs:complexType name="CT_ShellVisuals">
<xs:attribute name="DefaultDisplayName" type="ST_DisplayName" use="optional"/>
<xs:attribute name="PublisherDisplayName" type="ST_DisplayName" use="optional"/>
<xs:attribute name="StoreLogo" type="ST_ImageFile" use="optional"/>
<xs:attribute name="Square150x150Logo" type="ST_ImageFile" use="optional"/>
<xs:attribute name="Square44x44Logo" type="ST_ImageFile" use="optional"/>
<xs:attribute name="Square480x480Logo" type="ST_ImageFile" use="optional"/>
<xs:attribute name="Description" type="ST_Description" use="optional"/>
<xs:attribute name="ForegroundText" type="ST_ForegroundText" use="optional"/>
<xs:attribute name="BackgroundColor" type="ST_Color" use="optional"/>
<xs:attribute name="SplashScreenImage" type="ST_ImageFile" use="optional"/>
</xs:complexType>
<xs:simpleType name="ST_MemoryConfig">
<xs:restriction base="xs:string">
<xs:enumeration value="Standard"/>
<xs:enumeration value="Advanced"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_ConsoleGeneration">
<xs:restriction base="xs:string">
<xs:enumeration value="XboxOne"/>
<xs:enumeration value="Scarlett"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="CT_VirtualMachine">
<xs:all>
<xs:element name="XboxOneXTitleMemory" type="ST_MemoryConfig" minOccurs="0"/>
<xs:element name="XboxAnacondaTitleMemory" type="ST_MemoryConfig" minOccurs="0"/>
<xs:element name="SMTEnabled" type="xs:boolean" minOccurs="0"/>
<xs:element name="RequiresEraShim" type="xs:boolean" minOccurs="0"/>
<xs:element name="XboxCompatibility" type="ST_ConsoleGeneration" minOccurs="0"/>
<xs:element name="DlcCompatibility" type="ST_ConsoleGeneration" minOccurs="0"/>
<xs:element name="XboxLockhartTitleMemory" type="ST_MemoryConfig" minOccurs="0"/>
</xs:all>
</xs:complexType>
<xs:complexType name="CT_DesktopRegistration">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="ProcessorArchitecture" type="ST_ProcessorArchitecture" minOccurs="0"/>
<xs:element name="MainPackageDependency " minOccurs="0">
<xs:complexType>
<xs:attribute name="Name" type="ST_PackageName"/>
</xs:complexType>
</xs:element>
<xs:element name="DependencyList" type="CT_DependencyList" minOccurs="0"/>
<xs:element name="CustomInstallActions" type="CT_CustomInstallActions" minOccurs="0"/>
<xs:element name="ModFolder" minOccurs="0">
<xs:complexType>
<xs:attribute name="Name" type="ST_FileNameNoPath" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="DisableRegistryWriteVirtualization" type="xs:boolean" minOccurs="0"/>
<xs:element name="DisableFilesystemWriteVirtualization" type="xs:boolean" minOccurs="0"/>
<xs:element name="EnableWritesToPackageRoot" type="xs:boolean" minOccurs="0"/>
<xs:element name="MultiplayerProtocol" minOccurs="0">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:boolean">
<xs:attribute name="Executable" type="ST_Executable" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="FileTypeAssociation" type="CT_FileTypeAssociation" minOccurs="0" maxOccurs="100"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="ST_KnownDependency">
<xs:restriction base="xs:string">
<xs:enumeration value="DX11"/>
<xs:enumeration value="VC11"/>
<xs:enumeration value="VC12"/>
<xs:enumeration value="VC14"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_ProcessorArchitecture">
<xs:restriction base="xs:string">
<xs:enumeration value="x64"/>
<xs:enumeration value="x86"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="CT_DependencyList">
<xs:sequence maxOccurs="128" minOccurs="0">
<xs:element name="KnownDependency" minOccurs="0">
<xs:complexType>
<xs:attribute name="Name" type="ST_KnownDependency" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="Dependency" minOccurs="0">
<xs:complexType>
<xs:attribute name="Name" type="ST_PackageName" use="required"/>
<xs:attribute name="MinVersion" type="ST_VersionQuad" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CT_CustomInstallAction">
<xs:attribute name="File" type="ST_FileName" use="required"/>
<xs:attribute name="Name" type="ST_NonEmptyString" use="required"/>
<xs:attribute name="Arguments" type="ST_NonEmptyString" />
</xs:complexType>
<xs:complexType name="CT_InstallActionList">
<xs:sequence maxOccurs="100" minOccurs="0">
<xs:element name="InstallAction" type="CT_CustomInstallAction" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="CT_RepairActionList">
<xs:sequence maxOccurs="100" minOccurs="0">
<xs:element name="RepairAction" type="CT_CustomInstallAction" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="CT_UninstallActionList">
<xs:sequence maxOccurs="100" minOccurs="0">
<xs:element name="UninstallAction" type="CT_CustomInstallAction" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="CT_CustomInstallActions">
<xs:all>
<xs:element name="Folder" type="ST_FileName" minOccurs="1"/>
<xs:element name="InstallActionList" type="CT_InstallActionList" minOccurs="0"/>
<xs:element name="RepairActionList" type="CT_RepairActionList" minOccurs="0"/>
<xs:element name="UninstallActionList" type="CT_UninstallActionList" minOccurs="0"/>
</xs:all>
</xs:complexType>
<xs:complexType name="CT_ExecutableList">
<xs:sequence maxOccurs="unbounded" minOccurs="0">
<xs:element name="Executable">
<xs:complexType>
<xs:attribute name="Name" type="ST_Executable" use="required"/>
<xs:attribute name="TargetDeviceFamily" type="ST_DeviceFamily" use="optional"/>
<xs:attribute name="Id" type="ST_ApplicationId" use="optional"/>
<xs:attribute name="IsDevOnly" type="xs:boolean" use="optional"/>
<xs:attribute name="OverrideDisplayName" type="ST_DisplayName" use="optional"/>
<xs:attribute name="OverrideLogo" type="ST_ImageFile" use="optional"/>
<xs:attribute name="OverrideSquare480x480Logo" type="ST_ImageFile" use="optional"/>
<xs:attribute name="OverrideSquare44x44Logo" type="ST_ImageFile" use="optional"/>
<xs:attribute name="OverrideSplashScreenImage" type="ST_ImageFile" use="optional"/>
<xs:attribute name="Alias" type="ST_ExecutableNoPath" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CT_AllowedProductsList">
<xs:sequence maxOccurs="unbounded" minOccurs="0">
<xs:element name="AllowedProduct" type="ST_StoreId"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CT_PublisherContent">
<xs:all>
<xs:element name="ManifestUrl" type="xs:anyURI" minOccurs="1"/>
</xs:all>
</xs:complexType>
<xs:complexType name="CT_ExtendedAttributeList">
<xs:sequence maxOccurs="unbounded" minOccurs="0">
<xs:element name="ExtendedAttribute">
<xs:complexType>
<xs:attribute name="Name" type="ST_NonEmptyString" use="optional"/>
<xs:attribute name="Value" type="ST_NonEmptyString" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CT_RelatedProductsList">
<xs:sequence maxOccurs="unbounded" minOccurs="0">
<xs:element name="RelatedProduct" type="ST_StoreId"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CT_MediaCapture">
<xs:all>
<xs:element name="GameDVRSystemComponent" type="xs:boolean" minOccurs="0"/>
<xs:element name="BlockBroadcast" type="xs:boolean" minOccurs="0"/>
<xs:element name="BlockGameDVR" type="xs:boolean" minOccurs="0"/>
</xs:all>
</xs:complexType>
<xs:simpleType name="ST_AllowedAsciiCharSet">
<xs:restriction base="ST_NonEmptyString">
<xs:pattern value="[-_. A-Za-z0-9]+"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_AsciiIdentifier">
<xs:restriction base="ST_AllowedAsciiCharSet">
<xs:pattern value="[^_ ]+"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_PackageName">
<xs:restriction base="ST_AsciiIdentifier">
<xs:minLength value="3"/>
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_DistinguishedName">
<xs:restriction base="ST_NonEmptyString">
<xs:pattern value="(CN|L|O|OU|E|C|S|STREET|T|G|I|SN|DC|SERIALNUMBER|(OID\.(0|[1-9][0-9]*)(\.(0|[1-9][0-9]*))+))=(([^,+="<>#;])+|".*")(, ((CN|L|O|OU|E|C|S|STREET|T|G|I|SN|DC|SERIALNUMBER|(OID\.(0|[1-9][0-9]*)(\.(0|[1-9][0-9]*))+))=(([^,+="<>#;])+|".*")))*"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_Publisher">
<xs:restriction base="ST_DistinguishedName">
<xs:maxLength value="8192"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_ResourceId">
<xs:restriction base="ST_AsciiIdentifier">
<xs:maxLength value="30"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_Port">
<xs:restriction base="ST_NonEmptyString">
<xs:pattern value="[1-9][0-9]{0,4}"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="CT_DebugNetworkPortList">
<xs:sequence maxOccurs="unbounded" minOccurs="0">
<xs:element name="DebugNetworkPort" type="ST_Port"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CT_DevelopmentOnly">
<xs:all>
<xs:element name="ContentIdOverride" type="ST_GUID" minOccurs="0"/>
<xs:element name="EKBIDOverride" type="ST_GUID" minOccurs="0"/>
<xs:element name="DebugNetworkPortList" type="CT_DebugNetworkPortList" minOccurs="0"/>
</xs:all>
</xs:complexType>
<xs:simpleType name="ST_FTAInfoTip">
<xs:restriction base="ST_NonEmptyString">
<xs:maxLength value="1024"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_ContentTypeCharSet">
<xs:restriction base="ST_NonEmptyString">
<xs:pattern value="[!#$%&'*+-.^_`|~0-9a-z/]*"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_ContentType">
<xs:restriction base="ST_ContentTypeCharSet">
<xs:pattern value="[^/]{1,127}/[^/]{1,127}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_FileType">
<xs:restriction base="ST_FileNameCharSet">
<xs:pattern value="\.[^.\\]+"/>
<xs:maxLength value="64"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="CT_FTASupportedFileTypes">
<xs:sequence>
<xs:element name="FileType" maxOccurs="1000" >
<xs:complexType>
<xs:simpleContent>
<xs:extension base="ST_FileType">
<xs:attribute name="ContentType" type="ST_ContentType" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="ST_FTAName">
<xs:restriction base="ST_AllowedAsciiCharSet">
<xs:pattern value="[^ A-Z]+"/>
<xs:maxLength value="100"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="CT_FileTypeAssociation">
<xs:all>
<xs:element name="DisplayName" type="ST_DisplayName" minOccurs="0"/>
<xs:element name="Logo" type="ST_ImageFile" minOccurs="0"/>
<xs:element name="InfoTip" type="ST_FTAInfoTip" minOccurs="0"/>
<xs:element name="EditFlags" minOccurs="0">
<xs:complexType>
<xs:attribute name="OpenIsSafe" type="xs:boolean" use="optional"/>
<xs:attribute name="AlwaysUnsafe" type="xs:boolean" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="SupportedFileTypes" type="CT_FTASupportedFileTypes"/>
</xs:all>
<xs:attribute name="Name" type="ST_FTAName" use="required"/>
<xs:attribute name="Executable" type="ST_Executable" use="optional"/>
</xs:complexType>
<xs:simpleType name="ST_GameSaveNoCodePcRootRelativeLocation">
<xs:restriction base="xs:string">
<xs:enumeration value="AppData"/>
<xs:enumeration value="Public"/>
<xs:enumeration value="LocalAppData"/>
<xs:enumeration value="LocalAppDataLow"/>
<xs:enumeration value="ProgramData"/>
<xs:enumeration value="SavedGames"/>
<xs:enumeration value="UserProfile"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_GameSaveUserQuotaSize">
<xs:restriction base="xs:integer">
<xs:maxInclusive value="4096"/>
<xs:minInclusive value="256"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="CT_SaveGameStorage">
<xs:all>
<xs:element name="NoCodePCRoot" minOccurs="0">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="ST_FileName">
<xs:attribute name="RelativeTo" type="ST_GameSaveNoCodePcRootRelativeLocation" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="SCID" type="ST_GUID" minOccurs="0"/>
<xs:element name="MaxUserQuota" type="ST_GameSaveUserQuotaSize" minOccurs="0"/>
</xs:all>
</xs:complexType>
<!-- Root -->
<xs:element name="Game">
<xs:complexType>
<xs:all>
<xs:element name="Identity" type="CT_Identity" />
<xs:element name="ShellVisuals" type="CT_ShellVisuals" minOccurs="0"/>
<xs:element name="Resources" type="CT_Resources" minOccurs="0"/>
<xs:element name="ExecutableList" type="CT_ExecutableList" minOccurs="0"/>
<xs:element name="GameOsVersion" type="ST_VersionQuad" minOccurs="0"/>
<xs:element name="MediaCapture" type="CT_MediaCapture" minOccurs="0"/>
<xs:element name="StoreId" type="ST_StoreId" minOccurs="0" />
<xs:element name="TargetDeviceFamilyForDLC" type="ST_DeviceFamily" minOccurs="0"/>
<xs:element name="AllowedProducts" type="CT_AllowedProductsList" minOccurs="0"/>
<xs:element name="RelatedProducts" type="CT_RelatedProductsList" minOccurs="0"/>
<xs:element name="PersistentLocalStorage" type="CT_PersistentLocalStorage" minOccurs="0"/>
<xs:element name="VirtualMachine" type="CT_VirtualMachine" minOccurs="0"/>
<xs:element name="MSAFullTrust" type="xs:boolean" minOccurs="0"/>
<xs:element name="MSAAppId" type="ST_NonEmptyString" minOccurs="0"/>
<xs:element name="TitleId" type="ST_Hex8" minOccurs="0"/>
<xs:element name="RequiresXboxLive" type="xs:boolean" minOccurs="0"/>
<xs:element name="ExtendedAttributeList" type="CT_ExtendedAttributeList" minOccurs="0"/>
<xs:element name="DesktopRegistration" type="CT_DesktopRegistration" minOccurs="0"/>
<xs:element name="DevelopmentOnly" type="CT_DevelopmentOnly" minOccurs="0"/>
<xs:element name="AdvancedUserModel" type="xs:boolean" default="true" minOccurs="0" maxOccurs="1" />
<xs:element name="SaveGameStorage" type="CT_SaveGameStorage" minOccurs="0"/>
<xs:element name="PublisherContentBaseProduct" type="ST_StoreId" minOccurs="0" maxOccurs="1"/>
<xs:element name="PublisherContent" type="CT_PublisherContent" minOccurs="0" maxOccurs="1"/>
</xs:all>
<xs:attribute name="configVersion" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:maxInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:unique name="Resource_Language">
<xs:selector xpath="Resources/Resource"/>
<xs:field xpath="@Language"/>
</xs:unique>
</xs:element>
</xs:schema>
Référence des éléments précédents
- PrimaryServiceConfig était un élément utilisé dans le fichier AppxManifest.xml ERA de XBOX One pour définir les appels SCID. Il est désormais défini dans le code et configuré dans DevCenter.
- VisualElements était un élément utilisé dans le fichier AppxManifest.xml ERA de XBOX One pour définir les logos du Store et d’autres aspects visuels du titre. Il est désormais défini dans ShellVisuals.
- GpuAvailability était un élément utilisé dans le fichier AppxManifest.xml ERA de XBOX One pour définir la disponibilité du GPU. Cela se fait désormais automatiquement, car tous les titres du Microsoft Game Development Kit (GDK) obtiennent automatiquement des paramètres variables (autant de GPU que possible).
- ConnectedStorageQuota était un élément utilisé dans le fichier AppxManifest.xml ERA de XBOX One pour définir la taille du stockage connecté. Elle est désormais déterminée par un paramètre côté serveur.
- LicenseOverrides était un élément utilisé dans le fichier debug_licensing_overrides.xml ERA de XBOX One pour définir des remplacements pour ContentID, ProductID et EKBID. Cela est désormais géré directement dans le fichier MicrosoftGame.config avec les éléments ContentIDOverride, StoreId et EKBIDOverride.
- Les éléments NetworkManifest étaient définis dans une version précédente de MicrosoftGame.config. Cela se fait désormais via les API réseau existantes, à l’exception des éléments DebugNetworkPortList.
- XboxOneTitleMemoryMaxMB et XboxOneXTitleMemoryMaxMB étaient des éléments utilisés dans une version précédente de MicrosoftGame.config. XboxOneTitleMemoryMaxMB n’est plus configurable et les éléments de configuration de la mémoire du titre pour XBOX One X et XBOX Series S|X sont désormais XboxOneXTitleMemory, XboxLockhartTitleMemory et XboxAnacondaTitleMemory.
- packageWriteRedirectionCompatibilityShim était auparavant une valeur ExtendedAttribute permettant d’activer cette fonctionnalité avant le GDK de mai 2020. Depuis le GDK de mai 2020, elle est désormais gérée par son propre élément, EnableWritesToPackageRoot.
Configuration des fonctionnalités restreintes
Dans le Microsoft Game Development Kit (GDK), les fonctionnalités restreintes sont configurées via des éléments de MicrosoftGame.config. Voici la correspondance des fonctionnalités couramment utilisées.- La fonctionnalité runFullTrust est configurée pour être activée par défaut.
- La fonctionnalité customInstallActions est configurée par l’élément CustomInstallActions.
MicrosoftGame.config dans le cadre de la création de packages DLC
Pour plus d’informations sur la génération d’un fichier MicrosoftGame.config pour un package DLC, consultez Packages de contenu téléchargeable (DLC). Revenir en haut de cet article.Voir aussi
Référence des éléments de MicrosoftGame.configMicrosoftGame.Config
Vue d’ensemble de MicrosoftGame.Config
Localisation de MicrosoftGame.Config
Vue d’ensemble de l’empaquetage
PC Bootstrapper
