Skip to main content

MicrosoftGame.config Element - Executable

指定特定可执行文件的详细信息。此部分属性包括可执行文件的名称 (Name)、其所构建的目标设备 (TargetDeviceFamily)、应用程序 ID (Id)、是否为仅限开发的可执行文件 (IsDevOnly)、是否覆盖 ShellVisuals 节点中的显示名称 (OverrideDisplayName)、是否覆盖 ShellVisuals 节点中的 Logo (OverrideLogo)、是否覆盖 ShellVisuals 节点中的 Square480x480Logo (OverrideSquare480x480Logo)、是否覆盖 ShellVisuals 节点中的 Square44x44Logo (OverrideSquare44x44Logo)、是否覆盖 ShellVisuals 节点中的 SplashScreenImage (OverrideSplashScreenImage),以及可执行文件是否具有别名(当前仅限桌面)。

父元素

此元素的父元素是 ExecutableList 元素。

要求

此元素必须设置。

平台

此元素适用于 PC 和主机。

行为

  • 属性为:
    • Name
    • TargetDeviceFamily
    • Architecture
    • Id
    • IsDevOnly
    • OverrideDisplayName
    • OverrideLogo
    • OverrideSquare480x480Logo
    • OverrideSquare44x44Logo
    • OverrideSplashScreenImage
    • Alias
  • 默认值为:
    • Name 属性没有默认值。
    • TargetDeviceFamily 属性的默认值为你正在运行标题的设备。
    • Architecture 的默认值为 x64。
    • Id 属性有一个基于 Name 属性的默认值。如果 Name 属性无法生成有效的 Id,则将使用 Game0 作为回退值。
    • IsDevOnly 属性的默认值为 false。
    • OverrideDisplayName 属性的默认值为 ShellVisuals 中相应属性的值。
    • OverrideLogo 属性的默认值为 ShellVisuals 中相应属性的值。
    • OverrideSquare480x480Logo 属性的默认值为 ShellVisuals 中相应属性的值。
    • OverrideSquare44x44Logo 属性的默认值为 ShellVisuals 中相应属性的值。
    • OverrideSplashScreenImage 属性的默认值为 ShellVisuals 中相应属性的值。
    • Alias 没有默认值。
  • 允许值:
    • Name 允许值为相对于游戏根目录的可执行文件路径。
    • TargetDeviceFamily 允许值为 XboxOne、Scarlett、PC。
    • Architecture 允许值为 x64 和 ARM64。
    • Id 允许值为最多 64 个字符的 ASCII 字符串。
    • IsDevOnly 允许值为 true 或 false。
    • OverrideDisplayName 允许值为最多 256 个字符的字符串。
    • OverrideLogo 允许值为指向 .png 文件的相对文件路径。
    • OverrideSquare480x480Logo 允许值为指向 .png 文件的相对文件路径。
    • OverrideSquare44x44Logo 允许值为指向 .png 文件的相对文件路径。
    • OverrideSplashScreenImage 允许值为指向 .png 文件的相对文件路径。
    • Alias 允许值为可执行文件名(与 Name 相同,但不能包含路径)。

备注

  • Name 属性为必填项。
  • 打包时需要 TargetDeviceFamily 属性。
  • 在包含 Architecture = ARM64 的可执行文件时,还必须包含 Architecture = x64 的可执行文件。如果不包含 x64 二进制文件,包将无法生成并显示错误 0x89245212 E_GAMEPACKAGE_CONFIG_x64_EXECUTABLE_REQUIRED。

Executable 与 TargetDeviceFamily

Executable 元素旨在为你的标题可执行文件设置属性。此元素不适用于 DLC 包配置。 在开发过程中,ExecutableList 元素中可以定义任意数量的 Executable 元素以用于松散文件部署。在最终包提交之前进行打包时,支持多个 Executable 元素,任意数量带有 IsDevOnly 属性的可执行文件元素都将包含在包中。 但是,在最终包提交进行母版化和认证时,任何带有 IsDevOnly 属性的可执行文件都必须手动从 MicrosoftGame.config 文件和包内容中删除。在 2024 年 3 月 GDK 之前,isDevOnly 可执行文件会在加密包生成过程中自动被剥离(使用 MakePkg.exe pack /lk/l 签名)。如果发现 isDevOnly 可执行文件,Submission Validator 将继续发出 FAILURE。 在 ExecutableList 元素中指定 Executable 元素时,可以提供一个名为 TargetDeviceFamily 的属性。这旨在指定可执行文件所构建的目标设备。TargetDeviceFamily 属性的允许值为 XBOX One、Scarlett 和 PC 在运行 MakePkg pack 用于 XBOX 主机时,如果没有 Executable 定义了 TargetDeviceFamily 属性,打包将默认使用 XboxOne TargetDeviceFamily。在向 MakePkg pack 指定 /pc 标志时,如果没有 Executable 定义了 TargetDeviceFamily 属性,打包将默认使用 PC TargetDeviceFamily。MakePkg.exe 要求 MicrosoftGame.config 中的所有可执行文件使用相同的 TargetDeviceFamily 规范,才能正确生成你标题的包。当尝试运行 MakePkg.exe 且 ExecutableList 元素中存在两个或多个 TargetDeviceFamily 属性时,你将收到以下错误。       Error: All executables must have the same value for TargetDeviceFamily in the MicrosoftGame.config file when building a package. (found XboxOne and Scarlett)

ExecutionAlias

Executable 元素的 Alias 属性可用于利用 ExecutionAlias 功能,通过其别名从命令提示符启动你的 PC 标题并具有标题标识。 Alias 属性应设置为可执行文件名,以确保在使用别名时标题被正确注册且标识正确。如果在可执行文件的当前目录中使用别名,Windows 将直接指向可执行文件而非别名,因此在此场景中注册和正确标识的好处将无法生效。如果可执行文件的当前目录位于本地 PC 的 %PATH% 环境变量中,也会指向可执行文件而非别名。 在命令提示符中运行可执行文件别名时,你可以通过 <ExecutionAlias> [launch args] 用法提供标题参数。 有关在 PC 上启动标题的更多信息,请参阅利用 Microsoft Game Development Kit 工具安装和启动你的 PC 标题

另请参阅

MicrosoftGame.config 参考 - 目录
最后修改于 2026年8月24日