Partager via


Empaquetage d’un exécutable d'interface en ligne de commande (CLI) en tant que MSIX

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 Package Manager (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é :

mkdir MyCliPackage
cd MyCliPackage
# Copy your CLI executable and dependencies here

2. Installer winapp CLI

winget install microsoft.winappcli --source winget

3. Générer la appxmanifest.xml

winapp manifest generate --executable .\yourcli.exe

Cela crée un appxmanifest.xml fichier avec des valeurs par défaut remplies à partir de votre exécutable.

4. Configurer le manifeste

Modifiez l’alias d’exécution généré appxmanifest.xml , masquez l’application dans le menu Démarrer et mettez à jour les détails de l’application.

4.1 Ajouter un espace de noms requis

Ajoutez l'espace de noms uap5 à l'élément Package :

<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 Masquer depuis le menu Démarrer

Dans l’élément <uap:VisualElements> , ajoutez AppListEntry="none":

<uap:VisualElements
    DisplayName="YourApp"
    Description="My Application"
    BackgroundColor="transparent"
    Square150x150Logo="Assets\Square150x150Logo.png"
    Square44x44Logo="Assets\Square44x44Logo.png"
    AppListEntry="none">
</uap:VisualElements>

4.3 Ajouter un alias d’exécution

Ajoutez l’extension dans l’élément <Application> :

<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.

4.4 Mettre à jour les métadonnées de l’application

Mettez à jour les sections Identity, Properties et VisualElements pour qu'elles correspondent à votre application CLI.

5. Générer un certificat de développement (facultatif)

Pour les tests locaux et la distribution en dehors du Microsoft Store :

cd ~
winapp cert generate
winapp cert install

Important

Conservez votre certificat de développement en dehors du dossier contenant votre exécutable CLI pour éviter de l’inclure accidentellement dans le package.

6. Empaqueter votre interface CLI

winapp pack .\MyCliPackage --cert path\to\devcert.pfx

Cela crée un .msix fichier dans le répertoire actif.

Conseil / Astuce

  • Le Microsoft Store signe MSIX pour vous, il n’est pas nécessaire de vous connecter avant la soumission.
  • Vous pouvez avoir besoin de packages MSIX distincts pour chaque architecture prise en charge (x64, Arm64).