為通用 Windows 平台(UWP) 匯出

要匯出能作為 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 來安裝套件。

備註

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