MicrosoftGame.config 元素 - Executable
指定特定可执行文件的详细信息。 此部分属性包括可执行文件的名称 (Name),所生成文件要用于的设备 (TargetDeviceFamily),文件的应用程序 ID (Id),是否是仅开发可执行文件 (IsDevOnly),是否应覆盖来自 ShellVisuals 节点的显示名称 (OverrideDisplayName),是否应覆盖来自 ShellVisuals 节点的徽标 (OverrideLogo),是否应覆盖来自 ShellVisuals 节点的 Square480x480Logo (OverrideSquare480x480Logo),是否应覆盖来自 ShellVisuals 节点的 Square44x44Logo,是否应覆盖来自 ShellVisuals 节点的 SplashScreenImage,以及可执行文件是否具有别名 (目前仅限桌面))。
父级
此元素的父元素是 ExecutableList 元素。
要求
需要设置此元素。
平台
此元素涉及到电脑和主机。
行为
- 特性为:
- 名称
- TargetDeviceFamily
- Id
- IsDevOnly
- OverrideDisplayName
- OverrideLogo
- OverrideSquare480x480Logo
- OverrideSquare44x44Logo
- OverrideSplashScreenImage
- 别名
- 默认值为:
- “名称”属性没有默认值。
- TargetDeviceFamily 属性默认值是你正在运行游戏的任何设备。
- Id 属性具有基于“Name”属性的默认值。 如果“Name”属性无法生成有效的 Id,则将使用 Game0 的回退。
- IsDevOnly 属性的默认值为 False。
- OverrideDisplayName 属性在 ShellVisuals 中具有其对应属性的默认值。
- OverrideLogo 属性在 ShellVisuals 中具有其对应属性的默认值。
- OverrideSquare480x480Logo 属性在 ShellVisuals 中具有其对应属性的默认值。
- OverrideSquare44x44Logo 属性在 ShellVisuals 中具有其对应属性的默认值。
- OverrideSplashScreenImage 属性在 ShellVisuals 中具有其对应属性的默认值。
- 别名没有默认值。
- 允许的值:
- 名称允许值是来自游戏根目录的相对路径中的可执行文件。
- TargetDeviceFamily 允许值为 XboxOne、Scarlett 和电脑。
- Id 允许值是最多 64 个字符的 ASCII 字符串。
- IsDevOnly 允许值为 True 或 False。
- OverrideDisplayName 允许值是最多 256 个字符的字符串。
- OverrideLogo 允许值是 .png 文件的相对文件路径。
- OverrideSquare480x480Logo 允许值是 .png 文件的相对文件路径。
- OverrideSquare44x44Logo 允许值是 .png 文件的相对文件路径。
- OverrideSplashScreenImage 允许的值是 .png 文件的相对文件路径。
- 别名允许值是一个可执行文件名称(与“Name”相同,但不能有路径)。
备注
- 名称属性是必需的。
- 打包需要 TargetDeviceFamily 属性。
可执行文件和 TargetDeviceFamily
Executable 元素用于为游戏可执行文件设置属性。 此元素不适用于 DLC 包配置。
在开发过程中,可以在松散文件部署的 ExecutableList 元素中定义任何数量的 Executable 元素。 在最终提交包之前进行打包时,多个 Executable 元素受支持,并且包中将包含任意数量的具有 IsDevOnly 属性的 Executable 元素。
但是,在最终提交用于主控和认证的包期间,必须从 MicrosoftGame.config 文件和包内容中手动删除任何具有 IsDevOnly 属性的可执行文件。 在 2024 年 3 月 GDK 之前,isDevOnly 可执行文件会在生成加密包时自动剥离(使用 MakePkg.exe 包/lk或 /l进行签名)。 如果找到 isDevOnly 可执行文件,提交验证程序将继续发出失败。
在 ExecutableList 元素中指定 Executable 元素时,可以提供名为 TargetDeviceFamily 的属性。 这是为了指定为其生成可执行文件的目标设备。 允许的 TargetDeviceFamily 属性的值为 Xbox One、Scarlett 和 PC。
如果在为 Xbox 主机运行 MakePkg 包时 Executable 均未定义 TargetDevieFamily 属性,包装将默认为 XboxOne TargetDeviceFamily。 在将 /pc 标志指定为 MakePkg 包时,如果 Executable 均未定义 TargetDeviceFamily 属性,包装将默认为 PC TargetDeviceFamily。 MakePkg.exe 要求 MicrosoftGame.config 中的所有可执行文件都使用相同的 TargetDeviceFamily 规范来为游戏正确生成包。 在尝试运行具有两个或多个 ExecutableList 元素中存在的 TargetDeviceFamily 属性的 MakePkg.exe 时,您将收到以下错误。
错误:生成包时,所有可执行文件在 MicrosoftGame.config 文件中都必须具有相同的 TargetDeviceFamily 值。 (找到 XboxOne 和 Scarlett)
ExecutionAlias
使用别名和通过游戏标识,从命令提示符中启动电脑游戏的话,你可使用可执行文件元素的“别名”属性,从 ExecutionAlias 功能中受益。
应将“别名”属性设置为可执行文件名称,以确保在使用别名时所注册的游戏和标识是正确的。 如果可执行文件的当前目录中使用了该别名,则 Windows 将直接按照可执行文件名称与别名,因此在这种情况下,注册和适当标识的优势将不起作用。 如果可执行文件的当前目录位于本地电脑上的 %PATH% 环境变量中,则它也会采用可执行文件,而不是别名。
在命令提示符下运行可执行别名时,可通过 <ExecutionAlias> [launch args]
用法提供游戏参数。
有关在电脑上启动游戏的详细信息,请参阅使用 Microsoft 游戏开发工具包工 具安装并启动电脑游戏。