Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Ce guide vous guide tout au long de l’empaquetage d’un exécutable de ligne de commande existant en tant que package MSIX pour la distribution via Windows Gestionnaire de package (winget), le Microsoft Store ou la distribution directe.
Prerequisites
- Exécutable CLI existant (
.exe) que vous souhaitez empaqueter - Windows 10 version 1809 ou ultérieure
Étapes
1. Organiser votre application CLI
Placez votre exécutable CLI et toutes les dépendances dans un dossier dédié. Ce dossier contient tous les fichiers qui doivent être inclus dans votre package MSIX.
mkdir MyCliPackage
cd MyCliPackage
# Copy your CLI executable and dependencies here
2. Installer winapp CLI
Installez l’interface CLI winapp via Windows Gestionnaire de package ou effectuez une mise à jour vers la dernière version si vous l’avez déjà :
# Install (or update if already installed)
winget install microsoft.winappcli --source winget
3. Générer le package.appxmanifest
Générez un package.appxmanifest de base et des ressources requises pour votre exécutable CLI :
winapp manifest generate --executable .\yourcli.exe
Cette commande crée un Package.appxmanifest fichier dans le répertoire actif avec des valeurs par défaut remplies à partir de votre exécutable.
4. Configurer le manifeste
Éditez le package généré Package.appxmanifest pour le personnaliser. Chaque sous-étape ci-dessous explique ce qui change et pourquoi.
4.1 Ajouter l'espace de noms requis
Ajoutez le namespace uap5 à l’élément Package s’il n’est pas déjà présent. Cela est nécessaire pour l’alias d’exécution à l’étape 4.3 :
<Package
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
...
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap5="http://schemas.microsoft.com/appx/manifest/uap/windows10/5"
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
IgnorableNamespaces="uap uap5 rescap">
4.2 Configurer l’élément Application
Dans l’élément <uap:VisualElements> , ajoutez AppListEntry="none" pour masquer l’application dans le menu Démarrer. Les outils CLI sont appelés à partir du terminal. Ils n’ont donc pas besoin d’une entrée de menu Démarrer :
<uap:VisualElements
DisplayName="YourApp"
Description="My Application"
BackgroundColor="transparent"
Square150x150Logo="Assets\Square150x150Logo.png"
Square44x44Logo="Assets\Square44x44Logo.png"
AppListEntry="none">
</uap:VisualElements>
4.3 Ajouter une extension d’alias d’exécution
Ajoutez un alias d’exécution pour que les utilisateurs puissent exécuter votre interface CLI par nom à partir de n’importe quelle fenêtre de terminal. Ajoutez-le dans l’élément <Application> (après <uap:VisualElements>) :
<Extensions>
<uap5:Extension Category="windows.appExecutionAlias">
<uap5:AppExecutionAlias>
<uap5:ExecutionAlias Alias="yourcli.exe" />
</uap5:AppExecutionAlias>
</uap5:Extension>
</Extensions>
Remplacez yourcli.exe par le nom de commande souhaité pour votre interface CLI. Une fois qu’un utilisateur installe MSIX, il pourra appeler votre interface CLI avec cette commande.
4.4 Mettre à jour les métadonnées d’application
Mettez à jour les champs suivants pour qu’ils correspondent à votre application CLI.
Important
La valeur Publisher dans votre manifeste doit correspondre à l'éditeur dans votre certificat de signature. Si vous générez un certificat ultérieurement (étape 5), il utilisera l’éditeur indiqué dans votre manifeste. Si vous modifiez l’éditeur après avoir généré un certificat, vous devez régénérer le certificat pour qu’il corresponde.
Identité : Mettre à jour
Name,PublisheretVersion<Identity Name="YourCompany.YourCLI" Publisher="CN=Your Company" Version="1.0.0.0" />Propriétés : Mettre à jour le nom d’affichage, le nom d’affichage de l’éditeur et la description
<Properties> <DisplayName>Your CLI Tool</DisplayName> <PublisherDisplayName>Your Company</PublisherDisplayName> <Description>Description of your CLI tool</Description> <Logo>Assets\StoreLogo.png</Logo> </Properties>VisualElements : Mettre à jour le nom d'affichage et les références d'actifs
<uap:VisualElements DisplayName="Your CLI Tool" Description="Description of your CLI tool" BackgroundColor="transparent" Square150x150Logo="Assets\Square150x150Logo.png" Square44x44Logo="Assets\Square44x44Logo.png"> <uap:DefaultTile Wide310x150Logo="Assets\Wide310x150Logo.png" /> <uap:SplashScreen Image="Assets\SplashScreen.png" /> </uap:VisualElements>
Remarque : vous devez également ajouter des ressources d’icône appropriées à un Assets dossier de votre répertoire de package. Bien que l’application n’apparaisse pas dans le menu Démarrer, les icônes sont toujours requises pour la soumission du Windows Store et peuvent apparaître dans d’autres contextes.
5. (Facultatif) Générer un certificat de développement
Pour les tests locaux et la distribution en dehors du Microsoft Store, vous devez signer votre package MSIX avec un certificat.
Générez un certificat de développement. Conservez-le en dehors de votre dossier CLI pour éviter de l’inclure accidentellement dans le package :
# Navigate to a location outside your CLI folder (e.g., your home directory)
cd ~
winapp cert generate
Cela crée un devcert.pfx fichier dans votre répertoire de base (par exemple, C:\Users\yourname\devcert.pfx).
Pour approuver ce certificat sur votre ordinateur de développement, installez-le (nécessite des privilèges d’administrateur) :
# Run PowerShell as Administrator
winapp cert install ~\devcert.pfx
6. Empaqueter votre interface CLI
Vous êtes maintenant prêt à créer le package MSIX :
# Navigate back outside of your project folder
# Package with dev certificate (for local testing/distribution)
winapp pack .\path\to\MyCliPackage --cert .\path\to\devcert.pfx
Cela crée un .msix fichier dans le répertoire actif.
7. Installer et vérifier
Installez le package MSIX pour vérifier que tout fonctionne :
Add-AppxPackage .\MyCliPackage.msix
Si vous avez ajouté un alias d’exécution à l’étape 4.3, vous pouvez maintenant exécuter votre interface CLI à partir de n’importe quel terminal :
yourcli --help
Pour désinstaller ultérieurement :
Get-AppxPackage *YourCLI* | Remove-AppxPackage
Conseils
- Une fois que vous êtes prêt à être distribué, vous pouvez signer votre MSIX avec un certificat de signature de code auprès d’une autorité de certification afin que vos utilisateurs n’aient pas besoin d’installer un certificat auto-signé
- Le Microsoft Store signera le MSIX pour vous, sans avoir à le signer vous-même avant la soumission.
- Vous devrez peut-être créer plusieurs packages MSIX, un pour chaque architecture prise en charge (x64, Arm64)
Prochaines étapes
- Distribute via winget : envoyez votre MSIX au dépôt Windows Gestionnaire de package Community Repository
-
Publish dans le Microsoft Store : utilisez
winapp storepour envoyer votre package -
Configurer CI/CD : utilisez l’action
setup-WinAppCliGitHub pour automatiser l’empaquetage dans votre pipeline
Windows developer