Referência adicional do MicrosoftGame.config
Resumo
Este artigo descreve detalhes adicionais e material de referência para o arquivo MicrosoftGame.config. Ele inclui as seções a seguir.| Seção | Descrição |
|---|---|
| Detalhes dos elementos | Fornece uma lista de nomes de elementos do MicrosoftGame.config, sua finalidade e observações. |
| Arquivo MicrosoftGame.config de exemplo | Fornece um MicrosoftGame.config de exemplo para XBOX e PC. |
| Esquema XSD do MicrosoftGame.config | Fornece detalhes sobre o esquema XSD usado para validar o MicrosoftGame.config. |
| Referência de elementos anteriores | Fornece uma lista de elementos relevantes que foram alterados, incluindo referências a alterações em relação ao ERA. |
| MicrosoftGame.config e criação de DLC | Fornece mais informações sobre como criar um MicrosoftGame.config para um produto DLC. |
| Confira também | Fornece links para documentação adicional relacionada ao MicrosoftGame.config. |
Detalhes do configVersion do Game
A partir do Microsoft Game Development Kit (GDK) de março de 2022, o configVersion do Game foi atualizado de 0 para 1 para novos arquivos MicrosoftGame.config gerados usando as ferramentas do Microsoft Game Development Kit (GDK). A partir do GDK de outubro de 2023, todos os títulos devem usar configVersion=“1”. O Submission Validator relatará uma FALHA (FAILURE) para qualquer título enviado usando o GDK de outubro de 2023 com configVersion=“0”. As alterações entre o configVersion 0 e 1 do Game são as seguintes.- Os elementos MSAAppId e TitleId são obrigatórios se qualquer um deles for especificado no MicrosoftGame.config (ou seja, se o TitleId for especificado, o MSAAppId também deverá ser especificado).
- Os elementos MSAAppId e TitleId são obrigatórios se o elemento NoCodePCRoot for especificado ou se o elemento AdvancedUserModel for definido com o valor false.
- Os elementos ModFolder, EnableWritesToPackageRoot, DisableFilesystemWriteVirtualization e DisableRegistryWriteVirtualization foram preteridos com o configVersion 1.
<Game configVersion="1">
Detalhes dos elementos
Esta seção detalha o nome do elemento, se ele é obrigatório, a finalidade, o nó pai e observações adicionais para os elementos definíveis no MicrosoftGame.config.| Nome do nó | Obrigatório | Finalidade | Pai | Observações |
|---|---|---|---|---|
| Game | Obrigatório | Nó pai único que contém todo o outro conteúdo | ||
| Identity | Obrigatório | Define o Name, o Publisher e a Version do título | Game | As informações do título podem ser encontradas no Partner Center em Gerenciamento de Produtos -> Identidade do Produto; consulte Configurar um jogo no Partner Center, para Parceiros Gerenciados. Usado durante o registro para identificar o título de forma exclusiva. Name e Publisher são campos obrigatórios. Version terá como padrão 1.0.0.0 se não for especificado. Pacotes adicionais para gerações de console posteriores devem incrementar a versão principal do pacote além das versões de pacote existentes. |
| ShellVisuals | Obrigatório para build empacotado | Define a presença do título no Shell. Por exemplo, imagens e nomes. | Game | Usado durante o registro para exibir o título no Shell. |
| Resources | Opcional | Lista de pares de idioma e localidade usados para localizar os Shell Visuals. | Game | Pode ser copiado e colado de um AppxManifest existente, pois o formato é mantido. Para obter mais informações, consulte Empacotamento. |
| Resource | Opcional | Uma entrada individual de idioma e localidade na lista Resources. | Resources | |
| ExecutableList | Obrigatório | Lista de executáveis do título. | Game | Pelo menos uma entrada é necessária para registrar ou empacotar o título com êxito. O atributo “IsDevOnly” permite garantir que essa entrada não seja incluída em um pacote assinado para envio. As substituições de Display Name e Logo permitem valores exclusivos para este exe no shell (os recursos especificados acima no nó “ShellVisuals” serão o padrão para cada exe, a menos que sejam substituídos aqui). |
| Executable | Obrigatório | Especifica os detalhes de um executável específico. | ExecutableList | Os atributos desta seção incluem o nome do executável (Name), para qual dispositivo ele foi compilado (TargetDeviceFamily), sua ID de aplicativo (Id), se é um executável somente de desenvolvimento (IsDevOnly), se o nome de exibição do nó ShellVisuals deve ser substituído (OverrideDisplayName), se o Logo do nó ShellVisuals deve ser substituído (OverrideLogo), se o Square480x480Logo do nó ShellVisuals deve ser substituído (OverrideSquare480x480Logo), se o Square44x44Logo do nó ShellVisuals deve ser substituído (OverrideSquare44x44Logo), se o SplashScreenImage do nó ShellVisuals deve ser substituído (OverrideSplashScreenImage) e se o executável tem um alias (Alias (atualmente somente Desktop). |
| AdvancedUserModel | Opcional | Especifica se o Modelo de Usuário Avançado deve ser usado para o seu título. | Game | Isso significa que seu título dá suporte à troca do usuário ativo sem exigir uma reinicialização. Se desabilitado, o modelo de usuário simples será usado, o que garante que seu título sempre manterá o usuário ativo com o qual foi iniciado. Consulte Modelos de usuário do GDK (artigo sob NDA) para obter mais informações. |
| Protocol | Opcional | Protocolo personalizado que pode ser usado para iniciar o jogo ou trazê-lo para o primeiro plano caso ele já esteja em execução. | ProtocolList | Especifica o nome do protocolo personalizado e, opcionalmente, o caminho para o executável. Consulte Ativação de protocolo para obter mais informações. |
| ProtocolList | Opcional | Especifica uma coleção de protocolos personalizados que podem ser usados para iniciar o jogo ou trazê-lo para o primeiro plano caso ele já esteja em execução. | Game | É necessário fornecer pelo menos um Protocol. Consulte Ativação de protocolo para obter mais informações. |
| GameOsVersion | Opcional (somente console) | Especifica a versão do Game OS do Microsoft Game Development Kit (GDK) que este título requer para ser executado. | Game | Usará o Game OS em execução no momento ou o padrão se não for especificado. |
| WindowsOsVersion | Opcional (somente PC) | Especifica as versões mínima e sugerida do Windows que este título requer para ser executado. | DesktopRegistration | Os valores permitidos são um número de versão de quatro partes (ou seja, 10.0.19045.3570) e as opções são RequiredMinimum=”#.#.#.#”, SuggestedMinimum=”#.#.#.#” Recommended=”#.#.#.#” Este elemento de mínimo sugerido terá como padrão 10.0.19045.3570 |
| MediaCapture | Opcional (somente console) | Especifica o comportamento desejado para os aplicativos de Captura de Mídia do sistema enquanto este título está em execução. | Game | A captura de mídia requer que a identidade do título esteja configurada para funcionar corretamente. |
| GameDVRSystemComponent | Opcional (somente console) | Especifica se o componente de sistema Game DVR está habilitado ou não. | MediaCapture | |
| BlockBroadcast | Opcional (somente console) | Especifica se a transmissão do título deve ser bloqueada ou permitida. | MediaCapture | |
| BlockGameDVR | Opcional (somente console) | Especifica se as gravações do Game DVR do título devem ser bloqueadas ou permitidas. | MediaCapture | |
| StoreId | Opcional | Especifica a identidade na loja deste título. | Game | Especificado no Partner Center em Gerenciamento de Produtos -> Identidade do Produto. |
| AllowedProducts | Opcional | Especifica o StoreId do título ou dos títulos associados aos quais este título de Pacote de Conteúdo Baixável (DLC) pertence. | Game | Para obter mais informações, consulte Pacotes de Conteúdo Baixável (DLCs). |
| AllowedProduct | Opcional | Especifica o StoreId do título associado ao qual este título de Pacote de Conteúdo Baixável (DLC) pertence. | AllowedProducts | |
| RelatedProducts | Opcional | Especifica o StoreId dos produtos aos quais este título DLC está relacionado. | Game | Para obter mais informações, consulte Pacotes de Conteúdo Baixável (DLCs). |
| RelatedProduct | Opcional | Uma entrada específica de StoreId de produtos aos quais este título DLC está relacionado. | RelatedProducts | |
| TargetDeviceFamilyForDLC | Opcional (somente DLC) | Especifica a plataforma de destino para a qual o pacote DLC é compilado. Os valores permitidos são XboxOne, Scarlett e PC | Game | |
| PublisherContent | Opcional | Declara que este jogo base dá suporte a um pacote de conteúdo hospedado pelo editor. | Game | Para obter mais informações, consulte Pacotes de Conteúdo do Editor. |
| ManifestUrl | Opcional | URL do manifesto JSON que identifica o pacote de conteúdo atual hospedado pelo editor. | PublisherContent | |
| PublisherContentBaseProduct | Opcional (somente Conteúdo do Editor) | Especifica o StoreId do jogo base ao qual este pacote de conteúdo hospedado pelo editor pertence. | Game | Marca o pacote como um pacote de Conteúdo do Editor. |
| PersistentLocalStorage | Opcional (somente console) | Especifica o tamanho desejado do Armazenamento Local Persistente do título. | Game | O armazenamento local persistente requer que a identidade do título esteja configurada para funcionar corretamente. |
| SizeMB | Opcional (somente console) | Especifica o tamanho mínimo, em MB, do Armazenamento Local Persistente. | PersistentLocalStorage | O armazenamento local persistente requer que a identidade do título esteja configurada para funcionar corretamente. |
| GrowableToMB | Opcional (somente console) | Especifica o tamanho máximo, em MB, até o qual o Armazenamento Local Persistente pode crescer ao longo do tempo. | PersistentLocalStorage | O armazenamento local persistente requer que a identidade do título esteja configurada para funcionar corretamente. |
| VirtualMachine | Opcional (somente console) | Especifica a alocação de memória do título em hardware XBOX One específico. | Game | |
| XboxOneXTitleMemory | Opcional (somente console) | Especifica a configuração de memória do título para consoles XBOX One X. | Virtual Machine | Valores permitidos: “Standard” ou “Advanced”. |
| XboxLockhartTitleMemory | Opcional (somente console) | Especifica a configuração de memória do título para consoles XBOX Series S. | Virtual Machine | Valores permitidos: “Standard” ou “Advanced”. |
| XboxAnacondaTitleMemory | Opcional (somente console) | Especifica a configuração de memória do título para consoles XBOX Series X. | Virtual Machine | Valores permitidos: “Standard” ou “Advanced”. |
| SMTEnabled | Opcional (somente console) | Especifica se o SMT está habilitado ou não. | Virtual Machine | |
| RequiresEraShim | Opcional (somente console) | Especifica se o ERA Shim do XBOX One é necessário ou não. | Virtual Machine | |
| XboxCompatibility | Opcional (somente console) | Especifica a geração máxima de console com a qual o jogo é compatível. | Virtual Machine | Os desenvolvedores usariam isso com um título do XBOX One executado em retrocompatibilidade no XBOX Series X|S. O uso principal seria obter acesso a recursos aprimorados, como memória extra. Os valores permitidos são “XboxOne”, que se comportará como um título retrocompatível normal, e “Scarlett”, que permitirá que o título retrocompatível acesse recursos aprimorados. |
| DlcCompatibility | Opcional (somente console) | Especifica a geração mínima de console para DLC com a qual o jogo é compatível. | Virtual Machine | Os desenvolvedores usariam isso com um título do XBOX One executado em um console XBOX Series X|S, mas que deseja carregar pacotes DLC compilados para XBOX One. Isso permitiria que o DLC existisse em qualquer armazenamento, não apenas em armazenamento rápido. |
| MSAFullTrust | Opcional (somente PC Desktop) | Especifica se o título é declarado como “MSA Full Trust”. | Game | Não deve ser usado, a menos que indicado de outra forma pelo seu Gerente de Conta. |
| MSAAppId | Obrigatório | Especifica a MSA App ID do título, que é usada com a XBOX Live Title ID (a seguir) para identidade com os serviços XBOX Live. | Game | A partir do Microsoft Game Development Kit (GDK) de março de 2022, o elemento MSAAppId deverá estar presente se o elemento TitleId for especificado. |
| TitleId | Opcional | Especifica a XBOX Live Title ID do título, usada para identidade com os serviços XBOX Live. | Game | A partir do Microsoft Game Development Kit (GDK) de março de 2022, o elemento TitleId deverá estar presente se o elemento MSAAppId for especificado. |
| RequiresXboxLive | Opcional | Especifica se o título requer conectividade com o XBOX Live para ser executado. | Game | |
| ExtendedAttributeList | Opcional | Alternativa para atributos adicionais fora dos elementos existentes. | Game | Não deve ser usado, a menos que indicado de outra forma pelo seu Gerente de Conta. |
| ExtendedAttribute | Opcional | Uma designação alternativa específica na Extended Attribute List. | Game | Não deve ser usado, a menos que indicado de outra forma pelo seu Gerente de Conta. |
| DesktopRegistration | Opcional (somente PC Desktop) | Especifica atributos a serem usados ao registrar o título na plataforma PC desktop. | Game | |
| ProcessorArchitecture | Opcional (somente PC Desktop) | Especifica a arquitetura de processador que corresponde aos executáveis do seu jogo. | DesktopRegistration | Exemplos de atributos para este elemento são x64 e x86. |
| MainPackageDependency | Opcional (somente DLC de PC Desktop) | Especifica a identidade do pacote base ao qual seu DLC pertence. | DesktopRegistration | |
| DependencyList | Opcional (somente PC Desktop) | Determina quais pacotes de estrutura precisam ser instalados antes da instalação do pacote do título. | DesktopRegistration | Para obter mais informações sobre o uso de elementos filho, clique aqui. |
| KnownDependency | Opcional (somente PC Desktop) | Atalho para especificar um dos pacotes de estrutura comumente usados. | DependencyList | A especificação do atributo name é obrigatória e MinVersion é definido automaticamente. Consulte a seção ST_KnownDependency no esquema a seguir para obter uma lista dos atalhos possíveis. |
| Dependency | Opcional (somente PC Desktop) | Pacote de estrutura e versão específicos que precisam ser instalados antes do título. | DependencyList | A especificação dos atributos name e MinVersion deve ser definida. |
| CustomInstallActions | Opcional (somente PC Desktop) | Especifica uma ação de instalador personalizado com privilégios de Administração na primeira vez que seu jogo é executado. | DesktopRegistration | Qualquer executável que você especificar deve estar localizado na pasta “Installers” na pasta base do seu jogo. Não inclua outros arquivos na pasta Installers. |
| Folder | Opcional (somente PC Desktop) | Especifica o local da pasta dos Installers. | CustomInstallActions | |
| InstallActionList | Opcional (somente PC Desktop) | Especifica uma lista de ações de instalação, incluindo o arquivo executável, o nome e os argumentos. | CustomInstallActions | |
| InstallAction | Opcional (somente PC Desktop) | Especifica uma ação de instalação dentro da Install Action List. | InstallActionList | Máximo de 100 entradas. |
| RepairActionList | Opcional (somente PC Desktop) | Especifica uma lista de ações de reparo. | CustomInstallActions | |
| RepairAction | Opcional (somente PC Desktop) | Especifica uma ação de reparo dentro da Repair Action List. | RepairActionList | Máximo de 100 entradas. |
| UninstallActionList | Opcional (somente PC Desktop) | Especifica uma lista de ações de desinstalação. | CustomInstallActions | |
| UninstallAction | Opcional (somente PC Desktop) | Especifica uma ação de desinstalação dentro da Uninstall Action List. | UninstallActionList | Máximo de 100 entradas. |
| ModFolder | Opcional (somente PC Desktop) | Define o local dos mods do usuário final para os arquivos do seu jogo. | DesktopRegistration | Este elemento foi preterido a partir do Microsoft Game Development Kit (GDK) de março de 2022. |
| DisableRegistryWriteVirtualization | Opcional (somente PC Desktop) | Defina como true se o seu jogo precisar fazer gravações no registro em todo o sistema operacional. | DesktopRegistration | Este elemento foi preterido a partir do Microsoft Game Development Kit (GDK) de março de 2022. |
| DisableFilesystemWriteVirtualization | Opcional (somente PC Desktop) | Defina como true se o seu jogo precisar fazer gravações de arquivos em todo o sistema operacional. | DesktopRegistration | Este elemento foi preterido a partir do Microsoft Game Development Kit (GDK) de março de 2022. |
| EnableWritesToPackageRoot | Opcional (somente PC Desktop) | Defina como true se o seu jogo precisar gravar no local de instalação do pacote. | DesktopRegistration | Este elemento foi preterido a partir do Microsoft Game Development Kit (GDK) de março de 2022. |
| MultiplayerProtocol | Opcional (somente PC Desktop) | Permite a ativação de protocolo no título por meio do protocolo “ms-xbl-multiplayer”. | DesktopRegistration | Usado principalmente para permitir que a XBOX Game Bar inicie jogos / convites para jogos multijogador. |
| FileTypeAssociation | Opcional (somente PC Desktop) | Permite que um tipo de arquivo seja associado a um executável no seu pacote. | DesktopRegistration | Um exemplo seria uma extensão específica para o editor de mapas de um título. Consulte Ativação de tipo de arquivo para obter mais informações. |
| DisplayName | Opcional (somente PC Desktop) | Especifica um nome de exibição para a File Type Association. | FileTypeAssociation | |
| Logo | Opcional (somente PC Desktop) | Especifica um logotipo para a File Type Association. | FileTypeAssociation | |
| InfoTip | Opcional (somente PC Desktop) | Especifica uma Info Tip para a File Type Association. | FileTypeAssociation | |
| EditFlags | Opcional (somente PC Desktop) | Especifica Edit Flags para a File Type Association. | FileTypeAssociation | |
| SupportedFileTypes | Opcional (somente PC Desktop) | Especifica os tipos de arquivo com suporte para a File Type Association. | FileTypeAssociation | Consulte Ativação de tipo de arquivo para obter mais informações. |
| FileType | Opcional (somente PC Desktop) | Especifica uma extensão de tipo de arquivo a ser usada como parte do elemento SupportedFileTypes. | SupportedFileTypes | Consulte Ativação de tipo de arquivo para obter mais informações. |
| NoCodePCRoot | Opcional (somente PC Desktop) | Especifica a pasta local onde os jogos salvos são armazenados para uso quando salvamentos na nuvem sem código estão habilitados para o pacote. | SaveGameStorage | |
| DevelopmentOnly | Opcional (somente console) | Uma lista de propriedades somente de desenvolvimento. | Game | |
| ContentIdOverride | Opcional (somente console) | Uma substituição, somente para desenvolvimento, do ContentID de um jogo. | DevelopmentOnly | Utilize o comando xbapp list /d /nosystem, com um pacote instalado, para obter o ContentID do seu título. |
| EKBIDOverride | Opcional (somente console) | Uma substituição, somente para desenvolvimento, do EKBID (ID da versão de avaliação) de um jogo. | DevelopmentOnly | Utilize o comando xbapp list /d, com um pacote instalado, para obter o EKBID do seu título. |
| DebugNetworkPortList | Opcional (somente console) | Uma lista de portas adicionais a serem abertas para desenvolvimento em um Development Kit. | DevelopmentOnly | |
| DebugNetworkPort | Opcional (somente console) | Porta adicional a ser aberta para desenvolvimento em um devkit. | DebugNetworkPortList |
Códigos de erro
Os códigos de erro a seguir podem ser encontrados ao trabalhar com arquivos MicrosoftGame.config. Para obter uma lista completa, consulte Códigos de erro.| Código | Valor | Descrição |
|---|---|---|
| E_GAME_MISSING_GAME_CONFIG | 0x87e5001F | Este aplicativo não tem um arquivo MicrosoftGame.Config obrigatório. |
| E_GAMERUNTIME_OPTIONS_NOT_SUPPORTED | 0x8924010A | As opções passadas não são compatíveis com o pacote do jogo. As informações de configuração do jogo devem corresponder ao pacote. |
| E_GAMERUNTIME_GAMECONFIG_BAD_FORMAT | 0x8924010B | A configuração do jogo passada para Initialize não pode ser analisada. |
| E_GAMEUSER_NO_TITLE_ID | 0x89245108 | Uma TitleId do XBOX Live deve ser configurada. |
| E_GAMEUSER_UNKNOWN_GAME_IDENTITY | 0x89245109 | A identidade do jogo não é reconhecida. O MSAAppId e o TitleId não correspondem aos associados ao jogo. |
| E_GAMEUSER_INVALID_APP_CONFIGURATION | 0x89245112 | O MSAAppId na configuração do jogo é inválido ou não está configurado para a pilha de autenticação. |
| E_GAMEUSER_MALFORMED_MSAAPPID | 0x89245113 | O MSAAppId na configuração do jogo não corresponde ao formato esperado (cadeia de caracteres de 16 caracteres ou GUID). |
| E_GAMEUSER_INCONSISTENT_MSAAPPID_AND_TITLEID | 0x89245114 | O MSAAppId e o TitleId na configuração do jogo não correspondem aos associados ao jogo. |
| E_GAMEPACKAGE_NO_STORE_ID | 0x89245202 | O atributo StoreId deve ser definido na configuração do jogo do aplicativo. |
| E_GAMEPACKAGE_DLC_NOT_SUPPORTED | 0x89245206 | O jogo não dá suporte ao pacote DLC. Verifique se a compatibilidade de DLC está correta na configuração do jogo. |
| E_GAMEPACKAGE_DUPLICATE_ID_VALUES | 0x89245207 | O pacote contém mais de um executável mapeado para o mesmo atributo ‘ID’. Verifique se há atributos ‘ID’ duplicados nos elementos ‘Executable’. |
| E_GAMEPACKAGE_CONFIG_NO_ROOT_NODE | 0x89245209 | Não foi possível encontrar um nó raiz <Game> no arquivo MicrosoftGame.config. Verifique se o arquivo está formatado corretamente. |
| E_GAMEPACKAGE_CONFIG_ZERO_VERSION | 0x8924520A | O atributo ‘Version’ no nó ‘Identity’ do MicrosoftGame.config não pode ser 0.0.0.0. Incremente ou remova este atributo. Se nenhuma versão for especificada, o padrão será 1.0.0.0. |
| E_GAMEPACKAGE_CONFIG_NO_MSAAPPID_NOTITLEID | 0x8924520B | O elemento ‘MSAAppId’ ou ‘TitleId’ está ausente no MicrosoftGame.config. Ambos devem ser especificados ao usar configVersion >= 1. |
| E_GAMEPACKAGE_CONFIG_DEPRECATED_PC_ENTRIES | 0x8924520C | As entradas de DesktopRegistration “modFolder”, “enableWritesToPackageRoot”, “disableRegistryWriteVirtualization” e “disableFilesystemWriteVirtualization” foram preteridas em configVersion >= 1. |
| E_GAMEPACKAGE_CONFIG_SUM_REQUIRES_MSAAPPID | 0x8924520D | Os elementos ‘MSAAppId’ e ‘TitleId’ são obrigatórios ao usar o Modelo de Usuário Simplificado (elemento AdvancedUserModel) e configVersion >= 1. |
| E_GAMEPACKAGE_CONFIG_NO_CODE_CLOUD_SAVES_REQUIRES_MSAAPPID | 0x8924520E | Os elementos ‘MSAAppId’ e ‘TitleId’ são obrigatórios ao usar Salvamentos na Nuvem sem Código (elemento NoCodePCRoot) e configVersion >= 1. |
| E_GAMEPACKAGE_CONFIG_MSAAPPID_OR_TITLEID_IS_DEFAULT | 0x8924520F | O elemento ‘MSAAppId’ ou ‘TitleId’ tem um valor padrão. Se NoCodePCRoot ou AdvancedUserModel for especificado, tanto TitleId quanto MSAAppId devem ser IDs válidas do Partner Center ao usar configVersion >= 1. |
Arquivo MicrosoftGame.config de exemplo
O MicrosoftGame.config a seguir é uma configuração de exemplo que mostra como os elementos são usados para XBOX Series X|S (com comentários sobre as diferenças para XBOX One). Para obter um exemplo de MicrosoftGame.config para PC, consulte Introdução ao empacotamento para 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>
Esquema XSD do MicrosoftGame.config
O esquema mais recente do arquivo MicrosoftGame.config está na pasta <raiz de instalação>/bin da instalação do Microsoft Game Development Kit (GDK), como GameConfigSchema.xsd. Confira o seguinte exemplo do 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>
Referência de elementos anteriores
- PrimaryServiceConfig era um elemento usado no AppxManifest.xml do ERA do XBOX One para definir chamadas de SCID. Agora isso é definido no código e configurado no DevCenter.
- VisualElements era um elemento usado no AppxManifest.xml do ERA do XBOX One para definir os logotipos da Store e outros aspectos visuais do título. Agora isso é definido em ShellVisuals.
- GpuAvailability era um elemento usado no AppxManifest.xml do ERA do XBOX One para definir a disponibilidade de GPU. Agora isso é feito automaticamente, pois todos os títulos do Microsoft Game Development Kit (GDK) recebem automaticamente configurações variáveis (o máximo de GPU possível).
- ConnectedStorageQuota era um elemento usado no AppxManifest.xml do ERA do XBOX One para definir o tamanho do armazenamento conectado. Agora isso é determinado por uma configuração do lado do servidor.
- LicenseOverrides era um elemento usado no debug_licensing_overrides.xml do ERA do XBOX One para definir substituições de ContentID, ProductID e EKBID. Agora isso é gerenciado diretamente no MicrosoftGame.config com os elementos ContentIDOverride, StoreId e EKBIDOverride.
- Os elementos NetworkManifest eram definidos em uma versão anterior do MicrosoftGame.config. Agora isso é feito por meio das APIs de Rede existentes, com exceção dos elementos DebugNetworkPortList.
- XboxOneTitleMemoryMaxMB e XboxOneXTitleMemoryMaxMB eram elementos usados em uma versão anterior do MicrosoftGame.config. O XboxOneTitleMemoryMaxMB não é mais configurável, e os elementos do XBOX One X e do XBOX Series S|X para configuração de memória do título agora são XboxOneXTitleMemory, XboxLockhartTitleMemory e XboxAnacondaTitleMemory.
- packageWriteRedirectionCompatibilityShim era anteriormente um valor de ExtendedAttribute para habilitar essa funcionalidade antes do GDK de maio de 2020. A partir do GDK de maio de 2020, isso passou a ser controlado como um elemento próprio, EnableWritesToPackageRoot.
Configuração de funcionalidades restritas
No Microsoft Game Development Kit (GDK), as funcionalidades restritas são configuradas por meio de elementos do MicrosoftGame.config. Um mapeamento das funcionalidades comumente usadas é o seguinte.- A funcionalidade runFullTrust é configurada para ser habilitada por padrão.
- A funcionalidade customInstallActions é configurada pelo elemento CustomInstallActions.
MicrosoftGame.config como parte da criação de pacotes DLC
Para obter mais informações sobre como gerar um MicrosoftGame.config para um pacote DLC, consulte Pacotes de conteúdo baixável (DLC). Retornar ao início deste artigo.Confira também
Referência de elementos do MicrosoftGame.configMicrosoftGame.Config
Visão geral do MicrosoftGame.Config
Localização do MicrosoftGame.Config
Visão geral do empacotamento
PC Bootstrapper
