Installation
Schritt 1: Installieren von .NET Windows-Runtime
Falls noch nicht geschehen, installieren Sie die neueste Version der .NET 9 Desktop Runtime. Dies ist eine Anforderung zum Ausführen der Microsoft Store Developer CLI.
Die einfachste Möglichkeit der Installation ist die Verwendung von winget:
winget install Microsoft.DotNet.DesktopRuntime.9
Schritt 2: Installieren der Microsoft Store Developer CLI auf Windows
Sie können die Microsoft Store Developer CLI aus dem Microsoft Store herunterladen. Alternativ können Sie auch winget verwenden:
winget install "Microsoft Store Developer CLI"
Schritt 1: Installieren .NET macOS-Runtime
Falls noch nicht geschehen, installieren Sie die neueste Version der .NET 9 Runtime. Dies ist eine Anforderung zum Ausführen der Microsoft Store Developer CLI.
Schritt 2: Installieren der Microsoft Store Developer CLI unter macOS
Sie können die macOS-.tar.gz für Ihre spezifische Architektur (x64 oder Arm64) von der Microsoft Store Developer CLI-Veröffentlichungsseite herunterladen. Nachdem Sie den Download abgeschlossen haben, extrahieren Sie das Archiv und fügen Sie es auf eine von Ihnen gewählte Weise in Ihren Pfad ein, z. B.:
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
Alternativ können Sie auch brew verwenden:
brew install microsoft/msstore-cli/msstore-cli
Schritt 1: Installieren .NET Linux-Runtime
Falls noch nicht geschehen, installieren Sie die neueste Version der .NET 9 Runtime. Dies ist eine Anforderung zum Ausführen der Microsoft Store Developer CLI.
Schritt 2: Installieren der Microsoft Store Developer CLI unter Linux
Sie können die Linux .tar.gz für Ihre spezifische Architektur (x64 oder Arm64) auf der Seite Microsoft Store Developer CLI-Releases herunterladen. Nachdem Sie den Download abgeschlossen haben, extrahieren Sie das Archiv und fügen Sie es auf eine von Ihnen gewählte Weise in Ihren Pfad ein, z. B.:
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
Alternativ können Sie auch brew verwenden:
brew install microsoft/msstore-cli/msstore-cli
Befehl „Info“
Vorhandene Konfiguration drucken.
Usage
msstore info
Options
| Option |
Beschreibung |
| -v, --ausführlich |
Druckt eine ausführliche Ausgabe. |
| -?, -h, --help |
Zeigen Sie Hilfe- und Nutzungsinformationen an. |
Konfigurieren Sie die Microsoft Store Developer CLI neu. Sie können entweder einen geheimen Clientschlüssel oder ein Zertifikat angeben. Zertifikate können entweder über den Fingerabdruck oder durch Bereitstellen eines Dateipfads (mit oder ohne Kennwort) bereitgestellt werden.
Usage
msstore reconfigure
Options
| Option |
Beschreibung |
| -t, --tenantId |
Geben Sie die Mandanten-ID an, die verwendet werden soll. |
| -s, --sellerId |
Geben Sie die Verkäufer-ID an, die verwendet werden soll. |
| -c, --clientId |
Geben Sie die Client-ID an, die verwendet werden soll. |
| -cs, --clientSecret |
Geben Sie den geheimen Clientschlüssel an, der verwendet werden soll. |
| -ct, --Zertifikatsfingerabdruck |
Geben Sie den Zertifikatfingerabdruck an, der verwendet werden soll. |
| -cfp, --certificateFilePath |
Geben Sie den Zertifikatdateipfad an, der verwendet werden soll. |
| -cp, --zertifikatsPasswort |
Geben Sie das Zertifikatkennwort an, das verwendet werden soll. |
| --zurücksetzen |
Setzt die Anmeldeinformationen zurück, ohne von vorne zu beginnen. |
| -v, --ausführlich |
Druckt eine ausführliche Ausgabe. |
| -?, -h, --help |
Zeigen Sie Hilfe- und Nutzungsinformationen an. |
Einstellungsbefehl
Ändern Sie die Einstellungen der Microsoft Store Developer CLI.
Usage
msstore settings
Options
| Option |
Beschreibung |
| -t, --enableTelemetry |
Aktivieren (leer/true) oder Deaktivieren (false) Telemetrie. |
| -v, --ausführlich |
Druckt eine ausführliche Ausgabe. |
| -?, -h, --help |
Zeigen Sie Hilfe- und Nutzungsinformationen an. |
SetPDN-Sub-Command
Legen Sie die Eigenschaft "Publisher-Anzeigename" fest, die vom init-Befehl verwendet wird.
Usage
msstore settings setpdn <publisherDisplayName>
Argumente
| Streitpunkt |
Beschreibung |
publisherDisplayName |
Die Eigenschaft "Anzeigename des Herausgebers", die global festgelegt wird. |
Options
| Option |
Beschreibung |
| -?, -h, --help |
Zeigen Sie Hilfe- und Nutzungsinformationen an. |
Befehl „apps“
| Unterbefehl |
Beschreibung |
|
liste |
Listet alle Anwendungen in Ihrem Konto auf. |
|
Abrufen |
Ruft die Details einer bestimmten Anwendung ab. |
Apps – Liste – Verwendung
msstore apps list
Options
| Option |
Beschreibung |
| -v, --ausführlich |
Druckt eine ausführliche Ausgabe. |
| -?, -h, --help |
Zeigen Sie Hilfe- und Nutzungsinformationen an. |
Apps – Abrufen – Nutzung
msstore apps get <productId>
Argumente
| Streitpunkt |
Beschreibung |
productId |
Die Store-Produkt-ID. |
Options
| Option |
Beschreibung |
| -v, --ausführlich |
Druckt eine ausführliche Ausgabe. |
| -?, -h, --help |
Zeigen Sie Hilfe- und Nutzungsinformationen an. |
Einreichungsbefehl
| Unterbefehl |
Beschreibung |
|
Status |
Ruft den Status einer Übermittlung ab. |
|
Abrufen |
Ruft die Metadaten und Paketinformationen einer bestimmten Übermittlung ab. |
|
getListingAssets |
Ruft die Eintragsressourcen einer bestimmten Übermittlung ab. |
|
updateMetadata |
Aktualisiert die Metadaten einer bestimmten Übermittlung. |
|
aktualisieren |
Aktualisiert das Paket einer bestimmten Einreichung. |
|
Umfrage |
Fragt den Status einer Einreichung ab. |
|
Veröffentlichen |
Veröffentlicht eine spezifische Einreichung. |
|
Löschen |
Löscht eine bestimmte Übermittlung. |
|
Rollout |
Führen Sie Vorgänge im Zusammenhang mit der schrittweisen Paketeinführung aus. |
Übermittlung - Status - Verwendung
msstore submission status <productId>
Argumente
| Streitpunkt |
Beschreibung |
productId |
Die Store-Produkt-ID. |
Options
| Option |
Beschreibung |
| -v, --ausführlich |
Druckt eine ausführliche Ausgabe. |
| -?, -h, --help |
Zeigen Sie Hilfe- und Nutzungsinformationen an. |
Übermittlung – Abrufen – Verwendung
msstore submission get <productId>
Argumente
| Streitpunkt |
Beschreibung |
productId |
Die Store-Produkt-ID. |
Options
| Option |
Beschreibung |
| -v, --ausführlich |
Druckt eine ausführliche Ausgabe. |
| -?, -h, --help |
Zeigen Sie Hilfe- und Nutzungsinformationen an. |
Übermittlung - GetListingAssets – Verwendung
msstore submission getListingAssets <productId>
Argumente
| Streitpunkt |
Beschreibung |
productId |
Die Store-Produkt-ID. |
Options
| Option |
Beschreibung |
| -v, --ausführlich |
Druckt eine ausführliche Ausgabe. |
| -?, -h, --help |
Zeigen Sie Hilfe- und Nutzungsinformationen an. |
msstore submission updateMetadata <productId> <metadata>
Hinweis
Für MSIX-/paketierte Apps sind submission updateMetadata und submission update gleichwertig – beide senden die vollständige von submission get zurückgegebene JSON für die Übermittlung, sodass mit beiden Befehlen Einträge und Pakete zusammen aktualisiert werden können.
Die beiden unterscheiden sich nur bei nicht paketierten Apps (MSI/EXE), bei denen die Produkt-ID eine GUID ist: updateMetadata aktualisiert die Metadaten des Store-Eintrags, während update die Pakete aktualisiert.
Argumente
| Streitpunkt |
Beschreibung |
productId |
Die Store-Produkt-ID. |
metadata |
Die aktualisierte JSON-Metadatendarstellung. |
Options
| Option |
Beschreibung |
| -s, --skipInitialPolling |
Überspringen Sie die anfängliche Abfrage, bevor Sie die Aktion ausführen. [Voreinstellung: False] |
| -v, --ausführlich |
Druckt eine ausführliche Ausgabe. |
| -?, -h, --help |
Zeigen Sie Hilfe- und Nutzungsinformationen an. |
Übermittlung – Update – Verwendung
msstore submission update <productId> <package>
Argumente
| Streitpunkt |
Beschreibung |
productId |
Die Store-Produkt-ID. |
package |
Die aktualisierte JSON-Darstellung des App-Pakets. |
Options
| Option |
Beschreibung |
| -s, --skipInitialPolling |
Überspringen Sie die anfängliche Abfrage, bevor Sie die Aktion ausführen. [Voreinstellung: False] |
| -v, --ausführlich |
Druckt eine ausführliche Ausgabe. |
| -?, -h, --help |
Zeigen Sie Hilfe- und Nutzungsinformationen an. |
Tipp
Verwenden Sie submission get, um das aktuelle JSON-Paket abzurufen, bevor Sie submission update aufrufen. Dadurch wird sichergestellt, dass Sie mit der richtigen Struktur und den aktuellen Werten arbeiten. Beispiel in 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
Weitere Kontexte finden Sie unter Publish-App-Updates für Microsoft Store mit GitHub Actions.
Hinweis
submission update ersetzt die gesamte Einreichung. Der JSON-Code muss Pricing.PriceId enthalten, das auf einen gültigen Wert wie Tier<number>, Free oder NotAvailable festgelegt ist. Andernfalls lehnt die CLI das Update ab. Ausführliche Informationen finden Sie unter Kostenpflichtige Apps und Preise.
Übermittlung - Umfrage - Nutzung
msstore submission poll <productId>
Argumente
| Streitpunkt |
Beschreibung |
productId |
Die Store-Produkt-ID. |
Options
| Option |
Beschreibung |
| -v, --ausführlich |
Druckt eine ausführliche Ausgabe. |
| -?, -h, --help |
Zeigen Sie Hilfe- und Nutzungsinformationen an. |
Übermittlung - Veröffentlichen – Verwendung
msstore submission publish <productId>
Argumente
| Streitpunkt |
Beschreibung |
productId |
Die Store-Produkt-ID. |
Options
| Option |
Beschreibung |
| -v, --ausführlich |
Druckt eine ausführliche Ausgabe. |
| -?, -h, --help |
Zeigen Sie Hilfe- und Nutzungsinformationen an. |
Übermittlung - Löschen – Verwendung
msstore submission delete <productId>
Argumente
| Streitpunkt |
Beschreibung |
productId |
Die Store-Produkt-ID. |
Options
| Option |
Beschreibung |
| --no-confirm |
Nicht um Bestätigung bitten. [Voreinstellung: False] |
| -v, --ausführlich |
Druckt eine ausführliche Ausgabe. |
| -?, -h, --help |
Zeigen Sie Hilfe- und Nutzungsinformationen an. |
Übermittlung – Rollout-Befehl
Verwenden Sie diese Unterbefehle, um ein schrittweises Paketrollout für eine nicht geflightete Übermittlung zu verwalten. Verwenden Sie stattdessen msstore flights submission rollout, um ein Rollout zu verwalten, das auf einen Paketflight abzielt.
Diese Befehle werden nur für MSIX/verpackte Apps unterstützt. Wenn die Übermittlungs-ID nicht angegeben wird, verwendet die CLI die ausstehende Übermittlung der App und greift auf die zuletzt veröffentlichte zurück.
| Unterbefehl | Beschreibung | | -------------------------------------------------------- | -------------------------------------------------- | | get | Ruft den Rolloutstatus einer Übermittlung ab. | | aktualisieren | Aktualisiert den Rollout-Prozentsatz einer Übermittlung. | | halt | Hält das Rollout einer Übermittlung an. | | finalisieren | Schließt den Rollout einer Einreichung ab. |
Hinweis
Ein Rollout muss für die Übermittlung aktiviert sein, bevor diese Befehle darauf angewendet werden können. Aktivieren Sie sie entweder bei der Veröffentlichung mit msstore publish --packageRolloutPercentage oder indem Sie packageDeliveryOptions.packageRollout in dem an submission update übergebenen JSON festlegen.
Übermittlung – Verwendung des Get-Befehls für Rollout
msstore submission rollout get <productId>
Übermittlung – Argumente des Get-Befehls für Rollout
| Streitpunkt |
Beschreibung |
productId |
Die Store-Produkt-ID. |
Übermittlung – Optionen des Get-Befehls für Rollout
| Option |
Beschreibung |
| -s, --Einreichungs-ID |
Die Übermittlungs-ID. |
| -v, --ausführlich |
Druckt eine ausführliche Ausgabe. |
| -?, -h, --help |
Zeigen Sie Hilfe- und Nutzungsinformationen an. |
Übermittlung – Hilfe zum Befehl „Rollout Get“
msstore submission rollout get --help
Übermittlung – Verwendung des Rollout-Update-Befehls
msstore submission rollout update <productId> <percentage>
Übermittlung – Argumente des Update-Befehls für Rollout
| Streitpunkt |
Beschreibung |
productId |
Die Store-Produkt-ID. |
percentage |
Der Prozentsatz der Benutzer, die den Übermittlungsrollout erhalten (0-100). |
Übermittlung – Optionen des Update-Befehls für Rollout
| Option |
Beschreibung |
| -s, --Einreichungs-ID |
Die Übermittlungs-ID. |
| -v, --ausführlich |
Druckt eine ausführliche Ausgabe. |
| -?, -h, --help |
Zeigen Sie Hilfe- und Nutzungsinformationen an. |
Übermittlung – Hilfe zum Befehl „Rollout aktualisieren“
msstore submission rollout update --help
Übermittlung – Verwendung des Halt-Befehls für Rollout
msstore submission rollout halt <productId>
Übermittlung – Argumente des Halt-Befehls für Rollout
| Streitpunkt |
Beschreibung |
productId |
Die Store-Produkt-ID. |
Übermittlung – Optionen des Halt-Befehls für Rollout
| Option |
Beschreibung |
| -s, --Einreichungs-ID |
Die Übermittlungs-ID. |
| -v, --ausführlich |
Druckt eine ausführliche Ausgabe. |
| -?, -h, --help |
Zeigen Sie Hilfe- und Nutzungsinformationen an. |
Übermittlung – Hilfe zum Halt-Befehl für Rollout
msstore submission rollout halt --help
Übermittlung – Verwendung des Befehls „Rollout Finalize“
msstore submission rollout finalize <productId>
Übermittlung – Argumente des Finalize-Befehls für Rollout
| Streitpunkt |
Beschreibung |
productId |
Die Store-Produkt-ID. |
Übermittlung – Optionen des Finalize-Befehls für Rollout
| Option |
Beschreibung |
| -s, --Einreichungs-ID |
Die Übermittlungs-ID. |
| -v, --ausführlich |
Druckt eine ausführliche Ausgabe. |
| -?, -h, --help |
Zeigen Sie Hilfe- und Nutzungsinformationen an. |
Übermittlung - Hilfe zum Finalize-Befehl für Rollout
msstore submission rollout finalize --help
Beispiel: Veröffentlichen eines Updates und schrittweises Rollout
Das folgende PowerShell-Beispiel lädt ein Paket hoch, aktualisiert die Versionshinweise, startet das Rollout bei 5 %, erhöht es dann und schließt es ab.
$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
Wenn die App bereits über eine veröffentlichte Einreichung verfügt, löscht msstore publish den ausstehenden Entwurf und erstellt auf Grundlage der zuletzt veröffentlichten Einreichung einen neuen, wobei alle Metadatenänderungen verworfen werden, die in diesem Entwurf bereits vorgemerkt waren. Führen Sie publishvor dem Aktualisieren von Metadaten aus, nicht danach.
Flugbefehle
| Unterbefehl |
Beschreibung |
|
liste |
Ruft alle Flights für die angegebene Anwendung ab. |
|
Abrufen |
Ruft einen Flug für die angegebene Anwendung und den angegebenen Flug ab. |
|
Löschen |
Löscht einen Flight für die angegebene Anwendung und den angegebenen Flight. |
|
create |
Erstellt einen Flight für die angegebene Anwendung und den angegebenen Flight. |
|
Einreichung |
Aufgaben im Zusammenhang mit der Abgabe von Flugeinreichungen ausführen. |
Flights – Befehlsverwendung für Listen
msstore flights list <productId>
Flüge – Befehlsargumente für Listen
| Streitpunkt |
Beschreibung |
productId |
Die Produkt-ID. |
Flights – Hilfe zu Listenbefehlen
msstore flights list --help
Flights – Verwendung des Get-Befehls
msstore flights get <productId> <flightId>
Flights – Argumente des Get-Befehls
| Streitpunkt |
Beschreibung |
productId |
Die Produkt-ID. |
flightId |
Die Flight-ID. |
Flüge – Befehlshilfe abrufen
msstore flights get --help
Flights – Verwendung des Delete-Befehls
msstore flights delete <productId> <flightId>
Flights – Löschen von Befehlsargumenten
| Streitpunkt |
Beschreibung |
productId |
Die Produkt-ID. |
flightId |
Die Flight-ID. |
Flights – Hilfe zum Delete-Befehl
msstore flights delete --help
Flights – Verwendung des Create-Befehls
msstore flights create <productId> <friendlyName> --group-ids <group-ids>
Flüge – Erstellen von Befehlsargumenten
| Streitpunkt |
Beschreibung |
productId |
Die Produkt-ID. |
friendlyName |
Der benutzerfreundliche Name des Fluges. |
Flüge – Befehlsoptionen erstellen
| Option |
Beschreibung |
| -g, --group-ids (Gruppen-IDs) |
Die Gruppen-IDs, die dem Flight zugeordnet werden sollen. |
| -r, --rank-higher-than |
Die Flight-ID zur höheren Einstufung als ein anderes Element. |
Flights – Befehlshilfe erstellen
msstore flights create --help
Flights – Einsendebefehl
| Unterbefehl |
Beschreibung |
|
Abrufen |
Ruft den vorhandenen Flight-Paketübermittlungsvorgang ab, entweder den bestehenden Entwurf oder das zuletzt veröffentlichte. |
|
Löschen |
Löscht die ausstehende Flight-Paketübermittlung aus dem Store. |
|
aktualisieren |
Aktualisiert den vorhandenen Flug-Entwurf mit dem bereitgestellten JSON. |
|
Veröffentlichen |
Startet den Flight-Übermittlungsprozess für den vorhandenen Entwurf. |
|
Umfrage |
Führt Polling durch, bis die vorhandene Flight-Übermittlung den Status PUBLISHED oder FAILED aufweist. |
|
Status |
Ruft den aktuellen Status der Store-Flight-Übermittlung ab. |
|
Rollout |
Flugbetriebsbezogene Rollout-Vorgänge ausführen. |
Flights – Verwendung des Get-Befehls für die Übermittlung
msstore flights submission get <productId> <flightId>
Flights – Argumente des Get-Befehls für die Übermittlung
| Streitpunkt |
Beschreibung |
productId |
Die Produkt-ID. |
flightId |
Die Flight-ID. |
Flights – Hilfe zum Get-Befehl für die Übermittlung
msstore flights submission get --help
Flights – Verwendung des Delete-Befehls für die Übermittlung
msstore flights submission delete <productId> <flightId>
Flights – Argumente des Delete-Befehls für die Übermittlung
| Streitpunkt |
Beschreibung |
productId |
Die Produkt-ID. |
flightId |
Die Flight-ID. |
Flights – Hilfe zum Delete-Befehl für die Übermittlung
msstore flights submission delete --help
Flights – Verwendung des Update-Befehls für die Übermittlung
msstore flights submission update <productId> <flightId> <product>
Flights – Befehlsargumente zur Aktualisierung von Einsendungen
| Streitpunkt |
Beschreibung |
productId |
Die Produkt-ID. |
flightId |
Die Flight-ID. |
product |
Die aktualisierte JSON-Produktdarstellung. |
Flüge – Befehlsoptionen für Einreichungsupdates
| Option |
Beschreibung |
| -s, --skipInitialPolling |
Überspringen Sie die anfängliche Abfrage, bevor Sie die Aktion ausführen. [Voreinstellung: False] |
Flights – Hilfe zum Update-Befehl für die Übermittlung
msstore flights submission update --help
Flights – Verwendung des Publish-Befehls für die Übermittlung
msstore flights submission publish <productId> <flightId>
Flights – Argumente des Publish-Befehls für die Übermittlung
| Streitpunkt |
Beschreibung |
productId |
Die Produkt-ID. |
flightId |
Die Flight-ID. |
Flights – Hilfe zum Publish-Befehl für die Übermittlung
msstore flights submission publish --help
Flights – Verwendung des Poll-Befehls für die Übermittlung
msstore flights submission poll <productId> <flightId>
Flights – Argumente des Poll-Befehls für die Übermittlung
| Streitpunkt |
Beschreibung |
productId |
Die Produkt-ID. |
flightId |
Die Flight-ID. |
Flights – Hilfe zum Poll-Befehl für die Übermittlung
msstore flights submission poll --help
Flüge – Verwendung des Übermittlungsstatusbefehls
msstore flights submission status <productId> <flightId>
Flights – Übermittlungsstatus-Befehlsargumente
| Streitpunkt |
Beschreibung |
productId |
Die Produkt-ID. |
flightId |
Die Flight-ID. |
Flights – Hilfe zum Übermittlungsstatus-Befehl
msstore flights submission status --help
Flüge - Übermittlung – Rollout-Befehl
| Unterbefehl |
Beschreibung |
|
Abrufen |
Ruft den Flight-Rolloutstatus einer Übermittlung ab. |
|
aktualisieren |
Aktualisieren Sie den Prozentsatz des Flug-Rollouts einer Einsendung. |
|
anhalten |
Hält das Flight-Rollout einer Übermittlung an. |
|
Finalize |
Schließt das Flight-Rollout einer Übermittlung ab. |
Flights – Übermittlung – Verwendung des Get-Befehls für Rollout
msstore flights submission rollout get <productId> <flightId>
Flights – Übermittlung – Argumente des Get-Befehls für Rollout
| Streitpunkt |
Beschreibung |
productId |
Die Produkt-ID. |
flightId |
Die Flight-ID. |
Flights – Übermittlung – Optionen des Get-Befehls für Rollout
| Option |
Beschreibung |
| -s, --Einreichungs-ID |
Die Übermittlungs-ID. |
Flights – Übermittlung – Hilfe zum Get-Befehl für Rollout
msstore flights submission rollout get --help
Flights – Übermittlung – Verwendung des Update-Befehls für Rollout
msstore flights submission rollout update <productId> <flightId> <percentage>
Flights – Übermittlung – Argumente des Update-Befehls für Rollout
| Streitpunkt |
Beschreibung |
productId |
Die Produkt-ID. |
flightId |
Die Flight-ID. |
percentage |
Der Prozentsatz der Benutzer, die den Übermittlungsrollout erhalten. |
Flights – Übermittlung – Rollout-Updatebefehlsoptionen
| Option |
Beschreibung |
| -s, --Einreichungs-ID |
Die Übermittlungs-ID. |
Flights – Übermittlung – Hilfe zum Update-Befehl für Rollout
msstore flights submission rollout update --help
Flights – Übermittlung – Verwendung des Halt-Befehls für Rollout
msstore flights submission rollout halt <productId> <flightId>
Flights – Übermittlung – Argumente des Halt-Befehls für Rollout
| Streitpunkt |
Beschreibung |
productId |
Die Produkt-ID. |
flightId |
Die Flight-ID. |
Flights – Übermittlung – Optionen des Halt-Befehls für Rollout
| Option |
Beschreibung |
| -s, --Einreichungs-ID |
Die Übermittlungs-ID. |
Flights – Übermittlung – Hilfe zum Halt-Befehl für Rollout
msstore flights submission rollout halt --help
Flights – Übermittlung – Verwendung des Finalize-Befehls für Rollout
msstore flights submission rollout finalize <productId> <flightId>
Flights – Übermittlung – Argumente des Finalize-Befehls für Rollout
| Streitpunkt |
Beschreibung |
productId |
Die Produkt-ID. |
flightId |
Die Flight-ID. |
Flights – Übermittlung – Optionen des Finalize-Befehls für Rollout
| Option |
Beschreibung |
| -s, --Einreichungs-ID |
Die Übermittlungs-ID. |
Flights – Übermittlung – Hilfe zum Finalize-Befehl für Rollout
msstore flights submission rollout finalize --help
Befehl „init“
Mit dem Befehl init können Sie Ihre Anwendung so einrichten, dass sie auf dem Microsoft Store veröffentlicht wird. Es unterstützt derzeit die folgenden Anwendungstypen:
- WinUI
- .NET MAUI
- Flutter
- Elektron
- React Native für Desktop
- PWA
- UWP (Universelle Windows-Plattform)
Verwendungsbeispiele
Windows App SDK/WinUI
msstore init "C:\path\to\winui3_app"
UWP (Universelle Windows-Plattform)
msstore init "C:\path\to\uwp_app"
.NET MAUI
msstore init "C:\path\to\maui_app"
Flutter
msstore init "C:\path\to\flutter_app"
Elektron
msstore init "C:\path\to\electron_app"
React Native für Desktop
msstore init "C:\path\to\react_native_app"
Hinweis
Für Electron- ebenso wie für React Native für Desktop-Projekte werden sowohl Npm als auch Yarn unterstützt. Das Vorhandensein der Yarn Sperrdatei (yarn.lock) wird verwendet, um zu bestimmen, welcher Paket-Manager verwendet werden soll. Stellen Sie daher sicher, dass Sie die Sperrdatei in Ihrem Quellcodeverwaltungssystem einchecken.
PWA
msstore init https://contoso.com --output .
Argumente
| Streitpunkt |
Beschreibung |
pathOrUrl |
Der Stammverzeichnispfad, in dem sich die Projektdatei befindet, oder eine öffentliche URL, die auf eine PWA verweist. |
Options
| Option |
Beschreibung |
| -n, --publisherDisplayName |
Der Publisher Anzeigename, der zum Konfigurieren der Anwendung verwendet wird. Wenn angegeben, wird ein zusätzlicher API-Aufruf vermieden. |
| --package |
Wenn vom App-Typ unterstützt, bündelt das System das Projekt automatisch. |
| --veröffentlichen |
Wenn der App-Typ unterstützt wird, wird das Projekt automatisch veröffentlicht. Impliziert "--package true" |
| -f, --flugId |
Gibt die Flight-ID an, in der das Paket veröffentlicht wird. |
| -prp, --Paket-Rollout-Prozentsatz |
Gibt den Rollout-Prozentsatz des Pakets an. Der Wert muss zwischen 0 und 100 liegen. |
| -pid, --priceId |
Gibt das Basispreisniveau an, das bei Verwendung mit --publishfestgelegt werden soll. Siehe Kostenpflichtige Apps und Preisgestaltung. |
| -a, --arch |
Die Zielarchitektur(en). Wenn nicht angegeben, wird die Standardarchitektur für das aktuelle Betriebssystem und den Projekttyp verwendet. Zulässige Werte: "x86", "x64", "arm64". Wird nur in Verbindung mit "--package true" verwendet. |
| -o, --output |
Das Ausgabeverzeichnis, in dem die verpackte App gespeichert wird. Wenn nicht angegeben, wird das Standardverzeichnis für jeden anderen App-Typ verwendet. |
| -ver, --version |
Die Version, die beim Erstellen der App verwendet wird. Wenn nicht angegeben, wird die Version aus der Projektdatei verwendet. |
Befehl „package“
Hilft Ihnen, Ihre Microsoft Store-Anwendung als MSIX zu packen.
Verwendungsbeispiele
Windows App SDK/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"
Elektron
msstore package "C:\path\to\electron_app"
React Native für Desktop
msstore package "C:\path\to\react_native_app"
PWA
msstore package "C:\path\to\pwa_app"
Argumente
| Option |
Beschreibung |
pathOrUrl |
Der Stammverzeichnispfad, in dem sich die Projektdatei befindet, oder eine öffentliche URL, die auf eine PWA verweist. |
Options
| Option |
Beschreibung |
| -o, --output |
Das Ausgabeverzeichnis, in dem die verpackte App gespeichert wird. Wenn nicht angegeben, wird das Standardverzeichnis für jeden anderen App-Typ verwendet. |
| -a, --arch |
Die Zielarchitektur(en). Wenn nicht angegeben, wird die Standardarchitektur für das aktuelle Betriebssystem und den Projekttyp verwendet. Zulässige Werte: "x86", "x64", "arm64". |
| -ver, --version |
Die Version, die beim Erstellen der App verwendet wird. Wenn nicht angegeben, wird die Version aus der Projektdatei verwendet. |
Befehl „Publish“
Veröffentlicht Ihre Anwendung im Microsoft Store.
Verwendungsbeispiele
Windows App SDK/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"
Elektron
msstore publish "C:\path\to\electron_app"
React Native für Desktop
msstore publish "C:\path\to\react_native_app"
PWA
msstore publish "C:\path\to\pwa_app"
Argumente
| Option |
Beschreibung |
pathOrUrl |
Der Stammverzeichnispfad, in dem sich die Projektdatei befindet, oder eine öffentliche URL, die auf eine PWA verweist. |
Options
| Option |
Beschreibung |
| -i, --Eingabedatei |
Der Pfad zur Datei ".msix" oder ".msixupload", die für den Veröffentlichungsbefehl verwendet werden soll. Wenn nicht angegeben, versucht die CLI die beste Option auf Basis des Arguments „pathOrUrl“ zu finden. |
| -id, --appId |
Gibt die Anwendungs-ID an. Nur erforderlich, wenn das Projekt noch nicht mit dem Befehl „init“ initialisiert wurde. |
| -nc, --noCommit |
Deaktiviert das Festschreiben der Übermittlung und behält sie im Entwurfszustand bei. |
| -f, --flugId |
Gibt die Flight-ID an, in der das Paket veröffentlicht wird. |
| -prp, --Paket-Rollout-Prozentsatz |
Gibt den Rollout-Prozentsatz des Pakets an. Der Wert muss zwischen 0 und 100 liegen. |
| -pid, --priceId |
Gibt das Basispreisniveau an, das für die Übermittlung festgelegt werden soll, z. B. Tier1012, Free oder NotAvailable. Nur erforderlich, wenn der Store einen Grundpreis zurückgibt, den die Übermittlungs-API nicht wieder akzeptiert. Weitere Informationen finden Sie unter Kostenpflichtige Apps und Preise. |
Kostenpflichtige Apps und Preise
Wenn Sie ein Update veröffentlichen, sendet die CLI die vorhandene Pricing.PriceId der App unverändert zurück, sodass Sie --priceId für die meisten Updates kostenpflichtiger Apps nicht benötigen.
Wenn der Store Base, eine leere Preis-ID oder kein Preisobjekt zurückgibt, wird die CLI beendet, anstatt Preise zu übermitteln, die die App auf kostenlos zurücksetzen könnten. Dies geschieht in der Regel, wenn Die Preise pro Markt im Partner Center verwaltet werden. Veröffentlichen Sie in diesem Fall über Partner Center, oder legen Sie explizit einen Basistarif fest, und überprüfen Sie den Entwurf, bevor Sie ihn committen:
# 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>
Warnung
--priceId legt einen einzigen Grundpreis fest und garantiert nicht die Beibehaltung marktspezifischer Preise. Überprüfen Sie alle beabsichtigten Marktpreise vor dem Committen.
--noCommit lädt das Paket hoch und aktualisiert den Entwurf; es ist kein Testlauf.
| Preis-ID |
Dies bedeutet |
Tier<number> |
Eine Basispreisstufe, z. B. Tier1012. Kein wörtlicher Währungsbetrag. |
Free |
Macht die App kostenlos. |
NotAvailable |
Macht die App nicht verfügbar. |
Base |
Wird nur in der marktspezifischen Preisgestaltung verwendet, um auf den Grundpreis zu verweisen. Ungültig für --priceId. |
Die folgende Tabelle ordnet erweiterte Preisstufen den US-Einzelhandelspreisen zu. Das Inkrement gilt nur innerhalb der jeweiligen Zeile.
| Stufenbereich |
Preisbereich (USD) |
Schrittweite pro Tarif |
Tier1012 - Tier1102 |
0,99 $ - 9,99 $ |
0,10 US-Dollar |
Tier1103 - Tier1282 |
10,49 $ – 99,99 $ |
0,50 US-Dollar |
Tier1283 - Tier1382 |
100,99 $ – 199,99 $ |
$1.00 |
Tier1383 - Tier1402 |
209,99 $ – 399,99 $ |
10,00 USD |
Tier1403 - Tier1414 |
449,99 $ – 999,99 $ |
50,00 USD |
Tier1415 - Tier1424 |
1.099,99 $ – 1.999,99 $ |
100,00 USD |
Beispielsweise entspricht Tier1052 4,99 $. Bestätigen Sie aktuelle und marktspezifische Preise in Partner Center unter Preise und Verfügbarkeit>Tabelle anzeigen. Eine vollständige Liste der Stufen finden Sie unter Preisniveaus.
Flugbefehl
| Unterbefehl |
Beschreibung |
|
liste |
Ruft alle Flights für die angegebene Anwendung ab. |
|
Abrufen |
Ruft einen Flug für die angegebene Anwendung und den angegebenen Flug ab. |
|
Löschen |
Löscht einen Flight für die angegebene Anwendung und den angegebenen Flight. |
|
create |
Erstellt einen Flight für die angegebene Anwendung und den angegebenen Flight. |
|
Einreichung |
Aufgaben im Zusammenhang mit der Abgabe von Flugeinreichungen ausführen. |
Flüge - Liste - Nutzung
msstore flights list <productId>
Argumente
| Streitpunkt |
Beschreibung |
productId |
Die Produkt-ID. |
Options
| Option |
Beschreibung |
| -v, --ausführlich |
Druckt eine ausführliche Ausgabe. |
| -?, -h, --help |
Zeigen Sie Hilfe- und Nutzungsinformationen an. |
Flüge - Abruf - Nutzung
msstore flights get <productId> <flightId>
Argumente
| Streitpunkt |
Beschreibung |
productId |
Die Produkt-ID. |
flightId |
Die Flight-ID. |
Options
| Option |
Beschreibung |
| -v, --ausführlich |
Druckt eine ausführliche Ausgabe. |
| -?, -h, --help |
Zeigen Sie Hilfe- und Nutzungsinformationen an. |
Flüge - Löschen – Nutzung
msstore flights delete <productId> <flightId>
Argumente
| Streitpunkt |
Beschreibung |
productId |
Die Produkt-ID. |
flightId |
Die Flight-ID. |
Options
| Option |
Beschreibung |
| -v, --ausführlich |
Druckt eine ausführliche Ausgabe. |
| -?, -h, --help |
Zeigen Sie Hilfe- und Nutzungsinformationen an. |
Flüge - Erstellen - Nutzung
msstore flights create <productId> <friendlyName> --group-ids <group-ids>
Argumente
| Streitpunkt |
Beschreibung |
productId |
Die Produkt-ID. |
friendlyName |
Der benutzerfreundliche Name des Fluges. |
Options
| Option |
Beschreibung |
| -g, --group-ids (Gruppen-IDs) |
Die Gruppen-IDs, die dem Flight zugeordnet werden sollen. |
| -r, --rank-higher-than |
Die Flight-ID zur höheren Einstufung als ein anderes Element. |
| -v, --ausführlich |
Druckt eine ausführliche Ausgabe. |
| -?, -h, --help |
Zeigen Sie Hilfe- und Nutzungsinformationen an. |
Flights – Einreichung
| Unterbefehl |
Beschreibung |
|
Abrufen |
Ruft den vorhandenen Flight-Paketübermittlungsvorgang ab, entweder den bestehenden Entwurf oder das zuletzt veröffentlichte. |
|
Löschen |
Löscht die ausstehende Flight-Paketübermittlung aus dem Store. |
|
aktualisieren |
Aktualisiert den vorhandenen Flug-Entwurf mit dem bereitgestellten JSON. |
|
Veröffentlichen |
Startet den Flight-Übermittlungsprozess für den vorhandenen Entwurf. |
|
Umfrage |
Führt Polling durch, bis die vorhandene Flight-Übermittlung den Status PUBLISHED oder FAILED aufweist. |
|
Status |
Ruft den aktuellen Status der Store-Flight-Übermittlung ab. |
|
Rollout |
Flugbetriebsbezogene Rollout-Vorgänge ausführen. |
Flüge - Einsendung - Abrufen - Nutzung
msstore flights submission get <productId> <flightId>
Argumente
| Streitpunkt |
Beschreibung |
productId |
Die Produkt-ID. |
flightId |
Die Flight-ID. |
Options
| Option |
Beschreibung |
| -v, --ausführlich |
Druckt eine ausführliche Ausgabe. |
| -?, -h, --help |
Zeigen Sie Hilfe- und Nutzungsinformationen an. |
Flights - Übermittlung - Löschen - Nutzung
msstore flights submission delete <productId> <flightId>
Argumente
| Streitpunkt |
Beschreibung |
productId |
Die Produkt-ID. |
flightId |
Die Flight-ID. |
Options
| Option |
Beschreibung |
| --no-confirm |
Nicht um Bestätigung bitten. |
| -v, --ausführlich |
Druckt eine ausführliche Ausgabe. |
| -?, -h, --help |
Zeigen Sie Hilfe- und Nutzungsinformationen an. |
Flights – Übermittlung – Update – Verwendung
msstore flights submission update <productId> <flightId> <product>
Argumente
| Streitpunkt |
Beschreibung |
productId |
Die Produkt-ID. |
flightId |
Die Flight-ID. |
product |
Die aktualisierte JSON-Produktdarstellung. |
Options
| Option |
Beschreibung |
| -s, --skipInitialPolling |
Überspringen Sie die anfängliche Abfrage, bevor Sie die Aktion ausführen. [Voreinstellung: False] |
| -v, --ausführlich |
Druckt eine ausführliche Ausgabe. |
| -?, -h, --help |
Zeigen Sie Hilfe- und Nutzungsinformationen an. |
Flüge - Einreichung - Veröffentlichung - Nutzung
msstore flights publish <productId> <flightId>
Argumente
| Streitpunkt |
Beschreibung |
productId |
Die Produkt-ID. |
flightId |
Die Flight-ID. |
Options
| Option |
Beschreibung |
| -v, --ausführlich |
Druckt eine ausführliche Ausgabe. |
| -?, -h, --help |
Zeigen Sie Hilfe- und Nutzungsinformationen an. |
Flüge - Übermittlung - Umfrage - Nutzung
msstore flights poll <productId> <flightId>
Argumente
| Streitpunkt |
Beschreibung |
productId |
Die Produkt-ID. |
flightId |
Die Flight-ID. |
Options
| Option |
Beschreibung |
| -v, --ausführlich |
Druckt eine ausführliche Ausgabe. |
| -?, -h, --help |
Zeigen Sie Hilfe- und Nutzungsinformationen an. |
Flights – Übermittlung – Status – Verwendung
msstore flights status <productId> <flightId>
Argumente
| Streitpunkt |
Beschreibung |
productId |
Die Produkt-ID. |
flightId |
Die Flight-ID. |
Options
| Option |
Beschreibung |
| -v, --ausführlich |
Druckt eine ausführliche Ausgabe. |
| -?, -h, --help |
Zeigen Sie Hilfe- und Nutzungsinformationen an. |
Flights – Übermittlung – Rollout
| Unterbefehl |
Beschreibung |
|
Abrufen |
Ruft den Flight-Rolloutstatus einer Übermittlung ab. |
|
aktualisieren |
Aktualisieren Sie den Prozentsatz des Flug-Rollouts einer Einsendung. |
|
anhalten |
Hält das Flight-Rollout einer Übermittlung an. |
|
Finalize |
Schließt das Flight-Rollout einer Übermittlung ab. |
Flights – Übermittlung – Rollout – Get – Verwendung
msstore flights submission rollout get <productId> <flightId>
Argumente
| Streitpunkt |
Beschreibung |
productId |
Die Produkt-ID. |
flightId |
Die Flight-ID. |
Options
| Option |
Beschreibung |
| -s, --Einreichungs-ID |
Die Übermittlungs-ID. |
| -v, --ausführlich |
Druckt eine ausführliche Ausgabe. |
| -?, -h, --help |
Zeigen Sie Hilfe- und Nutzungsinformationen an. |
Flights – Übermittlung – Rollout – Update – Verwendung
msstore flights submission rollout update <productId> <flightId> <percentage>
Argumente
| Streitpunkt |
Beschreibung |
productId |
Die Produkt-ID. |
flightId |
Die Flight-ID. |
percentage |
Der Prozentsatz der Benutzer, die den Übermittlungsrollout erhalten. |
Options
| Option |
Beschreibung |
| -s, --Einreichungs-ID |
Die Übermittlungs-ID. |
| -v, --ausführlich |
Druckt eine ausführliche Ausgabe. |
| -?, -h, --help |
Zeigen Sie Hilfe- und Nutzungsinformationen an. |
Flights – Übermittlung – Rollout – Halt – Verwendung
msstore flights submission rollout halt <productId> <flightId>
Argumente
| Streitpunkt |
Beschreibung |
productId |
Die Produkt-ID. |
flightId |
Die Flight-ID. |
Options
| Option |
Beschreibung |
| -s, --Einreichungs-ID |
Die Übermittlungs-ID. |
| -v, --ausführlich |
Druckt eine ausführliche Ausgabe. |
| -?, -h, --help |
Zeigen Sie Hilfe- und Nutzungsinformationen an. |
Flüge - Übermittlung - Rollout - Abschließen - Nutzung
msstore flights submission rollout finalize <productId> <flightId>
Argumente
| Streitpunkt |
Beschreibung |
productId |
Die Produkt-ID. |
flightId |
Die Flight-ID. |
Options
| Option |
Beschreibung |
| -s, --Einreichungs-ID |
Die Übermittlungs-ID. |
| -v, --ausführlich |
Druckt eine ausführliche Ausgabe. |
| -?, -h, --help |
Zeigen Sie Hilfe- und Nutzungsinformationen an. |
CI/CD-Umgebungen
Die Microsoft Store Developer CLI (Vorschau) unterstützt die Ausführung in CI/CD-Umgebungen. Dies bedeutet, dass Sie die Microsoft Store Developer CLI (Vorschau) in Ihren CI/CD-Pipelines verwenden können, um beispielsweise Ihre Anwendungen automatisch im Microsoft Store zu veröffentlichen.
Der erste Schritt, um dies zu erreichen, ist die Installation der Microsoft Store Developer CLI (Vorschau) in Ihrer CI/CD-Umgebung. Anleitungen dazu finden Sie hier.
Nach der Installation der Microsoft Store Developer CLI (Vorschau) müssen Sie Ihre Umgebung so konfigurieren, dass Befehle ausgeführt werden können. Dazu können Sie den msstore reconfigure Befehl mit den spezifischen Parametern ausführen, die Ihr Partner Center-Konto (TenantId, SellerId, ClientId) identifizieren. Außerdem müssen Sie entweder einen ClientSecret oder ein Zertifikat angeben.
Es ist sehr wichtig, diese Anmeldeinformationen zu verbergen, da sie in den Logdateien Ihrer CI/CD-Pipeline sichtbar sind. Dazu können Sie geheime Schlüssel verwenden. Jedes CI/CD-Pipelinesystem hat für diese geheimen Schlüssel unterschiedliche Namen. Beispielsweise rufen Azure DevOps sie Secret Variables auf, aber GitHub Action ruft sie Encrypted Secrets auf. Erstellen Sie für jeden der Parameter (TenantId, SellerId, ClientId, ClientSecret oder ein Zertifikat) ein Secret, und verwenden Sie dann den reconfigure Befehl, um Ihre Umgebung einzurichten.
Zum Beispiel:
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 }}
Sobald dieser Befehl ausgeführt wird, wird die Microsoft Store Developer CLI (Vorschau) so konfiguriert, dass die bereitgestellten Anmeldeinformationen verwendet werden. Sie können jetzt die Microsoft Store Developer CLI (Vorschau) in Ihrer CI/CD-Pipeline verwenden.