指定特定可执行文件的详细信息。 此部分属性包括可执行文件的名称 (Name) ,它是为 (TargetDeviceFamily) 生成的设备, 它是应用程序 ID (Id) ,如果是 IsDevOnly) (仅限开发的可执行文件,如果应重写 ShellVisuals 节点的显示名称 (OverrideDisplayName) ,如果应重写来自 ShellVisuals 节点的徽标 (OverrideLogo) , 如果应重写来自 ShellVisuals 节点的 Square480x480Logo (OverrideSquare480x480Logo) , 如果应重写来自 ShellVisuals 节点的 Square44x44Logo (OverrideSquare44x44Logo) ,如果应重写来自 ShellVisuals 的 SplashScreenImage 节点 (OverrideSplashScreenImage) ,并且可执行文件具有别名 (当前仅桌面) 。
父级
此元素的父元素是 ExecutableList 元素。
要求
需要设置此元素。
平台
此元素涉及到电脑和主机。
行为
- 特性为:
- 名称
- TargetDeviceFamily
- 体系结构
- Id
- IsDevOnly
- OverrideDisplayName
- OverrideLogo
- OverrideSquare480x480Logo
- OverrideSquare44x44Logo
- OverrideSplashScreenImage
- 别名
- 默认值为:
- “名称”属性没有默认值。
- TargetDeviceFamily 属性默认值是你正在运行游戏的任何设备。
- 体系结构默认值为 x64
- Id 属性具有基于“Name”属性的默认值。 如果“Name”属性无法生成有效的 Id,则将使用 Game0 的回退。
- IsDevOnly 属性的默认值为 False。
- OverrideDisplayName 属性在 ShellVisuals 中具有其对应属性的默认值。
- OverrideLogo 属性在 ShellVisuals 中具有其对应属性的默认值。
- OverrideSquare480x480Logo 属性在 ShellVisuals 中具有其对应属性的默认值。
- OverrideSquare44x44Logo 属性在 ShellVisuals 中具有其对应属性的默认值。
- OverrideSplashScreenImage 属性在 ShellVisuals 中具有其对应属性的默认值。
- 别名没有默认值。
- 允许的值:
- 名称允许值是来自游戏根目录的相对路径中的可执行文件。
- TargetDeviceFamily 允许的值为 XboxOne、Scarlett、PC。
- 体系结构允许的值为 x64 和 ARM64
- Id 允许值是最多 64 个字符的 ASCII 字符串。
- IsDevOnly 允许值为 True 或 False。
- OverrideDisplayName 允许值是最多 256 个字符的字符串。
- OverrideLogo 允许值是 .png 文件的相对文件路径。
- OverrideSquare480x480Logo 允许值是 .png 文件的相对文件路径。
- OverrideSquare44x44Logo 允许值是 .png 文件的相对文件路径。
- OverrideSplashScreenImage 允许的值是 .png 文件的相对文件路径。
- 别名允许值是一个可执行文件名称(与“Name”相同,但不能有路径)。
备注
- 名称属性是必需的。
- 打包需要 TargetDeviceFamily 属性。
- 当包含体系结构 = ARM64 的可执行文件时,还必须包含体系结构 = x64 的可执行文件。 如果不包含 x64 二进制文件,包将无法生成并出现错误0x89245212 E_GAMEPACKAGE_CONFIG_x64_EXECUTABLE_REQUIRED
可执行文件和 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 游戏开发工具包工 具安装并启动电脑游戏。