Exportation pour la plateforme Windows universelle (UWP)

Voir aussi

Cette page explique comment exporter un projet Godot vers UWP. Si vous cherchez à exporter les binaires des modèles depuis le code source, voyez plutôt Compilation pour l'Universal Windows Platform.

Il n'y a pas d'exigence supplémentaire pour exporter un paquet .appx qui peut être installé en tant qu'application Windows ou soumis au magasin Windows. L'exportation de paquets UWP fonctionne également à partir de n'importe quelle plateforme, pas seulement à partir de Windows.

Cependant, si vous voulez installer et exécuter l'application, vous devez la signer avec une signature de confiance. Godot supporte la signature de paquets, avec des outils externes.

Assurez-vous également que le nom de l'éditeur que vous avez défini lors de l'exportation du paquet correspond au nom utilisé sur le certificat.

Limitations sur Xbox One

Comme décrit dans la documentation d'UWP :

  • Soumis en tant qu'"Application"
    • la mémoire disponible est de 1 Go

    • partage de 2-4 cœurs CPU

    • accès partagé à la puissance du GPU (45%)

  • Soumis en tant que "Jeu" (par l'intermédiaire du Xbox Live Creators Program)
    • la mémoire disponible est de 5 Go

    • 4 cœurs CPU exclusifs et 2 cœurs CPU partagés

    • accès exclusif à la puissance du GPU (100%)

  • Le dépassement de ces limites de mémoire entraînera des échecs d'allocation et l'application plantera.

Création d'un certificat de signature

Cela nécessite les outils MakeCert.exe et Pvk2Pfx.exe, qui sont fournis avec le SDK de Windows. Si vous utilisez Visual Studio, vous pouvez ouvrir l'une de ses invites de développement, puisqu'elle est livrée avec ces outils et qu'ils peuvent être situés dans le chemin d'accès.

Vous pouvez obtenir des instructions plus détaillées à partir de Microsoft's documentation.

Premièrement, lancez MakeCert pour créer une clé privée :

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 correspond au nom de l'éditeur (entreprise ou individu) de votre paquet et où expirationDate est dans le format mm/jj/aaaa.

Ensuite, créez un fichier d'échange de renseignements personnels (.pfx) en utilisant Pvk2Pfx.exe :

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

Si vous ne spécifiez pas de mot de passe avec l'argument /po, le PFX aura le même mot de passe que la clé privée.

Vous devrez également faire confiance à ce certificat afin de pouvoir installer votre application. Ouvrez l'invite de commandes en tant qu'administrateur et exécutez la commande suivante :

Certutil -addStore TrustedPeople MyKey.cer

Mettre en place la signature automatique

Pour configurer la signature automatique à l'exportation, vous devez aller dans les Editor Settings > Export > Uwp. De là, vous devez cliquer sur le dossier Signtool, et naviguer jusqu'au fichier SignTool.exe sur votre ordinateur.

../../_images/UWP_sign_tool.png

Après avoir configuré cela, fermez les paramètres de l'éditeur, allez à Project > Export, et sélectionnez le préréglage UWP. Sous les options Signing, cliquez sur le dossier à côté de Certificate et allez au fichier de certificat. Ensuite, entrez le pfxPassword dans le champ du mot de passe.

../../_images/UWP_export_signing.png

Votre projet sera désormais automatiquement signé à l'exportation.

Si vous voulez signer une application exportée manuellement, lancez SignTool.exe et utilisez la commande suivante.

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

Installation du paquetage

A partir de la mise à jour anniversaire de Windows 10, vous pouvez installer des paquets simplement en double-cliquant sur le fichier .appx à partir de l'Explorateur Windows.

Il est également possible de l'installer en utilisant la commande raccourcie PowerShell Add-AppxPackage.

Note

Si vous voulez mettre à jour une de vos applications déjà installées, vous devez mettre à jour son numéro de version sur le nouveau paquetage ou désinstaller préalablement le paquetage précédent.