MicrosoftGame.config の追加リファレンス
概要
ここでは、MicrosoftGame.config ファイルの追加の詳細/リファレンス情報について説明します。 このトピックには次のセクションが含まれます。
セクション | 説明 |
---|---|
要素の詳細 | MicrosoftGame.config の要素の名前、目的、および注意事項の一覧を示します。 |
サンプル MicrosoftGame.config ファイル | Xbox と PC 用の MicorosftGame.config の例を示します。 |
MicrosoftGame.config の XSD スキーマ | MicrosoftGame.config の検証に使用される XSD スキーマについて詳しく説明します。 |
以前の要素のリファレンス | ERA からの変更点への参照など、変更された要素の注意事項の一覧を示します。 |
MicrosoftGame.config and DLC creation | DLC 製品に MicrosoftGame.config を作成するその他の情報を指定します。 |
関連項目 | MicrosoftGame.config に関連するその他のドキュメントへのリンクを示します。 |
Game configVersion の詳細
2022 年 3 月 の Microsoft Game Development Kit (GDK) では、Game configVersion が 0 から 1 に更新され、Microsoft Game Development Kit (GDK) ツールを使用して生成された新しい MicrosoftGame.config ファイルを使用できるようになっています。 2023 年 10 月の GDK の時点で、すべてのタイトルで configVersion="1" を使用する必要があります。 申請バリデーターは、configVersion="0" で 2023 年 10 月の GDK を使用して送信するすべてのタイトルに対して FAILURE を報告します。
Game configVersion 0 と 1 間の変更は次のとおりです。
- MicrosoftGame.config で MSAAppId 要素と TitleId 要素のいずれかが指定されている場合は必須です (つまり、TitleId が指定されている場合は、MSAAppId も指定する必要があります)。
- NoCodePCRoot 要素が指定されている場合、または AdvancedUserModel 要素の値が false に設定されている場合は、MSAAppId 要素と TitleId 要素が必須です。
- ModFolder、EnableWritesToPackageRoot、DisableFilesystemWriteVirtualization、DisableRegistryWriteVirtualization 要素は、configVersion 1 で非推奨になっています。
スキーマで定義されている要件は、MicrosoftGame.config の次の値で定義されているタイトルに対して実行されます。
<Game configVersion="1">
Game configVersion では、0 と 1 の値を使用できます。 これらの新しい要件は、Game configVersion が 0 に設定されたままになっているので、2022 年 3 月の Microsoft Game Development Kit (GDK) にアップグレードする既存のタイトルには影響しません。
要素の詳細
このセクションでは、要素名 (必要な場合)、MicrosoftGame.config 内で定義可能な要素の目的、親ノード、追加注意事項などについて詳しく説明します。
ノード名 | 必須かどうか | 目的 | 親 | 注意事項 |
---|---|---|---|---|
ゲーム | 必須 | 他のすべてのコンテンツを含む 1 つの親ノード | ||
Identity | 必須 | タイトルの名前、発行元およびバージョンを定義します | Game | タイトル情報は、パートナー センターの [製品管理] - > [製品 ID] で確認できます。 管理対象パートナー向けのパートナー センターでのゲームの設定を参照してください。 タイトルを一意に識別するために登録時に使用されます。 Name と Publisher は必須フィールドです。 バージョンを指定しない場合は既定で 1.0.0.0 になります。 以降のコンソール世代の追加パッケージでは、既存のパッケージ バージョンよりもパッケージ メジャー バージョンを増やす必要があります。 |
ShellVisuals | パッケージ化されたビルドに必須 | タイトルのシェル プレゼンスを定義します。 たとえば、イメージや名前です。 | Game | シェルでタイトルをサーフェイス指定するために登録時に使用されます。 |
Resources | 省略可能 | シェル ビジュアルのローカライズに使用される言語ロケール ペアを一覧表示します。 | Game | 既存の AppxManifest から、形式を維持してコピーし、貼り付けることができます。 詳細については、「パッケージ化」を参照してください。 |
Resource | 省略可能 | リソースの一覧の言語ロケールの個々のエントリ。 | Resources | |
ExecutableList | 必須 | タイトル実行可能ファイルの一覧。 | Game | タイトルを正常に登録またはパッケージ化するには、少なくとも 1 つのエントリが必要です。 "IsDevOnly" 属性を使用すると、このエントリが提出の署名済みパッケージに含まれていないことを確認できます。 表示名とロゴのオーバーライドでは、シェルでこの exe に対して一意の値が許可されます (ここでオーバーライドされない限り、上記の "ShellVisuals" ノードで指定したリソースが各 exe の既定値になります)。 |
Executable | 必須 | 特定の実行可能ファイルの詳細を指定します。 | ExecutableList | このセクションの属性には、実行可能ファイルの名前 (Name)、ビルド対象のデバイス (TargetDeviceFamily)、アプリケーション ID (Id)、開発専用の実行可能ファイルかどうか (IsDevOnly)、ShellVisuals ノードからの表示名をオーバーライドするかどうか (OverrideDisplayName)、ShellVisuals ノードからのロゴをオーバーライドするかどうか (OverrideLogo)、ShellVisuals ノードからの Square480x480Logo をオーバーライドするかどうか (OverrideSquare480x480Logo)、ShellVisuals ノードからの Square44x44Logo をオーバーライドするかどうか (OverrideSquare44x44Logo)、ShellVisuals ノードからの SplashScreenImage をオーバーライドするかどうか (OverrideSplashScreenImage)、および実行可能ファイルにエイリアスがあるかどうか (Alias (現時点ではデスクトップのみ)) が含まれます。 |
AdvancedUserModel | 省略可能 | タイトルに高度なユーザー モデルを使用するかどうかを指定します。 | ゲーム | これは、タイトルが再起動を必要とせずにアクティブ ユーザーの変更をサポートしていることを意味します。 無効にすると、タイトルが起動時に使用されたアクティブ ユーザーを常に維持することが保証される単純なユーザー モデルが使用されます。 詳細については、「GDK ユーザー モデル (NDA トピック)認可が必須です」を参照してください。 |
Protocol | 省略可能 | ゲームを起動したり、既に実行されている場合はゲームをフォアグラウンドにするために使用できるカスタム プロトコル。 | ProtocolList | カスタム プロトコルの名前と、オプションで実行可能ファイルへのパスの両方を指定します。 詳細については、「プロトコルのアクティブ化」を参照してください。 |
ProtocolList | 省略可能 | ゲームを起動したり、既に起動しているゲームを前面に出したりするために使用できる、カスタム プロトコルのコレクションを指定します。 | Game | 少なくとも 1 つのプロトコルを指定する必要があります。 詳細については、「プロトコルのアクティブ化」を参照してください。 |
GameOsVersion | 省略可能 (本体のみ) | このタイトルを実行するために必要な Microsoft Game Development Kit (GDK) のバージョンを指定します。 | Game | 指定しない場合は、現在実行中の GameOS または既定の GameOS が使用されます。 |
WindowsOsVersion | 省略可能 (PC のみ) | このタイトルを実行するために必要な Windows(tm) の最小バージョンと推奨バージョンを指定します。 | ゲーム | 使用できる値は 4 つのパーツバージョン番号 (つまり、10.0.19045.3570) であり、オプションは RequiredMinimum="#.#.#", SuggestedMinimum="#.#.#" Recommended="#.#.#.#" この推奨される最小要素の既定値は 10.0.19045.35700 です。 |
MediaCapture | 省略可能 (本体のみ) | このタイトルの実行中にシステムのメディア キャプチャ アプリに必要な動作を指定します。 | Game | メディア キャプチャを正常に動作させるには、タイトル ID を構成する必要があります。 |
GameDVRSystemComponent | 省略可能 (コンソールのみ) | ゲーム録画システム コンポーネントを有効にするかどうかを指定します。 | MediaCapture | |
BlockBroadcast | 省略可能 (コンソールのみ) | タイトルの配信をブロックするか許可するかを指定します。 | MediaCapture | |
BlockGameDVR | 省略可能 (コンソールのみ) | タイトルのゲーム録画をブロックするか許可するかを指定します。 | MediaCapture | |
StoreId | 省略可能 | このタイトルのストア ID を指定します。 | Game | [製品管理] の [パートナー センター] -> [製品 ID] を指定します。 |
AllowedProducts | 省略可能 | このダウンロード コンテンツ パッケージ (DLC) タイトルが所属する、関連付けられたタイトル (複数指定も可) の StoreId を指定します。 | Game | 詳細については、「ダウンロード コンテンツ パッケージ (DLC)」を参照してください。 |
AllowedProduct | 省略可能 | このダウンロード コンテンツ パッケージ (DLC) タイトルが所属する、関連付けられたタイトルの StoreId を指定します。 | AllowedProducts | |
RelatedProducts | 省略可能 | この DLC タイトルが関連する製品の StoreId を指定します。 | Game | 詳細については、「ダウンロード コンテンツ パッケージ (DLC)」を参照してください。 |
RelatedProduct | 省略可能 | この DLC タイトルが関連する製品の StoreId の特定のエントリ。 | RelatedProducts | |
TargetDeviceFamilyForDLC | 省略可能 (DLC のみ) | DLC パッケージの対象プラットフォームを構築するよう指定します。 指定できる値は XboxOne、Scarlett、PC | Game | |
PersistentLocalStorage | 省略可能 (本体のみ) | タイトルの永続ローカル ストレージの希望サイズを指定します。 | ゲーム | 永続ローカル ストレージを正常に動作させるには、タイトル ID を構成する必要があります。 |
SizeMB | 省略可能 (コンソールのみ) | 永続ローカル ストレージの最小サイズ (MB) を指定します。 | PersistentLocalStorage | 永続ローカル ストレージを正常に動作させるには、タイトル ID を構成する必要があります。 |
GrowableToMB | 省略可能 (コンソールのみ) | 永続ローカル ストレージが時間と共に拡張する可能性がある最大サイズを MB 単位で指定します。 | PersistentLocalStorage | 永続ローカル ストレージを正常に動作させるには、タイトル ID を構成する必要があります。 |
VirtualMachine | 省略可能 (コンソールのみ) | 特定の Xbox One ハードウェアでのタイトルのメモリ割り当てを指定します。 | Game | |
XboxOneXTitleMemory | 省略可能 (コンソールのみ) | Xbox One X コンソールのタイトルのメモリ設定を指定します。 | 仮想マシン | 指定できる値は "Standard" または "Advanced" です。 |
XboxLockhartTitleMemory | 省略可能 (本体のみ) | Xbox Series S コンソールのタイトルのメモリ設定を指定します。 | 仮想マシン | 指定できる値は "Standard" または "Advanced" です。 |
XboxAnacondaTitleMemory | 省略可能 (コンソールのみ) | Xbox Series X コンソールのタイトルのメモリ設定を指定します。 | 仮想マシン | 指定できる値は "Standard" または "Advanced" です。 |
SMTEnabled | 省略可能 (コンソールのみ) | SMT を有効にするかどうかを指定します。 | 仮想マシン | |
RequiresEraShim | 省略可能 (本体のみ) | Xbox One ERA Shim が必要かどうかを指定します。 | 仮想マシン | |
XboxCompatibility | 省略可能 (本体のみ) | ゲームが互換性を備える最大の本体世代を指定します。 | 仮想マシン | これは、Xbox Series X|S で下位互換性で動作している Xbox One タイトルで開発者が使用します。 主な用途は、追加メモリなどの拡張機能にアクセスすることです。 許容値は、通常の下位互換タイトルのように動作する "XboxOne" と、下位互換タイトルに拡張機能へのアクセスを許可する "Scarlett" です。 |
DlcCompatibility | 省略可能 (コンソールのみ) | ゲームが互換性を備える DLC の最小の本体世代を指定します。 | 仮想マシン | 開発者は、Xbox Series X|S 本体で実行されている Xbox One タイトルでこれを使用しますが、Xbox One 用にビルドされた DLC パッケージを読み込みたいと考えています。 これにより、DLC は、高速ストレージだけでなく、任意のストレージに存在できるようになります。 |
MSAFullTrust | 省略可能 (PC デスクトップのみ) | タイトルを "MSA 完全信頼" として宣言するかどうかを指定します。 | Game | アカウント マネージャーによる指示がない限り使用しないでください。 |
MSAAppId | 必須 | タイトルの MSA アプリ ID を指定します。これは、Xbox Live サービスの ID として Xbox Live タイトル ID (下記) と共に使用されます。 | Game | March 2022 Microsoft Game Development Kit (GDK) の時点で、TitleId 要素が指定されている場合、MSAAppId 要素が存在する必要があります。 |
TitleId | 省略可能 | タイトルの Xbox Live タイトル ID を指定します。これは Xbox Live サービスの ID として使用されます。 | Game | March 2022 Microsoft Game Development Kit (GDK) の時点で、MSAAppId 要素が指定されている場合、TitleId 要素が存在する必要があります。 |
RequiresXboxLive | 省略可能 | タイトルを実行するために Xbox Live 接続が必要かどうかを指定します。 | ゲーム | |
ExtendedAttributeList | 省略可能 | 既存の要素の外部にある追加属性の代替属性。 | Game | アカウント マネージャーによる指示がない限り使用しないでください。 |
ExtendedAttribute | 省略可能 | 拡張属性一覧内の特定の代替属性の指定。 | Game | アカウント マネージャーによる指示がない限り使用しないでください。 |
DesktopRegistration | 省略可能 (PC デスクトップのみ) | PC デスクトップ プラットフォームにタイトルを登録する際に使用する属性を指定します。 | Game | |
ProcessorArchitecture | 省略可能 (PC デスクトップのみ) | ゲームの実行可能ファイルに一致するプロセッサ アーキテクチャを指定します。 | DesktopRegistration | この要素の属性の例は x64 と x86 です。 |
MainPackageDependency | 省略可能 (PC デスクトップ DLC のみ) | DLC が所属する基本パッケージの ID を指定します。 | DesktopRegistration | |
DependencyList | 省略可能 (PC デスクトップのみ) | タイトル パッケージをインストールする前にインストールする必要のあるフレームワーク パッケージを決定します。 | DesktopRegistration | 子要素の使用方法の詳細については、ここをクリックしてください。 |
KnownDependency | 省略可能 (PC デスクトップのみ) | よく使用されるいずれかのフレームワーク パッケージを指定するためのショートカット。 | DependencyList | 名前の属性指定が必要であり、MinVersion は自動的に設定されます。 使用可能なショートカットの一覧については、次のスキーマの ST_KnownDependency セクションを参照してください。 |
Dependency | 省略可能 (PC デスクトップのみ) | タイトルの前にインストールする必要のある特定のフレームワーク パッケージとバージョン。 | DependencyList | 名前と MinVersion の属性の指定を設定する必要があります。 |
CustomInstallActions | 省略可能 (PC デスクトップのみ) | ゲームを初めて実行するときに管理特権を使用するカスタム インストーラーの操作を指定します。 | DesktopRegistration | 指定する実行可能ファイルは、ゲームのベース フォルダーの "Installers" フォルダーの下に配置する必要があります。 Installers フォルダーには他のファイルを含めないでください。 |
Folder | 省略可能 (PC デスクトップのみ) | Installers フォルダーの場所を指定します。 | CustomInstallActions | |
InstallActionList | 省略可能 (PC デスクトップのみ) | インストール操作 (実行可能ファイル、名前、引数を含む) の一覧を指定します。 | CustomInstallActions | |
InstallAction | 省略可能 (PC デスクトップのみ) | インストール操作の一覧内のインストール操作を指定します。 | InstallActionList | 最大 100 個のエントリ。 |
RepairActionList | 省略可能 (PC デスクトップのみ) | 修復操作の一覧を指定します。 | CustomInstallActions | |
RepairAction | 省略可能 (PC デスクトップのみ) | 修復操作の一覧内の修復操作を指定します。 | RepairActionList | 最大 100 個のエントリ。 |
UninstallActionList | 省略可能 (PC デスクトップのみ) | アンインストール操作の一覧を指定します。 | CustomInstallActions | |
UninstallAction | 省略可能 (PC デスクトップのみ) | アンインストール操作の一覧内のアンインストール操作を指定します。 | UninstallActionList | 最大 100 個のエントリ。 |
ModFolder | 省略可能 (PC デスクトップのみ) | ゲーム ファイルのエンド ユーザー MOD の場所を定義します。 | DesktopRegistration | この要素は、2022 年 3 月 時点の Microsoft Game Development Kit (GDK) で非推奨になりました。 |
DisableRegistryWriteVirtualization | 省略可能 (PC デスクトップのみ) | ゲームがオペレーティング システム全体のレジストリへの書き込みを行う必要がある場合は、true に設定します。 | DesktopRegistration | この要素は、2022 年 3 月 時点の Microsoft Game Development Kit (GDK) で非推奨になりました。 |
DisableFilesystemWriteVirtualization | 省略可能 (PC デスクトップのみ) | ゲームがオペレーティング システム全体のファイルへの書き込みを行う必要がある場合は、true に設定します。 | DesktopRegistration | この要素は、2022 年 3 月 時点の Microsoft Game Development Kit (GDK) で非推奨になりました。 |
EnableWritesToPackageRoot | 省略可能 (PC デスクトップのみ) | ユーザーがパッケージのインストール場所に書き込む必要がある場合は、True に設定します。 | DesktopRegistration | この要素は、2022 年 3 月 時点の Microsoft Game Development Kit (GDK) で非推奨になりました。 |
MultiplayerProtocol | 省略可能 (PC デスクトップのみ) | "ms-xbl-multiplayer" プロトコルを使用して、タイトル内のプロトコルのアクティブ化を可能にします。 | DesktopRegistration | ゲームの起動やマルチプレイヤー ゲームへの招待を Game Bar で行えるようにするために主に使用されます。 |
FileTypeAssociation | 省略可能 (PC デスクトップのみ) | ファイルの種類をパッケージ内の実行可能ファイルに関連付けることができます。 | DesktopRegistration | 例としては、タイトルのマップ エディターの特定の拡張機能があります。 |
DisplayName | 省略可能 (PC デスクトップのみ) | ファイルの種類の関連付けの表示名を指定します。 | FileTypeAssociation | |
Logo | 省略可能 (PC デスクトップのみ) | ファイルの種類の関連付けのロゴを指定します。 | FileTypeAssociation | |
InfoTip | 省略可能 (PC デスクトップのみ) | ファイルの種類の関連付けのヒントを指定します。 | FileTypeAssociation | |
EditFlags | 省略可能 (PC デスクトップのみ) | ファイルの種類の関連付けの編集フラグを指定します。 | FileTypeAssociation | |
SupportedFileTypes | 省略可能 (PC デスクトップのみ) | ファイルの種類の関連付けでサポートされるファイルの種類を指定します。 | FileTypeAssociation | |
FileType | 省略可能 (PC デスクトップのみ) | SupportedFileTypes 要素の一部として使用されるファイルの種類の拡張子を指定します。 | SupportedFileTypes | |
NoCodePCRoot | 省略可能 (PC デスクトップのみ) | パッケージでコード クラウド セーブが有効でない場合に使用する、セーブ ゲームを保存するローカル フォルダーを指定します。 | SaveGameStorage | |
DevelopmentOnly | 省略可能 (本体のみ) | 開発専用のプロパティの一覧。 | Game | |
ContentIdOverride | 省略可能 (本体のみ) | ゲームの ContentID に対する開発専用のオーバーライド。 | DevelopmentOnly | パッケージがインストールされている状態で xbapp list /d /nosystem コマンドを使用して、タイトルの ContentID を取得します。 |
EKBIDOverride | 省略可能 (本体のみ) | ゲームの EKBID (評価版の ID) に対する開発専用のオーバーライド。 | DevelopmentOnly | パッケージがインストールされている状態で xbapp list /d コマンドを使用して、タイトルの EKBID を取得します。 |
DebugNetworkPortList | 省略可能 (コンソールのみ) | 開発キットで開発用に開く追加ポートの一覧。 | DevelopmentOnly | |
DebugNetworkPort | 省略可能 (本体のみ) | 開発キットで開発用に開く追加ポート。 | DebugNetworkPortList |
サンプル MicrosoftGame.config ファイル
次の MicrosoftGame.config は、Xbox Series X|S での要素の使用方法 (および Xbox One との違いに関するコメント) を示す構成の一例です。 PC 用の MicrosoftGame.config の例については、「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>
MicrosoftGame.config の XSD スキーマ
MicrosoftGame.config ファイルの最新のスキーマは、GameConfigSchema.xsd として Microsoft Game Development Kit (GDK) インストールの <install root>/bin フォルダーにあります。
次の 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_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: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>
以前の要素のリファレンス
- PrimaryServiceConfig は、SCID の呼び出しを定義するために Xbox One ERA AppxManifest.xml で使用された要素でした。 現在これはコードで定義され、デベロッパー センターで構成されるようになりました。
- VisualElements は、タイトルの Microsoft Store ロゴとその他の視覚的な側面を定義するために Xbox One ERA AppxManifest.xml で使用された要素でした。 現在これは ShellVisuals で定義されるようになりました。
- GpuAvailability は、GPU の可用性を定義するために Xbox One ERA AppxManifest.xml で使用された要素でした。 これは、すべての Microsoft Game Development Kit (GDK) タイトルが自動的に可変設定 (可能な限り GPU) を取得するように自動的に行われるようになりました。
- ConnectedStorageQuota は、接続ストレージのサイズを定義するために Xbox One ERA AppxManifest.xml で使用された要素でした。 現在これは、サーバー側の設定によって決定されるようになりました。
- LicenseOverrides は、ContentID、ProductID、EKBID のオーバーライドを定義するために Xbox One ERA debug_licensing_overrides.xml で使用された要素でした。 現在これは、ContentIDOverride、StoreId、EKBIDOverride の各要素を使用して MicrosoftGame.config で直接管理されるようになりました。
- NetworkManifest 要素は、以前のバージョンの MicrosoftGame.config で定義されていました。現在これらは、既存のネットワーク API を通じて定義されるようになりました (DebugNetworkPortList 要素を除く)。
- XboxOneTitleMemoryMaxMB & XboxOneXTitleMemoryMaxMB は、以前のバージョンの MicrosoftGame.config で使用されていた要素でした。XboxOneTitleMemoryMaxMB は構成できなくなり、Xbox One X と Xbox Series S|タイトル メモリ構成の X 要素が XboxOneXTitleMemory、XboxLockhartTitleMemory、XboxAnacondaTitleMemory になりました。
- 2020年5月 GDK より前は、packageWriteRedirectionCompatibilityShim は ExtendedAttribute 値であり、この機能が有効にされました。 2020年5月 GDK の時点では、独自の要素 EnableWritesToPackageRoot として追跡されています。
制限付き機能の構成
Microsoft Game Development Kit (GDK) では、制限付き機能は MicrosoftGame.config 要素を通じて構成されます。 一般的に使用される機能のマッピングは次のとおりです。
- runFullTrust 機能は、既定で有効になるように構成されています。
- customInstallActions 機能は、CustomInstallActions 要素によって構成されます。
制限付き機能は、アカウント マネージャーにメールを送信して、アクセス許可が有効になっていることを確認する必要があります (これは、MicrosoftGame.config を適切に更新することに加えて必要です)。 これらの機能の詳細と、PC ゲームで使用するように MicrosoftGame.config を構成する方法については、「PC 用のタイトルのパッケージ化を開始する」を参照してください。
DLC パッケージの作成の一環としての MicrosoftGame.config
DLC パッケージ用に MicrosoftGame.config を生成する方法の詳細については、「Downloadable content (DLC) packages (ダウンロード可能なコンテンツ (DLC) パッケージ)」を参照してください。
関連項目
MicrosoftGame.config Element Reference
MicrosoftGame.Config
MicrosoftGame.Config の概要
MicrosoftGame.Config のローカリゼーション
パッケージ化の概要
PC Bootstrapper