為通用 Windows 平台(UWP) 匯出

也參考

This page describes how to export a Godot project to UWP. If you're looking to compile export template binaries from source instead, read 為通用 Windows 平台進行編譯.

要匯出能作為 Windows 應用程式安裝或送到 Windows 市集上的 .appx 套件沒有額外的需求。匯出的 UWP 套件也可以在任何平台上使用,不僅限於 Windows。

但,若要安裝或執行應用程式,則必須使用信任的簽章來簽署套件。Godot 支援以外部工具來自動簽署套件。

另外,也請確保匯出套件時的 Publisher Name (發行者名稱) 與憑證中使用的名稱相同。

Xbox One 的限制

UWP 文件 中說明的一樣:

  • 作為「App」提交
    • 可用記憶體為 1GB

    • 共用 2 至 4 個 CPU 核心

    • 共享 GPU 能力的存取 (45%)

  • 作為「遊戲」提交 (通過 Xbox Live 創作者計劃 )
    • 可用記憶體為 5GB

    • 4 個專屬 CPU 核心與 2 個共用 CPU 核心

    • 獨佔存取 GPU 能力 (100%)

  • 超過記憶體限制會導致配置失敗,並造成應用程式當機。

建立簽署憑證

本步驟必須要有 Windows SDK 中附帶的 MakeCert.exePvk2Pfx.exe 工具。若使用 Visual Studio,則可以打開其中一個「開發人員命令提示字元」,因為提示字元有附帶這些工具,且放在提示字元的路徑中。

詳細的步驟可以參考 Microsoft 的文件 (英文)

首先,請執行 MakeCert 以建立私鑰:

MakeCert /n publisherName /r /h 0 /eku "1.3.6.1.5.5.7.3.3,1.3.6.1.4.1.311.10.3.13" /e expirationDate /sv MyKey.pvk MyKey.cer

其中 publisherName 必須與套件中的 Publisher Name (發佈者名稱) 相同,而 expirationDatemm/dd/yyyy 格式。

接著,通過 Pvk2Pfx.exe 來建立個人資訊交換檔 (.pfs):

Pvk2Pfx /pvk MyKey.pvk /pi pvkPassword /spc MyKey.cer /pfx MyKey.pfx [/po pfxPassword]

若未以 /po 引數來指定密碼,則 PFX 會使用與與私鑰相同的密碼。

此外,也必須信任該憑證才可安裝應用程式。以管理員身份執行 [命令提示字元],並執行下列指令:

Certutil -addStore TrustedPeople MyKey.cer

設定自動簽署

要設定匯出時自動簽署,請前往 [編輯器設定] > [Export] > [Uwp]。在此處請點擊 Signtool 的資料夾,並選擇電腦中的 SignTool.exe 檔案。

../../_images/UWP_sign_tool.png

設定完成後請關閉編輯器設定,並前往 [專案] > [匯出],接著選擇 UWP 預設設定。在 Signine 選項下,點擊 Certificate 旁的資料夾,並選擇憑證檔。接著在密碼欄位中輸入 pfsPassword。

../../_images/UWP_export_signing.png

接著專案應該會在匯出時自動簽署了。

若想手動以 SignTool.exe 簽署匯出的應用程式,請執行下列指令。

SignTool sign /fd SHA256 /a /f MyKey.pfx /p pfxPassword package.appx

安裝套件

自 Windows 10 年度更新版起,只需要在 Windows 檔案總管點兩下 .appx 檔案即可安裝套件。

另外,也可以使用 Add-AppxPackage PowerShell cmdlet 來安裝套件。

備註

若想更新已安裝的應用程式,則必須在新套件上更新版本編號或先解除安裝之前的套件。