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. |
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. |
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. |
Applications payantes et tarification
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.