Référence supplémentaire sur MicrosoftGame.config
Résumé
Cet article décrit des détails et du matériel 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 notes. |
| 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 changements par rapport à ERA. |
| MicrosoftGame.config et création de DLC | Fournit plus d’informations sur la création d’un MicrosoftGame.config pour un produit DLC. |
| Voir aussi | Fournit des liens vers de la documentation supplémentaire liée à 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 la version d’octobre 2023 du GDK, tous les titres doivent utiliser configVersion=“1”. Submission Validator signalera un ÉCHEC (FAILURE) pour tout titre soumis avec le GDK d’octobre 2023 et configVersion=“0”. Les changements entre les valeurs configVersion 0 et 1 de Game sont les suivants.- Les éléments MSAAppId et TitleId sont requis si l’un ou l’autre est spécifié dans le MicrosoftGame.config (c.-à-d. si le TitleId est spécifié, le MSAAppId doit aussi être spécifié).
- Les éléments MSAAppId et TitleId sont requis si l’élément NoCodePCRoot est spécifié ou si l’élément AdvancedUserModel est défini à la valeur false.
- Les éléments ModFolder, EnableWritesToPackageRoot, DisableFilesystemWriteVirtualization et DisableRegistryWriteVirtualization sont maintenant 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 requis, son objectif, son nœud parent et des notes supplémentaires pour les éléments définissables dans le MicrosoftGame.config.| Nom du nœud | Requis | Objectif | Parent | Notes |
|---|---|---|---|---|
| Game | Requis | Nœud parent unique qui contient tout le reste du contenu | ||
| Identity | Requis | Définit le nom (Name), l’éditeur (Publisher) et la version (Version) du titre | Game | Les informations sur le titre se trouvent dans Partner Center sous Gestion du produit -> 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 façon unique. Name et Publisher sont des champs requis. Version prend la valeur par défaut 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 | Requis 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ée et collée à partir d’un AppxManifest existant, puisque le format est conservé. Pour plus d’informations, consultez Empaquetage. |
| Resource | Facultatif | Une entrée individuelle de langue-paramètres régionaux dans la liste Resources. | Resources | |
| ExecutableList | Requis | Liste des exécutables du titre. | Game | Au moins une entrée est requise pour inscrire ou empaqueter le titre avec succès. L’attribut « IsDevOnly » vous permet de vous assurer 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 exécutable dans le Shell (les ressources spécifiées ci-dessus dans le nœud « ShellVisuals » seront les valeurs par défaut pour chaque exécutable, sauf si elles sont remplacées ici). |
| Executable | Requis | Spécifie les détails d’un exécutable précis. | ExecutableList | Les attributs de cette section comprennent 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 de développement seulement (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 a un alias (Alias (actuellement Desktop seulement). |
| AdvancedUserModel | Facultatif | Spécifie si le modèle d’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 d’utilisateur simple est utilisé, ce qui garantit que votre titre conservera toujours l’utilisateur actif avec lequel il a été lancé. Consultez Modèles d’utilisateur du GDK (article sous NDA) pour plus d’informations. |
| Protocol | Facultatif | Protocole personnalisé qui peut ê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, de façon facultative, le chemin d’accès à l’exécutable. Consultez Activation par protocole pour plus d’informations. |
| ProtocolList | Facultatif | Spécifie une collection de protocoles personnalisés qui peuvent être utilisés pour lancer le jeu ou le mettre au premier plan s’il est déjà en cours d’exécution. | Game | Au moins un Protocol doit être fourni. Consultez Activation par protocole pour plus d’informations. |
| GameOsVersion | Facultatif (console seulement) | Spécifie la version du Game OS du Microsoft Game Development Kit (GDK) requise pour exécuter ce titre. | Game | Le Game OS en cours d’exécution ou par défaut sera utilisé si aucune valeur n’est spécifiée. |
| WindowsOsVersion | Facultatif (PC seulement) | Spécifie les versions minimales et suggérées de Windows requises pour exécuter ce titre. | DesktopRegistration | Les valeurs autorisées sont un numéro de version en quatre parties (p. ex. 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 seulement) | Spécifie le comportement souhaité des 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 seulement) | Spécifie si le composant système Game DVR est activé ou non. | MediaCapture | |
| BlockBroadcast | Facultatif (console seulement) | Spécifie si la diffusion du titre doit être bloquée ou autorisée. | MediaCapture | |
| BlockGameDVR | Facultatif (console seulement) | Spécifie si les enregistrements Game DVR du titre doivent être bloqués ou autorisés. | MediaCapture | |
| StoreId | Facultatif | Spécifie l’identité du titre dans le Store. | Game | Spécifié dans Partner Center sous Gestion du produit -> 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 | Une entrée précise de StoreId des produits auxquels ce titre DLC est lié. | RelatedProducts | |
| TargetDeviceFamilyForDLC | Facultatif (DLC seulement) | 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 actuel hébergé par l’éditeur. | PublisherContent | |
| PublisherContentBaseProduct | Facultatif (contenu de l’éditeur seulement) | Spécifie le StoreId du jeu de base auquel appartient ce package de contenu hébergé par l’éditeur. | Game | Marque le package comme un package de contenu de l’éditeur. |
| PersistentLocalStorage | Facultatif (console seulement) | 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 seulement) | 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 seulement) | 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 seulement) | Spécifie l’allocation de mémoire du titre sur du matériel XBOX One précis. | Game | |
| XboxOneXTitleMemory | Facultatif (console seulement) | 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 seulement) | 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 seulement) | 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 seulement) | Spécifie si SMT est activé ou non. | Virtual Machine | |
| RequiresEraShim | Facultatif (console seulement) | Spécifie si le shim ERA de la XBOX One est requis ou non. | Virtual Machine | |
| XboxCompatibility | Facultatif (console seulement) | Spécifie la génération de console maximale avec laquelle le jeu est compatible. | Virtual Machine | Les développeurs l’utiliseraient avec un titre XBOX One exécuté en rétrocompatibilité sur XBOX Series X|S. L’utilisation principale serait d’obtenir l’accès à des fonctionnalités améliorées, comme de la mémoire supplémentaire. Les valeurs autorisées sont « XboxOne », qui se comportera comme un titre rétrocompatible normal, et « Scarlett », qui permettra au titre rétrocompatible d’accéder aux fonctionnalités améliorées. |
| DlcCompatibility | Facultatif (console seulement) | Spécifie la génération de console minimale pour les DLC avec lesquels le jeu est compatible. | Virtual Machine | Les développeurs l’utiliseraient avec un titre XBOX One exécuté sur une console XBOX Series X|S, mais qui souhaite charger des packages DLC générés pour XBOX One. Cela permettrait aux DLC de se trouver sur n’importe quel stockage, et pas seulement sur le stockage rapide. |
| MSAFullTrust | Facultatif (PC Desktop seulement) | Spécifie si le titre est déclaré comme « MSA Full Trust ». | Game | Cet élément ne doit pas être utilisé, sauf indication contraire de votre gestionnaire de compte. |
| MSAAppId | Requis | Spécifie l’ID d’application MSA du titre, qui est utilisé avec le Title ID 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 le Title ID 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 connexion à XBOX Live pour s’exécuter. | Game | |
| ExtendedAttributeList | Facultatif | Solution de repli pour des attributs supplémentaires en dehors des éléments existants. | Game | Cet élément ne doit pas être utilisé, sauf indication contraire de votre gestionnaire de compte. |
| ExtendedAttribute | Facultatif | Une désignation de repli précise dans la liste ExtendedAttributeList. | Game | Cet élément ne doit pas être utilisé, sauf indication contraire de votre gestionnaire de compte. |
| DesktopRegistration | Facultatif (PC Desktop seulement) | Spécifie les attributs à utiliser lors de l’inscription du titre sur la plateforme PC Desktop. | Game | |
| ProcessorArchitecture | Facultatif (PC Desktop seulement) | Spécifie l’architecture de processeur qui correspond aux exécutables de votre jeu. | DesktopRegistration | Exemples d’attributs pour cet élément : x64 et x86. |
| MainPackageDependency | Facultatif (DLC PC Desktop seulement) | Spécifie l’identité du package de base auquel appartient votre DLC. | DesktopRegistration | |
| DependencyList | Facultatif (PC Desktop seulement) | Détermine quels packages d’infrastructure 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 seulement) | Raccourci pour spécifier l’un des packages d’infrastructure couramment utilisés. | DependencyList | La spécification de l’attribut name est requise et MinVersion est défini automatiquement. Consultez la section ST_KnownDependency du schéma suivant pour obtenir la liste des raccourcis possibles. |
| Dependency | Facultatif (PC Desktop seulement) | Package d’infrastructure et version précis qui doivent être installés avant le titre. | DependencyList | Les attributs name et MinVersion doivent être définis. |
| CustomInstallActions | Facultatif (PC Desktop seulement) | Spécifie une action d’installation personnalisée avec des privilèges d’administrateur 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 seulement) | Spécifie l’emplacement du dossier des programmes d’installation. | CustomInstallActions | |
| InstallActionList | Facultatif (PC Desktop seulement) | Spécifie une liste d’actions d’installation, y compris le fichier exécutable, le nom et les arguments. | CustomInstallActions | |
| InstallAction | Facultatif (PC Desktop seulement) | Spécifie une action d’installation dans la liste InstallActionList. | InstallActionList | Maximum de 100 entrées. |
| RepairActionList | Facultatif (PC Desktop seulement) | Spécifie une liste d’actions de réparation. | CustomInstallActions | |
| RepairAction | Facultatif (PC Desktop seulement) | Spécifie une action de réparation dans la liste RepairActionList. | RepairActionList | Maximum de 100 entrées. |
| UninstallActionList | Facultatif (PC Desktop seulement) | Spécifie une liste d’actions de désinstallation. | CustomInstallActions | |
| UninstallAction | Facultatif (PC Desktop seulement) | Spécifie une action de désinstallation dans la liste UninstallActionList. | UninstallActionList | Maximum de 100 entrées. |
| ModFolder | Facultatif (PC Desktop seulement) | Définit l’emplacement des mods des utilisateurs finaux pour les fichiers de votre jeu. | DesktopRegistration | Cet élément est maintenant déprécié depuis le Microsoft Game Development Kit (GDK) de mars 2022. |
| DisableRegistryWriteVirtualization | Facultatif (PC Desktop seulement) | Définissez la valeur true si votre jeu doit effectuer des écritures dans le registre à l’échelle du système d’exploitation. | DesktopRegistration | Cet élément est maintenant déprécié depuis le Microsoft Game Development Kit (GDK) de mars 2022. |
| DisableFilesystemWriteVirtualization | Facultatif (PC Desktop seulement) | Définissez la valeur true si votre jeu doit effectuer des écritures de fichiers à l’échelle du système d’exploitation. | DesktopRegistration | Cet élément est maintenant déprécié depuis le Microsoft Game Development Kit (GDK) de mars 2022. |
| EnableWritesToPackageRoot | Facultatif (PC Desktop seulement) | Définissez la valeur true si votre jeu doit écrire dans l’emplacement d’installation du package. | DesktopRegistration | Cet élément est maintenant déprécié depuis le Microsoft Game Development Kit (GDK) de mars 2022. |
| MultiplayerProtocol | Facultatif (PC Desktop seulement) | Permet l’activation par protocole dans le titre au moyen du 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 seulement) | Permet d’associer un type de fichier à un exécutable de votre package. | DesktopRegistration | Un exemple serait une extension précise pour l’éditeur de cartes d’un titre. Consultez Activation par type de fichier pour plus d’informations. |
| DisplayName | Facultatif (PC Desktop seulement) | Spécifie un nom d’affichage pour l’association de type de fichier. | FileTypeAssociation | |
| Logo | Facultatif (PC Desktop seulement) | Spécifie un logo pour l’association de type de fichier. | FileTypeAssociation | |
| InfoTip | Facultatif (PC Desktop seulement) | Spécifie une info-bulle pour l’association de type de fichier. | FileTypeAssociation | |
| EditFlags | Facultatif (PC Desktop seulement) | Spécifie des indicateurs de modification pour l’association de type de fichier. | FileTypeAssociation | |
| SupportedFileTypes | Facultatif (PC Desktop seulement) | Spécifie les types de fichiers pris en charge pour l’association de type de fichier. | FileTypeAssociation | Consultez Activation par type de fichier pour plus d’informations. |
| FileType | Facultatif (PC Desktop seulement) | Spécifie une extension de type de fichier à utiliser dans l’élément SupportedFileTypes. | SupportedFileTypes | Consultez Activation par type de fichier pour plus d’informations. |
| NoCodePCRoot | Facultatif (PC Desktop seulement) | Spécifie le dossier local où les sauvegardes de jeu sont stockées lorsque les sauvegardes infonuagiques sans code sont activées pour le package. | SaveGameStorage | |
| DevelopmentOnly | Facultatif (console seulement) | Une liste de propriétés réservées au développement. | Game | |
| ContentIdOverride | Facultatif (console seulement) | Un remplacement, réservé au développement, 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 seulement) | Un remplacement, réservé au développement, de l’EKBID (ID de version d’essai) d’un jeu. | DevelopmentOnly | Utilisez la commande xbapp list /d, avec un package installé, pour obtenir l’EKBID de votre titre. |
| DebugNetworkPortList | Facultatif (console seulement) | Une liste de ports supplémentaires à ouvrir pour le développement sur une trousse de développement. | DevelopmentOnly | |
| DebugNetworkPort | Facultatif (console seulement) | Port supplémentaire à ouvrir pour le développement sur une trousse de développement. | DebugNetworkPortList |
Codes d’erreur
Les codes d’erreur suivants peuvent survenir lorsque vous travaillez avec des 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 de 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. Le MSAAppId et le TitleId ne correspondent pas à ceux associés au jeu. |
| E_GAMEUSER_INVALID_APP_CONFIGURATION | 0x89245112 | Le MSAAppId dans 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 dans 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 | Le MSAAppId et le TitleId dans la configuration du jeu ne correspondent pas à ceux associés au jeu. |
| E_GAMEPACKAGE_NO_STORE_ID | 0x89245202 | L’attribut StoreId doit être défini dans la configuration de jeu de l’application. |
| E_GAMEPACKAGE_DLC_NOT_SUPPORTED | 0x89245206 | Le jeu ne prend pas en charge le package DLC. Assurez-vous que la compatibilité DLC est correcte dans la configuration du jeu. |
| E_GAMEPACKAGE_DUPLICATE_ID_VALUES | 0x89245207 | Le package contient plus d’un exécutable associé au même attribut ‘ID’. Vérifiez s’il y a des 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 formaté. |
| 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 lorsque configVersion >= 1. |
| E_GAMEPACKAGE_CONFIG_DEPRECATED_PC_ENTRIES | 0x8924520C | Les entrées DesktopRegistration “modFolder”, “enableWritesToPackageRoot”, “disableRegistryWriteVirtualization” et “disableFilesystemWriteVirtualization” sont dépréciées lorsque configVersion >= 1. |
| E_GAMEPACKAGE_CONFIG_SUM_REQUIRES_MSAAPPID | 0x8924520D | Les éléments ‘MSAAppId’ et ‘TitleId’ sont requis lors de l’utilisation du modèle d’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 requis lors de l’utilisation des sauvegardes infonuagiques 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 lorsque configVersion >= 1. |
Exemple de fichier MicrosoftGame.config
Le fichier MicrosoftGame.config suivant est un exemple de configuration qui montre 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 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 du fichier 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 de XBOX One ERA pour définir les appels SCID. Cela est maintenant défini dans le code et configuré dans DevCenter.
- VisualElements était un élément utilisé dans le fichier AppxManifest.xml de XBOX One ERA pour définir les logos du Store et d’autres aspects visuels du titre. Cela est maintenant défini dans ShellVisuals.
- GpuAvailability était un élément utilisé dans le fichier AppxManifest.xml de XBOX One ERA pour définir la disponibilité du GPU. Cela se fait maintenant automatiquement, puisque 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 de XBOX One ERA pour définir la taille du stockage connecté. Celle-ci est maintenant déterminée par un paramètre côté serveur.
- LicenseOverrides était un élément utilisé dans le fichier debug_licensing_overrides.xml de XBOX One ERA pour définir des remplacements pour ContentID, ProductID et EKBID. Cela est maintenant géré directement dans le 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 maintenant au moyen des API de 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 maintenant 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 maintenant gérée comme un élément distinct, EnableWritesToPackageRoot.
Configuration des fonctionnalités restreintes
Dans le Microsoft Game Development Kit (GDK), les fonctionnalités restreintes sont configurées au moyen d’é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 d’un package DLC
Pour plus d’informations sur la façon de générer un MicrosoftGame.config pour un package DLC, consultez Packages de contenu téléchargeable (DLC). Retour au début de cet article.Voir aussi
Référence des éléments MicrosoftGame.configMicrosoftGame.Config
Vue d’ensemble de MicrosoftGame.Config
Localisation de MicrosoftGame.Config
Vue d’ensemble de l’empaquetage
PC Bootstrapper
