MicrosoftGame.config 其他参考
摘要
本主题介绍 MicrosoftGame.config 文件的其他详细信息/参考材料。 包括以下几部分。
部分 | 说明 |
---|---|
元素详细信息 | 提供 MicrosoftGame.config 元素的名称、用途和说明的列表。 |
示例 MicrosoftGame.config 文件 | 提供 Xbox 和电脑的示例 MicorosftGame.config。 |
MicrosoftGame.config 的 XSD 架构 | 提供用于验证 MicrosoftGame.config 的 XSD 架构的详细信息。 |
上一个元素的参考 | 提供已更改的注释元素列表,包括对 ERA 更改的参考。 |
MicrosoftGame.config 和 DLC 创建 | 提供有关为 DLC 产品创建 MicrosoftGame.config 的详细信息。 |
另请参阅 | 提供与 MicrosoftGame.config 相关的其他文档的链接。 |
游戏 configVersion 详细信息
自 2022 年 3 月 Microsoft 游戏开发工具包 (GDK) 起,使用 Microsoft 游戏开发工具包 (GDK) 工具生成的新 MicrosoftGame.config 文件的游戏 configVersion 已从 0 更新为 1。 自 2023 年 10 月 GDK 起,所有游戏都必须使用 configVersion=“1”。 提交验证程序将报告使用 configVersion=“0”的 2023 年 10 月 GDK 提交的任何游戏失败。
游戏 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">
游戏 configVersion 允许值为 0 和 1。 这些新要求不会影响升级到 2022 年 3 月 Microsoft 游戏开发工具包 (GDK) 的现有游戏,因为其游戏 configVersion 将保持设置为 0。
元素详细信息
本节详细介绍 MicrosoftGame.config 中可定义元素的元素名称、用途、父节点和附加说明(如果需要)。
节点名称 | 必需 | 用途 | 父级 | 说明 |
---|---|---|---|---|
游戏 | 必需 | 包含其他所有内容的单一父节点 | ||
Identity | 必需 | 定义游戏的名称、发布者和版本 | 游戏 | 游戏信息可在合作伙伴中心的“产品管理”->“产品标识”下找到;请参阅在合作伙伴中心为托管合作伙伴设置游戏。 在注册过程中用于唯一标识游戏。 名称和发布者是必需的字段。 如未指定,版本将默认为 1.0.0.0。 后续控制台版本的附加包必须在现有程序包版本之外增加程序包主版本。 |
ShellVisuals | 对于包装版本是必需的 | 定义游戏的 Shell 外观。 例如,图像和名称。 | 游戏 | 在注册过程中用于提供游戏在 Shell 中的外观。 |
Resources | 可选 | 用于对 Shell 视觉对象进行本地化的语言区域设置对的列表。 | 游戏 | 可以从现有 AppxManifest 复制和粘贴,因为格式得以保留。 有关详细信息,请参阅包装。 |
Resource | 可选 | “资源”列表中语言区域设置的单个条目。 | 资源 | |
ExecutableList | 必需 | 游戏可执行文件的列表。 | 游戏 | 至少需要一个条目来成功注册或包装游戏。 “IsDevOnly”属性允许您确保此条目不会包含在提交签名程序包中。 “显示名称和徽标的替代项”允许 Shell 中存在此 exe 的唯一值(在上面的“ShellVisuals”节点中指定的资源将作为每个 exe 的默认值,除非在此另行覆盖)。 |
Executable | 必需 | 指定特定可执行文件的详细信息。 | ExecutableList | 此部分属性包括可执行文件的名称 (Name),所生成文件要用于的设备 (TargetDeviceFamily),文件的应用程序 ID (Id),是否是仅开发可执行文件 (IsDevOnly),是否应覆盖来自 ShellVisuals 节点的显示名称 (OverrideDisplayName),是否应覆盖来自 ShellVisuals 节点的徽标 (OverrideLogo),是否应覆盖来自 ShellVisuals 节点的 Square480x480Logo (OverrideSquare480x480Logo),是否应覆盖来自 ShellVisuals 节点的 Square44x44Logo,是否应覆盖来自 ShellVisuals 节点的 SplashScreenImage,以及可执行文件是否具有别名 (目前仅限桌面))。 |
AdvancedUserModel | 可选 | 指定游戏是否应使用高级用户模型。 | 游戏 | 这意味着该游戏支持活动用户更改,而无需重启。 如果已禁用,则使用简单用户模型,可保证游戏将始终保留启动该游戏的活动用户。 有关详细信息,请参阅 GDK 用户模型(NDA 主题)要求授权。 |
Protocol | 可选 | 一个可用于启动游戏或将游戏引入前台(如果游戏已在运行)的自定义协议。 | ProtocolList | 指定自定义协议的名称以及可执行文件的路径(可选)。 有关详细信息,请参阅 协议激活。 |
ProtocolList | 可选 | 指定一个可用于启动游戏或将游戏引入前台(如果游戏已在运行)的自定义协议集合。 | 游戏 | 必须至少提供一个协议。 有关详细信息,请参阅 协议激活。 |
GameOsVersion | 可选(仅限主机) | 指定此游戏要求在其上运行的 Microsoft 游戏开发工具包 (GDK) GameOS 的版本。 | 游戏 | 将使用当前运行的或默认 GameOS(若未指定)。 |
WindowsOsVersion | 可选(仅限电脑) | 指定此游戏运行所需的 Windows(tm) 的最低和建议版本。 | 游戏 | 允许的值为四部分版本号(即 10.0.19045.3570),选项为 RequiredMinimum=“#.#.#.#.#”,SuggestedMinimum=“#.#.#.#.#” Recommended=“#.#.#.#.#” 此建议的最小元素默认为 10.0.19045.3570 |
MediaCapture | 可选(仅限主机) | 指定此游戏运行时希望系统“媒体捕获”应用具有的行为。 | 游戏 | 媒体捕获要求配置游戏标识,以便正常运作。 |
GameDVRSystemComponent | 可选(仅限主机) | 指定是否启用游戏 DVR 系统组件。 | MediaCapture | |
BlockBroadcast | 可选(仅限主机) | 指定应阻止还是允许广播游戏。 | MediaCapture | |
BlockGameDVR | 可选(仅限主机) | 指定应阻止还是允许对游戏进行游戏 DVR 录制。 | MediaCapture | |
StoreId | 可选 | 指定此游戏的应用商店标识。 | 游戏 | 在合作伙伴中心的“产品管理”->“产品标识”下指定。 |
AllowedProducts | 可选 | 指定此可下载内容包 (DLC) 游戏所属的关联游戏的 StoreId。 | 游戏 | 有关详细信息,请参阅可下载内容包 (DLC)。 |
AllowedProduct | 可选 | 指定此可下载内容包 (DLC) 游戏所属的关联游戏的 StoreId。 | AllowedProducts | |
RelatedProducts | 可选 | 指定此 DLC 游戏关联的产品的 StoreId。 | 游戏 | 有关详细信息,请参阅可下载内容包 (DLC)。 |
RelatedProduct | 可选 | 此 DLC 游戏关联的产品的 StoreId 的特定条目。 | RelatedProducts | |
TargetDeviceFamilyForDLC | 可选(仅限 DLC) | 指定为其生成 DLC 包的目标平台。 允许的值为 XboxOne、Scarlett 和 PC | 游戏 | |
PersistentLocalStorage | 可选(仅限主机) | 指定游戏永久性本地存储的所需大小。 | 游戏 | 永久性本地存储要求配置游戏标识,以便正常运作。 |
SizeMB | 可选(仅限主机) | 指定永久性本地存储的最小大小(以 MB 为单位)。 | PersistentLocalStorage | 永久性本地存储要求配置游戏标识,以便正常运作。 |
GrowableToMB | 可选(仅限主机) | 指定永久性本地存储可随时间增长的最大大小 (MB)。 | PersistentLocalStorage | 永久性本地存储要求配置游戏标识,以便正常运作。 |
VirtualMachine | 可选(仅限主机) | 指定特定 Xbox One 硬件上的游戏内存分配。 | 游戏 | |
XboxOneXTitleMemory | 可选(仅限主机) | 指定 Xbox One X 主机的游戏内存设置。 | 虚拟机 | 允许的“标准”或“高级”值。 |
XboxLockhartTitleMemory | 可选(仅限主机) | 指定 Xbox Series S 主机的游戏内存设置。 | 虚拟机 | 允许的“标准”或“高级”值。 |
XboxAnacondaTitleMemory | 可选(仅限主机) | 指定 Xbox Series X 主机的游戏内存设置。 | 虚拟机 | 允许的“标准”或“高级”值。 |
SMTEnabled | 可选(仅限主机) | 指定是否启用 SMT。 | 虚拟机 | |
RequiresEraShim | 可选(仅限主机) | 指定是否需要 Xbox One ERA 填充码。 | 虚拟机 | |
XboxCompatibility | 可选(仅限主机) | 指定与游戏兼容的最大主机代系。 | 虚拟机 | 开发人员会将其与在 Xbox Series X|S 上向后兼容的 Xbox One 游戏一起使用。 它的主要用途是访问增强的功能,比如额外的内存。 允许的值有“XboxOne”(其行为类似于正常向后兼容的游戏)和“Scarlett”(允许向后兼容的游戏访问增强的功能)。 |
DlcCompatibility | 可选(仅限主机) | 指定与游戏兼容的最小 DLC 主机代系。 | 虚拟机 | 开发人员可以将其与在 Xbox Series X|S 主机上运行的 Xbox One 游戏一起使用,但希望加载为 Xbox One 构建的 DLC 包。 这使 DLC 可以存在于任何存储中,而不仅仅是快速存储中。 |
MSAFullTrust | 可选(仅限电脑桌面) | 指定游戏是否声明为“MSA 完全信任”。 | 游戏 | 除非您的客户经理另有说明,否则不应使用此元素。 |
MSAAppId | 必需 | 指定游戏 MSA 应用 ID,它与 Xbox Live 游戏 ID(如下)配合使用,用作 Xbox Live 服务的标识。 | 游戏 | 自 2022 年 3 月 Microsoft 游戏开发工具包 (GDK) 起,如果指定了 TitleId 元素,则必须存在 MSAAppId 元素。 |
TitleId | 可选 | 指定游戏 Xbox Live 游戏 ID,用作 Xbox Live 服务的标识。 | 游戏 | 自 2022 年 3 月 Microsoft 游戏开发工具包 (GDK) 起,如果指定了 MSAAppId 元素,则必须存在 TitleId 元素。 |
RequiresXboxLive | 可选 | 指定游戏是否需要使用 Xbox Live 连接才能运行。 | 游戏 | |
ExtendedAttributeList | 可选 | 回退现有元素以外的其他属性。 | 游戏 | 除非您的客户经理另有说明,否则不应使用此元素。 |
ExtendedAttribute | 可选 | 扩展属性列表中的特定回退指定。 | 游戏 | 除非您的客户经理另有说明,否则不应使用此元素。 |
DesktopRegistration | 可选(仅限电脑桌面) | 指定在电脑桌面平台上注册游戏时使用的属性。 | 游戏 | |
ProcessorArchitecture | 可选(仅限电脑桌面) | 指定与您的游戏可执行文件匹配的处理器体系结构。 | DesktopRegistration | 此元素的属性示例如 x64 和 x86。 |
MainPackageDependency | 可选(仅限电脑桌面 DLC) | 指定 DLC 所属的基本包的标识。 | DesktopRegistration | |
DependencyList | 可选(仅限电脑桌面) | 确定在安装游戏包之前需要安装哪些框架包。 | DesktopRegistration | 有关子元素用法的详细信息,请单击此处。 |
KnownDependency | 可选(仅限电脑桌面) | 用于指定其中一个常用框架包的快捷方式。 | DependencyList | 名称的属性规范是必需的,并且 MinVersion 是自动设置的。 有关可能的快捷方式的列表,请参阅以下架构中的 ST_KnownDependency 部分。 |
依赖关系 | 可选(仅限电脑桌面) | 需要先于游戏安装的特定框架包和版本。 | DependencyList | 必须设置名称和 MinVersion 的属性规范。 |
CustomInstallActions | 可选(仅限电脑桌面) | 指定游戏首次运行时具有管理权限的自定义安装程序操作。 | DesktopRegistration | 您指定的任何可执行文件都必须位于游戏基本文件夹中的“Installers”文件夹下。 不要在 Installers 文件夹中放入任何其他文件。 |
文件夹 | 可选(仅限电脑桌面) | 指定 Installers 的文件夹位置。 | CustomInstallActions | |
InstallActionList | 可选(仅限电脑桌面) | 指定安装操作的列表,包括可执行文件、名称和参数。 | CustomInstallActions | |
InstallAction | 可选(仅限电脑桌面) | 在安装操作列表中指定安装操作。 | InstallActionList | 最多 100 个条目。 |
RepairActionList | 可选(仅限电脑桌面) | 指定维修操作列表。 | CustomInstallActions | |
RepairAction | 可选(仅限电脑桌面) | 在维修操作列表中指定维修操作。 | RepairActionList | 最多 100 个条目。 |
UninstallActionList | 可选(仅限电脑桌面) | 指定卸载操作列表。 | CustomInstallActions | |
UninstallAction | 可选(仅限电脑桌面) | 在卸载操作列表中指定卸载操作。 | UninstallActionList | 最多 100 个条目。 |
ModFolder | 可选(仅限电脑桌面) | 定义游戏文件的最终用户修改的位置。 | DesktopRegistration | 自 2022 年 3 月 Microsoft 游戏开发工具包 (GDK) 起,此元素已弃用。 |
DisableRegistryWriteVirtualization | 可选(仅限电脑桌面) | 如果您的游戏必须进行操作系统范围的注册表写入,则设置为 true。 | DesktopRegistration | 自 2022 年 3 月 Microsoft 游戏开发工具包 (GDK) 起,此元素已弃用。 |
DisableFilesystemWriteVirtualization | 可选(仅限电脑桌面) | 如果您的游戏必须进行操作系统范围的文件写入,则设置为 true。 | DesktopRegistration | 自 2022 年 3 月 Microsoft 游戏开发工具包 (GDK) 起,此元素已弃用。 |
EnableWritesToPackageRoot | 可选(仅限电脑桌面) | 如果游戏需要写入包安装位置,则设置为 true。 | DesktopRegistration | 自 2022 年 3 月 Microsoft 游戏开发工具包 (GDK) 起,此元素已弃用。 |
MultiplayerProtocol | 可选(仅限电脑桌面) | 允许通过“ms-xbl-multiplayer”协议在游戏内激活协议。 | DesktopRegistration | 主要用于让 Game Bar 能够启动游戏/多人游戏邀请。 |
FileTypeAssociation | 可选(仅限电脑桌面) | 允许文件类型与包中的可执行文件关联。 | DesktopRegistration | 示例如游戏的地图编辑器的特定扩展。 |
DisplayName | 可选(仅限电脑桌面) | 指定“文件类型关联”的显示名称。 | FileTypeAssociation | |
Logo | 可选(仅限电脑桌面) | 指定“文件类型关联”的徽标。 | FileTypeAssociation | |
InfoTip | 可选(仅限电脑桌面) | 指定“文件类型关联”的信息提示。 | FileTypeAssociation | |
EditFlags | 可选(仅限电脑桌面) | 指定“文件类型关联”的编辑标志。 | FileTypeAssociation | |
SupportedFileTypes | 可选(仅限电脑桌面) | 指定“文件类型关联”的受支持文件类型。 | FileTypeAssociation | |
FileType | 可选(仅限电脑桌面) | 指定要用作 SupportedFileTypes 元素的一部分的文件类型扩展。 | SupportedFileTypes | |
NoCodePCRoot | 可选(仅限电脑桌面) | 指定在未为包启用代码云保存时存储游戏存档以供使用的本地文件夹。 | SaveGameStorage | |
DevelopmentOnly | 可选(仅限主机) | 仅开发属性的列表。 | 游戏 | |
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 差异的注释)。 有关电脑 MicrosoftGame.config 的示例,请参阅面向电脑的包装入门。
<?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 游戏开发工具包 (GDK) 安装的<安装根目录>/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 是 Xbox One ERA AppxManifest.xml 中用于定义 SCID 调用的元素。 这现在在代码中定义,在 DevCenter 中配置。
- VisualElements 是 Xbox One ERA AppxManifest.xml 中用于定义 Microsoft Store 徽标和游戏的其他视觉方面的元素。 这些现在在 ShellVisuals 中定义。
- GpuAvailability 是 Xbox One ERA AppxManifest.xml 中用于定义 GPU 可用性的元素。 现在,这会自动完成,因为所有 Microsoft 游戏开发工具包 (GDK) 游戏都会自动获取变量设置 (尽可能多的 GPU)。
- ConnectedStorageQuota 是 Xbox One ERA AppxManifest.xml 中用于定义连接存储大小的元素。 这现在由服务器端设置确定。
- LicenseOverrides 是 Xbox One ERA debug_licensing_overrides.xml 中用于定义 ContentID、ProductID 和 EKBID 的替代的元素。 现在,这在 MicrosoftGame.config 中直接通过 ContentIDOverride、StoreId 和 EKBIDOverride 元素进行管理。
- NetworkManifest 元素在以前版本的 MicrosoftGame.config 中定义。现在,除了 DebugNetworkPortList 元素外,这些都通过现有的网络 API 完成。
- XboxOneTitleMemoryMaxMB 和 XboxOneXTitleMemoryMaxMB 是在以前版本的 MicrosoftGame.config 中使用的元素。XboxOneTitleMemoryMaxMB 不再可配置,并且适用于游戏内存配置的 Xbox One X 和 Xbox Series S|X 元素现在是 XboxOneXTitleMemory、XboxLockhartTitleMemory 和 XboxAnacondaTitleMemory。
- packageWriteRedirectionCompatibilityShim 以前是一个 ExtendedAttribute 值,用于在 2020 年 5 月 GDK 之前启用此功能。 从 2020 年 5月 GDK 开始,它现在作为自己的元素 EnableWriteStopackageRoot 进行跟踪。
受限功能配置
在 Microsoft 游戏开发工具包 (GDK) 中,受限功能通过 MicrosoftGame.config 元素进行配置。 常用功能的映射如下所示。
- runFullTrust 功能配置为在默认情况下启用。
- customInstallActions 功能由 CustomInstallActions 元素配置。
受限制的功能需要向您的客户经理发送电子邮件以确保这些权限已启用(除了正确更新 MicrosoftGame.config 外,这是必需的)。 有关这些功能以及如何将 MicrosoftGame.config 配置为在电脑游戏中使用它们的详细信息,请参阅电脑包装游戏入门。
在 DLC 包创建期间生成 MicrosoftGame.config
若要详细了解如何为 DLC 包生成 MicrosoftGame.config,请参阅可下载内容 (DLC) 包。
另请参阅
MicrosoftGame.config 元素参考
MicrosoftGame.Config
MicrosoftGame.Config 概述
MicrosoftGame.Config 本地化
包装概述
电脑引导程序