Commandes (MSIX)

Installation

Étape 1 : Installer .NET Windows Runtime

Si vous ne l'avez pas déjà fait, installez la dernière version de l'.NET 9 Desktop Runtime. Il s’agit d’une exigence d’exécution de l’interface CLI Microsoft Store développeur.

Le moyen le plus simple de l’installer consiste à utiliser winget :

winget install Microsoft.DotNet.DesktopRuntime.9

Étape 2 : Installer l'interface en ligne de commande du développeur de Microsoft Store sur Windows

Vous pouvez télécharger l’interface CLI Microsoft Store Développeur à partir du Microsoft Store. Vous pouvez également utiliser winget :

winget install "Microsoft Store Developer CLI"

Étape 1 : Installer .NET runtime macOS

Si ce n'est déjà fait, installez la dernière version du runtime .NET 9 Runtime. Il s’agit d’une exigence d’exécution de l’interface CLI Microsoft Store développeur.

Étape 2 : Installer l’interface CLI Microsoft Store développeur sur macOS

Vous pouvez télécharger le macOS .tar.gz pour votre architecture spécifique (x64 ou Arm64) à partir de la page des versions Microsoft Store Developer CLI. Une fois le téléchargement terminé, extrayez l’archive et placez les fichiers dans le chemin d’accès de votre choix, par exemple :

mkdir MSStoreCLI
curl https://github.com/microsoft/msstore-cli/releases/latest/download/MSStoreCLI-osx-x64.tar.gz -o MSStoreCLI-osx-x64.tar.gz
tar -xvf MSStoreCLI-osx-x64.tar.gz -C ./MSStoreCLI
sudo cp -R MSStoreCLI/. /usr/local/bin

Vous pouvez également utiliser brew :

brew install microsoft/msstore-cli/msstore-cli

Étape 1 : Installer .NET Runtime Linux

Si ce n'est déjà fait, installez la dernière version du runtime .NET 9 Runtime. Il s’agit d’une exigence d’exécution de l’interface CLI Microsoft Store développeur.

Étape 2 : Installer l’interface CLI Microsoft Store développeur sur Linux

Vous pouvez télécharger le fichier .tar.gz Linux pour votre architecture spécifique (x64 ou Arm64) à partir de la page des versions de l’interface CLI développeur du Microsoft Store. Une fois le téléchargement terminé, extrayez l’archive et placez les fichiers dans le chemin d’accès de votre choix, par exemple :

mkdir MSStoreCLI
wget https://github.com/microsoft/msstore-cli/releases/latest/download/MSStoreCLI-linux-x64.tar.gz
tar -xvf MSStoreCLI-linux-x64.tar.gz -C ./MSStoreCLI
sudo cp -R MSStoreCLI/. /usr/local/bin

Vous pouvez également utiliser brew :

brew install microsoft/msstore-cli/msstore-cli

Commande Info

Imprimer la configuration existante.

Usage

msstore info

Options

Choix Descriptif
-v, --verbose Imprimez une sortie détaillée.
-?, -h, --aide Affichez les informations d’aide et d’utilisation.

Commande de Reconfiguration

Configurez à nouveau l’interface CLI Microsoft Store développeur. Vous pouvez fournir un secret client ou un certificat. Les certificats peuvent être fournis via son empreinte numérique ou en fournissant un chemin d’accès de fichier (avec ou sans mot de passe).

Usage

msstore reconfigure

Options

Choix Descriptif
-t, --tenantId Spécifiez l’ID de locataire à utiliser.
-s, --sellerId Spécifiez l’ID de vendeur à utiliser.
-c, --clientId Spécifiez l’ID client à utiliser.
-cs, --clientSecret Spécifiez le secret client qui doit être utilisé.
-ct, --certificateThumbprint Spécifiez l’empreinte numérique du certificat à utiliser.
-cfp, --certificateFilePath (chemin d'accès au fichier de certificat) Spécifiez le chemin d’accès au fichier de certificat qui doit être utilisé.
-cp, --motDePasseDuCertificat Spécifiez le mot de passe de certificat à utiliser.
--reset Réinitialisez uniquement les informations d’identification, sans recommencer.
-v, --verbose Imprimez une sortie détaillée.
-?, -h, --aide Affichez les informations d’aide et d’utilisation.

Commande de paramètres

Modifiez les paramètres de l’interface CLI Microsoft Store développeur.

Usage

msstore settings

Options

Choix Descriptif
-t, --activerTélémetrie Activez (vide/true) ou désactivez la télémétrie (false).
-v, --verbose Imprimez une sortie détaillée.
-?, -h, --aide Affichez les informations d’aide et d’utilisation.

Sous-Commande SetPDN

Définissez la propriété Nom complet de l’éditeur utilisée par la commande init.

Usage

msstore settings setpdn <publisherDisplayName>

Les arguments

Raisonnement Descriptif
publisherDisplayName La propriété Nom complet de l’éditeur qui sera définie globalement.

Options

Choix Descriptif
-?, -h, --aide Affichez les informations d’aide et d’utilisation.

Commandes d'applications

Sous-commande Descriptif
list Répertorie toutes les applications de votre compte.
Obtenir Obtient les détails d’une application spécifique.

Applications - Liste - Utilisation

msstore apps list

Options

Choix Descriptif
-v, --verbose Imprimez une sortie détaillée.
-?, -h, --aide Affichez les informations d’aide et d’utilisation.

Applications - Télécharger - Utilisation

msstore apps get <productId>

Les arguments

Raisonnement Descriptif
productId ID du produit du Store.

Options

Choix Descriptif
-v, --verbose Imprimez une sortie détaillée.
-?, -h, --aide Affichez les informations d’aide et d’utilisation.

Commande Submission

Sous-commande Descriptif
statut Obtient l’état d’une soumission.
Obtenir Obtient les métadonnées et les informations de package d’une soumission spécifique.
getListingAssets Obtient les ressources de référencement d’une soumission spécifique.
updateMetadata Met à jour les métadonnées d’une soumission spécifique.
update Met à jour le paquet d’une soumission spécifique.
sondage Interroge l’état d’une soumission.
publier Publie une soumission spécifique.
supprimer Supprime une soumission spécifique.
Déploiement Effectuez les opérations liées au déploiement progressif de paquets.

Soumission - État - Utilisation

msstore submission status <productId>

Les arguments

Raisonnement Descriptif
productId ID du produit du Store.

Options

Choix Descriptif
-v, --verbose Imprimez une sortie détaillée.
-?, -h, --aide Affichez les informations d’aide et d’utilisation.

Envoi - Récupération - Utilisation

msstore submission get <productId>

Les arguments

Raisonnement Descriptif
productId ID du produit du Store.

Options

Choix Descriptif
-v, --verbose Imprimez une sortie détaillée.
-?, -h, --aide Affichez les informations d’aide et d’utilisation.

Soumission - GetListingAssets - Utilisation

msstore submission getListingAssets <productId>

Les arguments

Raisonnement Descriptif
productId ID du produit du Store.

Options

Choix Descriptif
-v, --verbose Imprimez une sortie détaillée.
-?, -h, --aide Affichez les informations d’aide et d’utilisation.

Soumission - UpdateMetadata - Utilisation

msstore submission updateMetadata <productId> <metadata>

Remarque

Pour les applications MSIX/empaquetées, submission update et submission updateMetadata sont équivalentes : toutes deux envoient le JSON de soumission complet renvoyé par submission get, de sorte que l’une ou l’autre commande puisse mettre à jour à la fois les fiches et les packages.

Les deux diffèrent uniquement pour les applications non empaquetées (MSI/EXE), où l’ID de produit est un GUID : updateMetadata met à jour les métadonnées de référencement du Store, tandis que update les packages sont mis à jour.

Les arguments

Raisonnement Descriptif
productId ID du produit du Store.
metadata Représentation des métadonnées JSON mise à jour.

Options

Choix Descriptif
-s, --ignorerLeSondageInitial Ignorez le sondage initial avant d’exécuter l’action. [valeur par défaut : False]
-v, --verbose Imprimez une sortie détaillée.
-?, -h, --aide Affichez les informations d’aide et d’utilisation.

Soumission - Mise à jour - Utilisation

msstore submission update <productId> <package>

Les arguments

Raisonnement Descriptif
productId ID du produit du Store.
package Représentation JSON mise à jour du package d’application.

Options

Choix Descriptif
-s, --ignorerLeSondageInitial Ignorez le sondage initial avant d’exécuter l’action. [valeur par défaut : False]
-v, --verbose Imprimez une sortie détaillée.
-?, -h, --aide Affichez les informations d’aide et d’utilisation.

Conseil / Astuce

Permet submission get de récupérer le json du package actuel avant d’appeler submission update. Cela garantit que vous travaillez avec la structure et les valeurs actuelles correctes. Par exemple, dans PowerShell :

# Step 1: Retrieve the current submission package JSON
msstore submission get <productId> | Out-File -Encoding utf8 package.json

# Step 2: Edit package.json to reflect your changes

# Step 3: Pass the updated JSON to submission update
$updatedPackage = Get-Content -Raw package.json
msstore submission update <productId> $updatedPackage

Pour plus de contexte, consultez Publiez les mises à jour d'applications sur le Microsoft Store avec GitHub Actions.

Remarque

submission update remplace l’intégralité de la soumission. Le code JSON doit inclure Pricing.PriceId défini sur une valeur valide telle qu’un Tier<number>, Free ou NotAvailable; sinon, l’interface CLI rejette la mise à jour. Pour plus de détails, consultez les applications payantes et les tarifs.

Soumission - Sondage - Utilisation

msstore submission poll <productId>

Les arguments

Raisonnement Descriptif
productId ID du produit du Store.

Options

Choix Descriptif
-v, --verbose Imprimez une sortie détaillée.
-?, -h, --aide Affichez les informations d’aide et d’utilisation.

Soumission - Publier - Utilisation

msstore submission publish <productId>

Les arguments

Raisonnement Descriptif
productId ID du produit du Store.

Options

Choix Descriptif
-v, --verbose Imprimez une sortie détaillée.
-?, -h, --aide Affichez les informations d’aide et d’utilisation.

Soumission - Supprimer - Utilisation

msstore submission delete <productId>

Les arguments

Raisonnement Descriptif
productId ID du produit du Store.

Options

Choix Descriptif
--no-confirm Ne pas demander de confirmation. [valeur par défaut : False]
-v, --verbose Imprimez une sortie détaillée.
-?, -h, --aide Affichez les informations d’aide et d’utilisation.

Soumission - Commande de déploiement

Utilisez ces sous-commandes pour gérer un déploiement progressif de package pour une soumission sans version d’évaluation. Pour gérer un déploiement ciblant une version d’évaluation de package, utilisez msstore flights submission rollout à la place.

Ces commandes sont uniquement prises en charge pour les applications MSIX/empaquetées. Si l’ID de soumission est omis, l’interface CLI utilise la soumission en attente de l’application, en revenant à la dernière version publiée. | Sub-Command | Description | | -------------------------------------------------------- | -------------------------------------------------- | | get | Récupère l’état de déploiement d’une soumission. | | update | Met à jour le pourcentage de déploiement d’une soumission. | | halt | Arrête le lancement d’une soumission. | | finalize | Finalise le déploiement d’une soumission. |

Remarque

Un déploiement doit être activé pour la soumission avant que ces commandes ne puissent s’appliquer à celle-ci. Activez-le au moment de la publication avec msstore publish --packageRolloutPercentage, ou en définissant packageDeliveryOptions.packageRollout dans le JSON passé à submission update.

Soumission - Utilisation de la commande Get pour le déploiement

msstore submission rollout get <productId>

Soumission - Arguments de la commande Get pour le déploiement

Raisonnement Descriptif
productId ID du produit du Store.

Soumission - Options de la commande Get pour le déploiement

Choix Descriptif
-s, --submissionId ID de soumission.
-v, --verbose Imprimez une sortie détaillée.
-?, -h, --aide Affichez les informations d’aide et d’utilisation.

Soumission - Aide sur la commande Get pour le déploiement

msstore submission rollout get --help

Soumission - Utilisation de la commande Update pour le déploiement

msstore submission rollout update <productId> <percentage>

Soumission - Arguments de commande Update pour le déploiement

Raisonnement Descriptif
productId ID du produit du Store.
percentage Pourcentage d’utilisateurs qui recevront le déploiement de la soumission (0 à 100).

Soumission - Options de commande Update pour le déploiement

Choix Descriptif
-s, --submissionId ID de soumission.
-v, --verbose Imprimez une sortie détaillée.
-?, -h, --aide Affichez les informations d’aide et d’utilisation.

Soumission - Aide de la commande Update pour le déploiement

msstore submission rollout update --help

Soumission - Utilisation de la commande Halt pour le déploiement

msstore submission rollout halt <productId>

Soumission - Arguments de la commande Halt pour le déploiement

Raisonnement Descriptif
productId ID du produit du Store.

Envoi - Options de la commande d’arrêt du déploiement

Choix Descriptif
-s, --submissionId ID de soumission.
-v, --verbose Imprimez une sortie détaillée.
-?, -h, --aide Affichez les informations d’aide et d’utilisation.

Soumission - Aide de la commande Halt pour le déploiement

msstore submission rollout halt --help

Soumission - Utilisation de la commande Finalize pour le déploiement

msstore submission rollout finalize <productId>

Soumission - Arguments de la commande Finalize pour le déploiement

Raisonnement Descriptif
productId ID du produit du Store.

Soumission - Options de la commande Finalize pour le déploiement

Choix Descriptif
-s, --submissionId ID de soumission.
-v, --verbose Imprimez une sortie détaillée.
-?, -h, --aide Affichez les informations d’aide et d’utilisation.

Soumission - Aide de la commande Finalize pour le déploiement

msstore submission rollout finalize --help

Exemple : publier une mise à jour et la déployer progressivement

L’exemple PowerShell suivant charge un package, met à jour les notes de publication, démarre le déploiement à 5%, puis augmente et le finalise.

$productId = '<productId>'

# 1. Upload the package but leave the submission in draft.
#    'publish' recreates the draft, so it has to run before any metadata edits.
msstore publish 'C:\path\to\app' --noCommit

# 2. Update the metadata and enable the rollout in a single call.
$submission = msstore submission get $productId | ConvertFrom-Json
$submission.Listings.'en-us'.BaseListing.ReleaseNotes = 'Bug fixes and improvements'
$submission.PackageDeliveryOptions.PackageRollout.IsPackageRollout = $true
$submission.PackageDeliveryOptions.PackageRollout.PackageRolloutPercentage = 5
msstore submission update $productId ($submission | ConvertTo-Json -Depth 100 -Compress)

# 3. Commit the submission and wait for it to publish.
msstore submission publish $productId
msstore submission poll $productId

# 4. Increase the rollout over time, without uploading the package again.
msstore submission rollout update $productId 20

# 5. Roll out to all customers (or use 'halt' to stop the rollout).
msstore submission rollout finalize $productId

Important

Si l’application a déjà une soumission publiée, msstore publish supprime le brouillon en attente et en crée une nouvelle à partir de la dernière soumission publiée, en supprimant les modifications de métadonnées déjà intermédiaires dans ce brouillon. Exécutez publishavant de mettre à jour les métadonnées, et non après.

Commandes de vols

Sous-commande Descriptif
list Récupère tous les vols pour l’application spécifiée.
Obtenir Récupère un vol pour l'application et le vol spécifiés.
supprimer Supprime une version d’évaluation pour l’application et la version d’évaluation spécifiées.
create Crée un vol pour l'application et le vol spécifiés.
soumission Exécutez les tâches liées aux soumissions de vol.

Versions d’évaluation - Utilisation de la commande List

msstore flights list <productId>

Vols - Répertorier les arguments de commande

Raisonnement Descriptif
productId ID de produit.

Versions d’évaluation - Aide sur la commande List

msstore flights list --help

Vols - Afficher l'utilisation des commandes

msstore flights get <productId> <flightId>

Versions d’évaluation - Arguments de la commande Get

Raisonnement Descriptif
productId ID de produit.
flightId ID de vol.

Versions d’évaluation - Aide sur la commande Get

msstore flights get --help

Vols - Supprimer l’utilisation des commandes

msstore flights delete <productId> <flightId>

Vols - Supprimer des arguments de commande

Raisonnement Descriptif
productId ID de produit.
flightId ID de vol.

Versions d’évaluation - Aide sur la commande Delete

msstore flights delete --help

Versions d’évaluation - Utilisation de la commande Create

msstore flights create <productId> <friendlyName> --group-ids <group-ids>

Vols - Créer des arguments de commande

Raisonnement Descriptif
productId ID de produit.
friendlyName Nom convivial du vol.

Versions d’évaluation -Options de la commande Create

Choix Descriptif
-g, --group-ids (identifiants de groupe) Les IDs de groupe à associer au vol.
-r, --rank-higher-than Identifiant de version d’évaluation à classer plus haut que.

Aide à la création de commande pour les vols

msstore flights create --help

Versions d’évaluation - Commande Submission

Sous-commande Descriptif
Obtenir Récupère la soumission de la version d’évaluation du package existante, soit le brouillon existant, soit la dernière version publiée.
supprimer Supprime la soumission de la version d’évaluation du package à partir du magasin.
update Met à jour le brouillon de vol existant avec le JSON fourni.
publier Démarre le processus de soumission de version d’évaluation pour le brouillon existant.
sondage Interroge jusqu’à ce que la soumission de la version d’évaluation existante soit PUBLISHED ou FAILED.
statut Récupère l’état actuel de soumission de version d’évaluation du magasin.
Déploiement Exécutez les opérations associées au déploiement de vol.

Versions d’évaluation - Utilisation de la commande Get pour la soumission

msstore flights submission get <productId> <flightId>

Versions d’évaluation - Arguments de la commande Get pour la soumission

Raisonnement Descriptif
productId ID de produit.
flightId ID de vol.

Versions d’évaluation - Aide sur la commande Get pour la soumission

msstore flights submission get --help

Versions d’évaluation - Utilisation de la commande Delete pour la soumission

msstore flights submission delete <productId> <flightId>

Versions d’évaluation - Arguments de la commande Delete pour la soumission

Raisonnement Descriptif
productId ID de produit.
flightId ID de vol.

Versions d’évaluation - Aide de la commande Delete pour la soumission

msstore flights submission delete --help

Versions d’évaluation - Utilisation de la commande Update pour la soumission

msstore flights submission update <productId> <flightId> <product>

Versions d’évaluation - Arguments de commande Update pour la soumission

Raisonnement Descriptif
productId ID de produit.
flightId ID de vol.
product Représentation de produit JSON mise à jour.

Versions d’évaluation - Options de commande Update pour la soumission

Choix Descriptif
-s, --ignorerLeSondageInitial Ignorez le sondage initial avant d’exécuter l’action. [valeur par défaut : False]

Versions d’évaluation - Aide de la commande Update pour la soumission

msstore flights submission update --help

Versions d’évaluation - Utilisation de la commande Publish pour la soumission

msstore flights submission publish <productId> <flightId>

Versions d’évaluation - Arguments de la commande Publish pour la soumission

Raisonnement Descriptif
productId ID de produit.
flightId ID de vol.

Versions d’évaluation - Aide de la commande Publish pour la soumission

msstore flights submission publish --help

Versions d’évaluation - Utilisation de la commande Poll pour la soumission

msstore flights submission poll <productId> <flightId>

Versions d’évaluation - Arguments de la commande Poll pour la soumission

Raisonnement Descriptif
productId ID de produit.
flightId ID de vol.

Versions d’évaluation - Aide de la commande Poll pour la soumission

msstore flights submission poll --help

Versions d’évaluation - Utilisation de la commande Status pour la soumission

msstore flights submission status <productId> <flightId>

Versions d’évaluation - Arguments de la commande Status pour la soumission

Raisonnement Descriptif
productId ID de produit.
flightId ID de vol.

Versions d’évaluation - Aide de la commande Status pour la soumission

msstore flights submission status --help

Versions d’évaluation - Soumission - Commande de déploiement

Sous-commande Descriptif
Obtenir Récupère l’état de déploiement de version d’évaluation d’une soumission.
update Mettez à jour le pourcentage de déploiement de version d’évaluation d’une soumission.
Arrêter Arrête le déploiement de version d’évaluation d’une soumission.
Finaliser Finalise le déploiement de version d’évaluation d’une soumission.

Versions d’évaluation - Soumission - Utilisation de la commande Get pour le déploiement

msstore flights submission rollout get <productId> <flightId>

Versions d’évaluation - Soumission - Arguments de la commande Get pour le déploiement

Raisonnement Descriptif
productId ID de produit.
flightId ID de vol.

Versions d’évaluation - Soumission - Options de la commande Get pour le déploiement

Choix Descriptif
-s, --submissionId ID de soumission.

Versions d’évaluation - Soumission - Aide sur la commande Get pour le déploiement

msstore flights submission rollout get --help

Versions d’évaluation - Soumission - Utilisation de la commande Update pour le déploiement

msstore flights submission rollout update <productId> <flightId> <percentage>

Versions d’évaluation - Soumission - Arguments de la commande Update pour le déploiement

Raisonnement Descriptif
productId ID de produit.
flightId ID de vol.
percentage Pourcentage d’utilisateurs qui recevront le déploiement de la soumission.

Versions d’évaluation - Soumission - Options de la commande Update pour le déploiement

Choix Descriptif
-s, --submissionId ID de soumission.

Versions d’évaluation - Soumission - Aide de la commande Update pour le déploiement

msstore flights submission rollout update --help

Versions d’évaluation - Soumission - Utilisation de la commande Halt pour le déploiement

msstore flights submission rollout halt <productId> <flightId>

Versions d’évaluation - Soumission - Arguments de la commande Halt pour le déploiement

Raisonnement Descriptif
productId ID de produit.
flightId ID de vol.

Versions d’évaluation - Soumission - Options de commande Halt pour le déploiement

Choix Descriptif
-s, --submissionId ID de soumission.

Versions d’évaluation - Soumission - Aide sur la commande Halt pour le déploiement

msstore flights submission rollout halt --help

Versions d’évaluation - Soumission - Utilisation de la commande Finalize pour le déploiement

msstore flights submission rollout finalize <productId> <flightId>

Versions d’évaluation - Soumission - Arguments de la commande Finalize pour le déploiement

Raisonnement Descriptif
productId ID de produit.
flightId ID de vol.

Versions d’évaluation - Soumission - Options de la commande Finalize pour le déploiement

Choix Descriptif
-s, --submissionId ID de soumission.

Versions d’évaluation - Soumission - Aide de la commande Finalize pour le déploiement

msstore flights submission rollout finalize --help

Commande d'initialisation

La commande init vous aide à configurer votre application pour publier sur le Microsoft Store. Il prend actuellement en charge les types d’applications suivants :

  • WinUI
  • .NET MAUI
  • Flutter
  • Électron
  • React Native pour Desktop
  • PWA
  • Plateforme Windows Universelle (UWP)

Exemples d’utilisation

Kit de développement logiciel (SDK) d’application Windows/WinUI

msstore init "C:\path\to\winui3_app"

Plateforme Windows Universelle (UWP)

msstore init "C:\path\to\uwp_app"

.NET MAUI

msstore init "C:\path\to\maui_app"

Flutter

msstore init "C:\path\to\flutter_app"

Électron

msstore init "C:\path\to\electron_app"

React Native pour Desktop

msstore init "C:\path\to\react_native_app"

Remarque

Pour Electron, ainsi que React Native pour les projets Bureau, Npm et Yarn sont tous deux pris en charge. La présence du fichier de verrou (Yarn) sera utilisée pour déterminer le gestionnaire de paquets à utiliser. Veillez donc à sauvegarder votre fichier de verrou dans votre système de contrôle de code source.

PWA

msstore init https://contoso.com --output .

Les arguments

Raisonnement Descriptif
pathOrUrl Chemin d’accès au répertoire racine où se trouve le fichier projet, ou URL publique pointant vers une PWA.

Options

Choix Descriptif
-n, --publisherDisplayName (Nom à afficher de l'éditeur) Nom complet de l’éditeur utilisé pour configurer l’application. Si elle est fournie, évite un appel d’API supplémentaire.
--package Si le type d'application est pris en charge, le projet est automatiquement empaqueté.
--publier Si le type d’application est pris en charge, publie automatiquement le projet. Implique « --package true »
-f, --flightId (identifiant de vol) Spécifie l’ID de vol où le package sera publié.
-prp, --pourcentageDeDéploiementDuPackage Spécifie le pourcentage de déploiement du package. La valeur doit être comprise entre 0 et 100.
-pid, --priceId Spécifie le niveau tarifaire de base à définir lors de l’utilisation avec --publish. Consultez les applications payantes et les tarifs.
-a, --arch Architecture(s) cible(s) de la génération. Si ce n’est pas le cas, l’architecture par défaut pour le système d’exploitation actuel et le type de projet seront utilisées. Valeurs autorisées : « x86 », « x64 », « arm64 ». Utilisé uniquement avec « --package true ».
-o, --output Répertoire de sortie dans lequel l’application empaquetée sera stockée. S’il n’est pas fourni, le répertoire par défaut pour chaque type d’application différent sera utilisé.
-ver, --version Version utilisée lors de la génération de l’application. S’il n’est pas fourni, la version du fichier projet est utilisée.

Commande de paquet

Vous aide à empaqueter votre application Microsoft Store en tant que MSIX.

Exemples d’utilisation

Kit de développement logiciel (SDK) d’application Windows/WinUI

msstore package "C:\path\to\winui3_app"

WinUI

msstore package "C:\path\to\uwp_app"

.NET MAUI

msstore package "C:\path\to\maui_app"

Flutter

msstore package "C:\path\to\flutter_app"

Électron

msstore package "C:\path\to\electron_app"

React Native pour Desktop

msstore package "C:\path\to\react_native_app"

PWA

msstore package "C:\path\to\pwa_app"

Les arguments

Choix Descriptif
pathOrUrl Chemin d’accès au répertoire racine où se trouve le fichier projet, ou URL publique pointant vers une PWA.

Options

Choix Descriptif
-o, --output Répertoire de sortie dans lequel l’application empaquetée sera stockée. S’il n’est pas fourni, le répertoire par défaut pour chaque type d’application différent sera utilisé.
-a, --arch Architecture(s) cible(s) de la génération. Si ce n’est pas le cas, l’architecture par défaut pour le système d’exploitation actuel et le type de projet seront utilisées. Valeurs autorisées : « x86 », « x64 », « arm64 ».
-ver, --version Version utilisée lors de la génération de l’application. S’il n’est pas fourni, la version du fichier projet est utilisée.

Commande Publier

Publie votre application sur le Microsoft Store.

Exemples d’utilisation

Kit de développement logiciel (SDK) d’application Windows/WinUI

msstore publish "C:\path\to\winui3_app"

WinUI

msstore publish "C:\path\to\uwp_app"

.NET MAUI

msstore publish "C:\path\to\maui_app"

Flutter

msstore publish "C:\path\to\flutter_app"

Électron

msstore publish "C:\path\to\electron_app"

React Native pour Desktop

msstore publish "C:\path\to\react_native_app"

PWA

msstore publish "C:\path\to\pwa_app"

Les arguments

Choix Descriptif
pathOrUrl Chemin d’accès au répertoire racine où se trouve le fichier projet, ou URL publique pointant vers une PWA.

Options

Choix Descriptif
-i, --inputFile Chemin d’accès au fichier « .msix » ou « .msixupload » à utiliser pour la commande de publication. S’il n’est pas précisé, l’interface CLI tente de trouver le meilleur candidat sur la base de l’argument « pathOrUrl ».
-id, --appId (identifiant de l'application) Indique l'ID de l'application. Nécessaire uniquement dans le cas où le projet n'a pas déjà été initialisé avec la commande « init ».
-nc, --noCommit Désactive la validation de la soumission, en la conservant dans l’état brouillon.
-f, --flightId (identifiant de vol) Spécifie l’ID de vol où le package sera publié.
-prp, --pourcentageDeDéploiementDuPackage Spécifie le pourcentage de déploiement du package. La valeur doit être comprise entre 0 et 100.
-pid, --priceId Spécifie le niveau tarifaire de base à définir sur la soumission, par exemple Tier1012, Freeou NotAvailable. Nécessaire uniquement lorsque le Store retourne un prix de base que l’API de soumission n’accepte pas. Consultez les applications payantes et les tarifs.

Lorsque vous publiez une mise à jour, l’interface CLI renvoie l’élément existant Pricing.PriceId de l’application sans modification, de sorte que vous n’avez pas besoin de --priceId pour la plupart des mises à jour d’applications payantes.

Si le Store retourne Base, un ID de prix vide ou aucun objet tarifaire, l’interface CLI s’arrête au lieu d’envoyer des tarifs susceptibles de réinitialiser l’application en version gratuite. Cela se produit généralement lorsque les prix sont gérés par marché dans Partner Center. Dans ce cas, publiez à partir de Partner Center ou définissez un niveau de base explicitement et passez en revue le brouillon avant de le valider :

# Upload the package and set the base price, but keep the submission in draft.
msstore publish 'C:\path\to\app' --priceId Tier1012 --noCommit

# Inspect Pricing.PriceId and Pricing.MarketSpecificPricings.
msstore submission get <productId>

# Commit the draft after you verify the price.
msstore submission publish <productId>

Warning

--priceId définit un prix de base unique et ne garantit pas la préservation des prix par marché. Vérifiez tous les prix prévus pour chaque marché avant de vous engager. --noCommit téléverse le paquet et met à jour le brouillon ; ce n’est pas une exécution à blanc.

ID de prix Meaning
Tier<number> Un niveau de prix de base, par exemple Tier1012. Pas un montant monétaire littéral.
Free Rend l’application gratuite.
NotAvailable Rend l’application indisponible.
Base Utilisé uniquement dans les prix spécifiques au marché pour faire référence au prix de base. Non valide pour --priceId.

Le tableau suivant fait correspondre les niveaux de prix étendus aux prix de détail américains. L’incrément s’applique uniquement à l’intérieur de chaque ligne.

Intervalle de niveau Plage de prix (USD) Incrément par niveau
Tier1012 - Tier1102 0,99 $ - 9,99 $ 0,10 $
Tier1103 - Tier1282 10,49 $ - 99,99 $ 0,50 $
Tier1283 - Tier1382 100,99 $ - 199,99 $ $1.00
Tier1383 - Tier1402 209,99 $ - 399,99 $ 10,00 $
Tier1403 - Tier1414 449,99 $ - 999,99 $ 50,00 $
Tier1415 - Tier1424 1 099,99 $ - 1 999,99 $ 100,00 $

Par exemple, Tier1052 coûte 4,99 $. Confirmez les prix actuels et spécifiques au marché dans l’Espace partenaires sous le tableau Vue Tarification et disponibilité>. Pour obtenir la liste complète des niveaux, consultez Niveaux tarifaires.

Commande de Vols

Sous-commande Descriptif
list Récupère tous les vols pour l’application spécifiée.
Obtenir Récupère un vol pour l'application et le vol spécifiés.
supprimer Supprime une version d’évaluation pour l’application et la version d’évaluation spécifiées.
create Crée un vol pour l'application et le vol spécifiés.
soumission Exécutez les tâches liées aux soumissions de vol.

Vols - Liste - Utilisation

msstore flights list <productId>

Les arguments

Raisonnement Descriptif
productId ID de produit.

Options

Choix Descriptif
-v, --verbose Imprimez une sortie détaillée.
-?, -h, --aide Affichez les informations d’aide et d’utilisation.

Vols - Obtenir - Utilisation

msstore flights get <productId> <flightId>

Les arguments

Raisonnement Descriptif
productId ID de produit.
flightId ID de vol.

Options

Choix Descriptif
-v, --verbose Imprimez une sortie détaillée.
-?, -h, --aide Affichez les informations d’aide et d’utilisation.

Vols - Supprimer - Utilisation

msstore flights delete <productId> <flightId>

Les arguments

Raisonnement Descriptif
productId ID de produit.
flightId ID de vol.

Options

Choix Descriptif
-v, --verbose Imprimez une sortie détaillée.
-?, -h, --aide Affichez les informations d’aide et d’utilisation.

Vols - Créer - Utilisation

msstore flights create <productId> <friendlyName> --group-ids <group-ids>

Les arguments

Raisonnement Descriptif
productId ID de produit.
friendlyName Nom convivial du vol.

Options

Choix Descriptif
-g, --group-ids (identifiants de groupe) Les IDs de groupe à associer au vol.
-r, --rank-higher-than Identifiant de version d’évaluation à classer plus haut que.
-v, --verbose Imprimez une sortie détaillée.
-?, -h, --aide Affichez les informations d’aide et d’utilisation.

Versions d’évaluation - Soumission

Sous-commande Descriptif
Obtenir Récupère la soumission de la version d’évaluation du package existante, soit le brouillon existant, soit la dernière version publiée.
supprimer Supprime la soumission de la version d’évaluation du package à partir du magasin.
update Met à jour le brouillon de vol existant avec le JSON fourni.
publier Démarre le processus de soumission de version d’évaluation pour le brouillon existant.
sondage Interroge jusqu’à ce que la soumission de la version d’évaluation existante soit PUBLISHED ou FAILED.
statut Récupère l’état actuel de soumission de version d’évaluation du magasin.
Déploiement Exécutez les opérations associées au déploiement de vol.

Versions d’évaluation - Soumission - Get - Utilisation

msstore flights submission get <productId> <flightId>

Les arguments

Raisonnement Descriptif
productId ID de produit.
flightId ID de vol.

Options

Choix Descriptif
-v, --verbose Imprimez une sortie détaillée.
-?, -h, --aide Affichez les informations d’aide et d’utilisation.

Vols - Soumission - Suppression - Utilisation

msstore flights submission delete <productId> <flightId>

Les arguments

Raisonnement Descriptif
productId ID de produit.
flightId ID de vol.

Options

Choix Descriptif
--no-confirm Ne pas demander de confirmation.
-v, --verbose Imprimez une sortie détaillée.
-?, -h, --aide Affichez les informations d’aide et d’utilisation.

Vols - Soumission - Mise à jour - Utilisation

msstore flights submission update <productId> <flightId> <product>

Les arguments

Raisonnement Descriptif
productId ID de produit.
flightId ID de vol.
product Représentation de produit JSON mise à jour.

Options

Choix Descriptif
-s, --ignorerLeSondageInitial Ignorez le sondage initial avant d’exécuter l’action. [valeur par défaut : False]
-v, --verbose Imprimez une sortie détaillée.
-?, -h, --aide Affichez les informations d’aide et d’utilisation.

Vols - Soumission - Publication - Utilisation

msstore flights publish <productId> <flightId>

Les arguments

Raisonnement Descriptif
productId ID de produit.
flightId ID de vol.

Options

Choix Descriptif
-v, --verbose Imprimez une sortie détaillée.
-?, -h, --aide Affichez les informations d’aide et d’utilisation.

Vols - Soumission - Sondage - Utilisation

msstore flights poll <productId> <flightId>

Les arguments

Raisonnement Descriptif
productId ID de produit.
flightId ID de vol.

Options

Choix Descriptif
-v, --verbose Imprimez une sortie détaillée.
-?, -h, --aide Affichez les informations d’aide et d’utilisation.

Vols - Soumission - État - Utilisation

msstore flights status <productId> <flightId>

Les arguments

Raisonnement Descriptif
productId ID de produit.
flightId ID de vol.

Options

Choix Descriptif
-v, --verbose Imprimez une sortie détaillée.
-?, -h, --aide Affichez les informations d’aide et d’utilisation.

Versions d’évaluation - Soumission - Déploiement

Sous-commande Descriptif
Obtenir Récupère l’état de déploiement de version d’évaluation d’une soumission.
update Mettez à jour le pourcentage de déploiement de version d’évaluation d’une soumission.
Arrêter Arrête le déploiement de version d’évaluation d’une soumission.
Finaliser Finalise le déploiement de version d’évaluation d’une soumission.

Versions d’évaluation - Soumission - Déploiement - Get - Utilisation

msstore flights submission rollout get <productId> <flightId>

Les arguments

Raisonnement Descriptif
productId ID de produit.
flightId ID de vol.

Options

Choix Descriptif
-s, --submissionId ID de soumission.
-v, --verbose Imprimez une sortie détaillée.
-?, -h, --aide Affichez les informations d’aide et d’utilisation.

Versions d’évaluation - Soumission - Déploiement - Update - Utilisation

msstore flights submission rollout update <productId> <flightId> <percentage>

Les arguments

Raisonnement Descriptif
productId ID de produit.
flightId ID de vol.
percentage Pourcentage d’utilisateurs qui recevront le déploiement de la soumission.

Options

Choix Descriptif
-s, --submissionId ID de soumission.
-v, --verbose Imprimez une sortie détaillée.
-?, -h, --aide Affichez les informations d’aide et d’utilisation.

Versions d’évaluation - Soumission - Déploiement - Halt - Utilisation

msstore flights submission rollout halt <productId> <flightId>

Les arguments

Raisonnement Descriptif
productId ID de produit.
flightId ID de vol.

Options

Choix Descriptif
-s, --submissionId ID de soumission.
-v, --verbose Imprimez une sortie détaillée.
-?, -h, --aide Affichez les informations d’aide et d’utilisation.

Vols - Soumission - Déploiement - Finaliser - Utilisation

msstore flights submission rollout finalize <productId> <flightId>

Les arguments

Raisonnement Descriptif
productId ID de produit.
flightId ID de vol.

Options

Choix Descriptif
-s, --submissionId ID de soumission.
-v, --verbose Imprimez une sortie détaillée.
-?, -h, --aide Affichez les informations d’aide et d’utilisation.

Environnements CI/CD

L'interface en ligne de commande du Microsoft Store pour développeurs (préversion) prend en charge l'exécution dans les environnements CI/CD. Cela signifie que vous pouvez utiliser l’interface CLI Microsoft Store développeur (préversion) dans vos pipelines CI/CD pour publier automatiquement vos applications dans le Microsoft Store.

La première étape pour y parvenir est d’installer le CLI de développeur Microsoft Store (préversion) sur votre environnement CI/CD. Vous pouvez consulter des instructions sur la façon d’y parvenir ici.

Après avoir installé l’interface CLI développeur Microsoft Store (préversion), vous devez configurer votre environnement pour pouvoir exécuter des commandes. Pour ce faire, exécutez la msstore reconfigure commande avec les paramètres spécifiques qui identifient votre compte espace partenaires (TenantId, SellerId, ClientId). Vous devez également fournir un ClientSecret ou un certificat.

Il est très important de masquer ces informations d’identification, puisqu’elles seront visibles dans les journaux de votre pipeline CI/CD. Pour ce faire, utilisez des secrets. Chaque système de pipeline CI/CD a des noms différents pour ces secrets. Par exemple, Azure DevOps les appelle Secret Variables, mais GitHub Action les appelle Secrets Chiffrés. Créez un secret pour chacun des paramètres (TenantId, SellerId, ClientId et ClientSecret ou certificat), puis utilisez la reconfigure commande pour configurer votre environnement.

Par exemple :

Azure DevOps

- task: UseMSStoreCLI@0
  displayName: Setup Microsoft Store Developer CLI
- script: msstore reconfigure --tenantId $(PARTNER_CENTER_TENANT_ID) --sellerId $(PARTNER_CENTER_SELLER_ID) --clientId $(PARTNER_CENTER_CLIENT_ID) --clientSecret $(PARTNER_CENTER_CLIENT_SECRET)
  displayName: Configure Microsoft Store Developer CLI

GitHub Actions

- name: Setup Microsoft Store Developer CLI
  uses: microsoft/microsoft-store-apppublisher@v1.1
- name: Configure Microsoft Store Developer CLI
  run: msstore reconfigure --tenantId ${{ secrets.PARTNER_CENTER_TENANT_ID }} --sellerId ${{ secrets.PARTNER_CENTER_SELLER_ID }} --clientId ${{ secrets.PARTNER_CENTER_CLIENT_ID }} --clientSecret ${{ secrets.PARTNER_CENTER_CLIENT_SECRET }}

Une fois cette commande exécutée, l’interface CLI Microsoft Store développeur (préversion) est configurée pour utiliser les informations d’identification fournies. Vous pouvez maintenant utiliser la CLI Microsoft Store Developer (en préversion) dans votre pipeline CI/CD.