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 /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 要求 MicrosoftGame.config 中的所有可執行檔使用相同的 TargetDeviceFamily 規格,才能為您的遊戲正確產生套件。如果您的 ExecutableList 元素中存在兩個以上的 TargetDeviceFamily 屬性,嘗試執行 MakePkg.exe 時將會收到下列錯誤。 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 遊戲。
