> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# MicrosoftGame.config 元素 - Executable

> MicrosoftGame.config 元素 - Executable

# MicrosoftGame.config 元素 - Executable

指定特定可執行檔的詳細資料。此區段的屬性包括可執行檔的名稱 (Name)、為哪種裝置建置 (TargetDeviceFamily)、其應用程式識別碼 (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 屬性的 Executable 元素都會包含在套件中。

不過，在為母片製作和認證進行最終套件提交時，必須從 MicrosoftGame.config 檔案和套件內容中手動移除任何具有 IsDevOnly 屬性的可執行檔。在 2024 年 3 月 GDK 之前，isDevOnly 可執行檔會在產生加密套件 (以 [MakePkg.exe pack](/zh-TW/build/core-features/common/packaging/deployment/makepkg) **/lk** 或 **/l** 簽署) 的過程中自動移除。如果發現 isDevOnly 可執行檔，提交驗證程式將繼續發出 FAILURE。

在 ExecutableList 元素中指定 Executable 元素時，您可以提供名為 TargetDeviceFamily 的屬性。此屬性旨在指定可執行檔是為哪種目標裝置建置。TargetDeviceFamily 屬性允許的值為 **XBOX One、Scarlett 和 PC**。

為 XBOX 主機執行 **MakePkg pack** 時，如果沒有任何 Executable 定義 TargetDevieFamily 屬性，封裝將預設為 XboxOne TargetDeviceFamily。為 **MakePkg pack** 指定 /pc 旗標時，如果沒有任何 Executable 定義 TargetDeviceFamily 屬性，封裝將預設為 PC TargetDeviceFamily。[MakePkg.exe](/zh-TW/build/core-features/common/packaging/deployment/makepkg) **要求 MicrosoftGame.config 中的所有可執行檔使用相同的 TargetDeviceFamily 規格**，才能為您的遊戲正確產生套件。如果您的 ExecutableList 元素中存在兩個以上的 TargetDeviceFamily 屬性，嘗試執行 [MakePkg.exe](/zh-TW/build/core-features/common/packaging/deployment/makepkg) 時將會收到下列錯誤。

      <span>Error: All executables must have the same value for TargetDeviceFamily in the MicrosoftGame.config file when building a package. (found XboxOne and Scarlett)</span>

<a id="MicrosoftGameConfig-Alias" />

#### ExecutionAlias

Executable 元素上的 Alias 屬性可用來運用 ExecutionAlias 功能，以便從命令提示字元使用別名名稱並以遊戲身分識別來啟動您的 PC 遊戲。

Alias 屬性應設定為可執行檔名稱，以確保使用別名時遊戲已註冊且身分識別正確。如果在可執行檔的目前目錄中使用別名，Windows 會直接採用可執行檔名稱而非別名，因此在此情況下，註冊和正確身分識別的好處將無法發揮作用。如果可執行檔的目前目錄位於本機 PC 的 %PATH% 環境變數中，也會採用可執行檔而非別名。

在命令提示字元中執行可執行檔別名時，您可以透過 `<ExecutionAlias> [launch args]` 用法提供遊戲引數。

如需在 PC 上啟動遊戲的詳細資訊，請參閱[使用 Microsoft Game Development Kit 工具安裝和啟動您的 PC 遊戲](/zh-TW/tools/tools-pc/launching-on-pc)。

## 另請參閱

[MicrosoftGame.config 參考 - 目錄](/zh-TW/reference/system/microsoftgameconfig/elements/gc-microsoftgameconfig-toc)


## Related topics

- [MicrosoftGame.config Element - Executable](/zh-CN/reference/system/microsoftgameconfig/elements/microsoftgameconfig-element-executable.md)
- [MicrosoftGame.config Element - ExecutableList](/zh-CN/reference/system/microsoftgameconfig/elements/microsoftgameconfig-element-executablelist.md)
- [MicrosoftGame.config 元素 - ShellVisuals](/zh-CN/reference/system/microsoftgameconfig/elements/microsoftgameconfig-element-shellvisuals.md)
- [MicrosoftGame.config Element - MultiplayerProtocol](/zh-CN/reference/system/microsoftgameconfig/elements/microsoftgameconfig-element-multiplayerprotocol.md)
- [MicrosoftGame.config Element - FileTypeAssociation](/zh-CN/reference/system/microsoftgameconfig/elements/microsoftgameconfig-element-filetypeassociation.md)
