MicrosoftGame.config 元素 - Executable

指定特定可执行文件的详细信息。 此部分属性包括可执行文件的名称 (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 游戏开发工具包工 具安装并启动电脑游戏

另请参阅

MicrosoftGame.config 参考 - 目录