インストール
手順 1: .NET Windows ランタイムをインストールする
まだ行っていない場合は、最新バージョンの .NET 8 デスクトップランタイム をインストールします。 これは、Microsoft Store Developer CLI を実行するための要件です。
それをインストールする最も簡単な使用方法は、WinGetを使用する方法です:
winget install Microsoft.DotNet.DesktopRuntime.8
手順 2: Windows に Microsoft Store 開発者 CLI をインストールする
Microsoft Store Developer CLI は、Microsoft Storeからダウンロードできます。 代わりに WinGetを使用することもできます:
winget install "Microsoft Store Developer CLI"
手順 1: .NET macOS ランタイムをインストールする
まだ行っていない場合は、最新バージョンの .NET 8 ランタイム をインストールします。 これは、Microsoft Store Developer CLI を実行するための要件です。
手順 2: macOS に Microsoft Store Developer CLI をインストールする
特定のアーキテクチャ (x64 または Arm64) の macOS .tar.gz は、Microsoft Store Developer CLI リリース ページからダウンロードできます。 ダウンロードしたら、アーカイブを抽出して PATH に配置しますが、次に例を示します:
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
代わりに brewを使用することもできます:
brew install microsoft/msstore-cli/msstore-cli
手順 1: .NET Linux ランタイムをインストールする
まだ行っていない場合は、最新バージョンの .NET 8 ランタイム をインストールします。 これは、Microsoft Store Developer CLI を実行するための要件です。
手順 2: Linux に Microsoft Store Developer CLI をインストールする
特定のアーキテクチャ (x64 または Arm64) の Linux .tar.gz は、Microsoft Store Developer CLI リリース ページからダウンロードできます。 ダウンロードしたら、アーカイブを抽出して PATH に配置しますが、次に例を示します:
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
代わりに brewを使用することもできます:
brew install microsoft/msstore-cli/msstore-cli
info コマンド
既存の構成を印刷します。
Info コマンド - 使用法
msstore info
Info コマンド - オプション
オプション |
説明 |
-v、--verbose |
詳細出力を出力します。 |
Microsoft Store Developer CLI を再構成します。 クライアント シークレットまたは証明書を指定できます。 証明書は、拇印を使用するか、ファイル パスを指定して (パスワードの有無にかかわらず) 指定できます。
msstore reconfigure
オプション |
説明 |
-t、--tenantId |
使用するテナント ID を指定します。 |
-s、--sellerId |
使用する販売者 ID を指定します。 |
-c、--clientId |
使用するクライアント ID を指定します。 |
-cs、--clientSecret |
使用するクライアント シークレットを指定します。 |
-ct、--certificateThumbprint |
使用する証明書の拇印を指定します。 |
-cfp、--certificateFilePath |
使用する証明書ファイルのパスを指定します。 |
-cp、--certificatePassword |
使用する証明書パスワードを指定します。 |
--リセット |
最初からやり直さずに、資格情報のみをリセットします。 |
Settings コマンド
Microsoft Store Developer CLI の設定を変更します。
設定 - 使用法
msstore settings
サブ コマンド |
説明 |
setpdn |
init コマンドで使用される Publisher Display Name プロパティを設定します。 |
設定 - オプション
オプション |
説明 |
-t、--enableTelemetry |
有効 (空/true) または無効 (false) テレメトリ。 |
-v、--verbose |
詳細出力を出力します。 |
設定 - SetPDN コマンドの使用法
msstore settings setpdn <publisherDisplayName>
引数
引数 |
説明 |
publisherDisplayName |
グローバルに設定される Publisher Display Name プロパティ。 |
ヘルプ
msstore settings setpdn --help
apps コマンド
サブ コマンド |
説明 |
一覧 |
アカウント内のすべてのアプリケーションを一覧表示します。 |
取得する |
特定のアプリケーションの詳細を取得します。 |
アプリ - コマンドの使用状況を一覧表示する
msstore apps list
List コマンド - ヘルプ
msstore apps list --help
アプリ - コマンドの使用状況を取得する
msstore apps get <productId>
アプリ - コマンド引数を取得する
アプリ - コマンド ヘルプを表示する
msstore apps get --help
submission コマンド
サブ コマンド |
説明 |
地位 |
申請の状態を取得します。 |
取得する |
特定の申請の詳細を取得します。 |
getListingAssets を する |
特定の申請の一覧資産を取得します。 |
updateMetadataの |
特定の申請のメタデータを更新します。 |
更新 |
特定の申請の詳細を更新します。 |
投票 |
申請の状態をポーリングします。 |
publish (発行) |
特定の申請を発行します。 |
を削除 |
特定の申請を削除します。 |
投稿 - ステータスコマンドの使用法
msstore submission status <productId>
Submission - Status コマンド引数
申請 - 状態コマンドのヘルプ
msstore submission status --help
Submission - Get コマンドの使用方法
msstore submission get <productId>
Submission - Get コマンドの引数
送信 - コマンドオプションを取得する
オプション |
説明 |
-m、--module |
取得するモジュール ('availability'、'listings'、または 'properties' ) を選択します。 |
-l、--language |
取得する言語を選択します。 [デフォルト: 英語] |
申請 - コマンド ヘルプを取得する
msstore submission get --help
Submission - GetListingAssets コマンドの使用法
ストア申請から既存のドラフト登録情報資産を取得します。
msstore submission getListingAssets <productId>
Submission - GetListingAssets コマンド引数
Submission - GetListingAssets コマンド オプション
オプション |
説明 |
-l、--language |
取得する言語を選択します。 [デフォルト: 英語] |
Submission - GetListingAssets コマンド ヘルプ
msstore submission getListingAssets --help
msstore submission updateMetadata <productId> <metadata>
引数 |
説明 |
productId |
製品 ID。 |
metadata |
更新された JSON メタデータ表現。 |
オプション |
説明 |
-s、--skipInitialPolling |
アクションを実行する前に、最初のポーリングをスキップします。 [既定値: False] |
msstore submission updateMetadata --help
Submission - Update コマンドの使用方法
msstore submission update <productId> <product>
Submission - Update コマンドの引数
引数 |
説明 |
productId |
製品 ID。 |
product |
更新された JSON 製品表現。 |
送信 - コマンド オプションの更新
オプション |
説明 |
-s、--skipInitialPolling |
アクションを実行する前に、最初のポーリングをスキップします。 [既定値: False] |
申請 - コマンド ヘルプの更新
msstore submission update --help
投稿 - 投票コマンドの使用方法
msstore submission poll <productId>
Submission - Poll コマンド引数
送信 - ポーリング コマンドのヘルプ
msstore submission poll --help
Submission - Publish コマンドの使用方法
msstore submission publish <productId>
Submission - Publish コマンド引数
申請 - 発行コマンドのヘルプ
msstore submission publish --help
Submission - Delete コマンドの使用方法
保留中の申請をストアから削除します。
提出 - コマンド引数の削除
送信 - コマンド オプションの削除
オプション |
説明 |
--確認なし |
確認のダイアログを表示しません。 [既定値: False] |
申請 - コマンド ヘルプの削除
msstore submission delete --help
init コマンド
init
コマンドを使用すると、Microsoft Store に発行するようにアプリケーションをセットアップできます。 現在、次のアプリケーションの種類がサポートされています。
- Windows アプリ SDK/WinUI 3
- ユニバーサル Windows プラットフォーム (UWP)
- .NET MAUI (英語)
- フラッター
- 電子
- デスクトップ用 React Native
- PWA
Init コマンド - 使用例
Init コマンド - Windows アプリ SDK/WinUI 3
msstore init "C:\path\to\winui3_app"
Init コマンド - UWP
msstore init "C:\path\to\uwp_app"
Init コマンド - .NET MAUI
msstore init "C:\path\to\maui_app"
Init コマンド - Flutter
msstore init "C:\path\to\flutter_app"
Init コマンド - Electron
msstore init "C:\path\to\electron_app"
Init コマンド - デスクトップ用 React Native
msstore init "C:\path\to\react_native_app"
注
Electron およびデスクトップ 用 React Native プロジェクトでは、 Npm
と Yarn
の両方がサポートされています。
Yarn
ロック ファイル (yarn.lock
) が存在すると、使用するパッケージ マネージャーが決定されるため、ロック ファイルをソース管理システムにチェックインしてください。
Init コマンド - PWA
msstore init https://contoso.com --output .
Init コマンド - 引数
引数 |
説明 |
pathOrUrl |
プロジェクト ファイルがあるルート ディレクトリ パス、または PWA を指すパブリック URL。 |
Init コマンド - オプション
オプション |
説明 |
-n、--publisherDisplayName |
アプリケーションの構成に使用されるパブリッシャー表示名。 指定した場合は、追加の API 呼び出しを回避します。 |
--パッケージ |
アプリの種類でサポートされている場合は、プロジェクトを自動的にパックします。 |
--著す |
アプリの種類でサポートされている場合は、プロジェクトを自動的に発行します。 '--package true' を意味します |
-f、--flightId |
パッケージを発行するフライト ID を指定します。 |
-prp、--packageRolloutPercentage |
パッケージのロールアウト率を指定します。 0 から 100 の間の値にする必要があります。 |
-a、--arch |
ビルド対象のアーキテクチャ。 指定しない場合は、現在の OS の既定のアーキテクチャとプロジェクトの種類が使用されます。 使用できる値: "x86"、"x64"、"arm64"。 '--package true' と組み合わせて使用した場合にのみ使用されます。 |
-o、--output |
パッケージ アプリが格納される出力ディレクトリ。 指定しない場合は、アプリの種類ごとに既定のディレクトリが使用されます。 |
-ver、--version |
アプリのビルド時に使用されるバージョン。 指定しない場合は、プロジェクト ファイルのバージョンが使用されます。 |
package コマンド
Microsoft Store アプリケーションを MSIX としてパッケージ化するのに役立ちます。
Package コマンド - 使用例
Package コマンド - Windows アプリ SDK/WinUI 3
msstore package "C:\path\to\winui3_app"
パッケージ コマンド - UWP
msstore package "C:\path\to\uwp_app"
Package コマンド - .NET MAUI
msstore package "C:\path\to\maui_app"
Package コマンド - Flutter
msstore package "C:\path\to\flutter_app"
パッケージ コマンド - Electron
msstore package "C:\path\to\electron_app"
Package コマンド - デスクトップ用 React Native
msstore package "C:\path\to\react_native_app"
Package コマンド - PWA
msstore package "C:\path\to\pwa_app"
Package コマンド - 引数
オプション |
説明 |
pathOrUrl |
プロジェクト ファイルがあるルート ディレクトリ パス、または PWA を指すパブリック URL。 |
パッケージ コマンド - オプション
オプション |
説明 |
-o、--output |
パッケージ アプリが格納される出力ディレクトリ。 指定しない場合は、アプリの種類ごとに既定のディレクトリが使用されます。 |
-a、--arch |
ビルド対象のアーキテクチャ。 指定しない場合は、現在の OS の既定のアーキテクチャとプロジェクトの種類が使用されます。 使用できる値: "x86"、"x64"、"arm64"。 |
-ver、--version |
アプリのビルド時に使用されるバージョン。 指定しない場合は、プロジェクト ファイルのバージョンが使用されます。 |
publish コマンド
Microsoft Store にアプリケーションを公開します。
Publish コマンド - 使用例
発行コマンド - Windows アプリ SDK/WinUI 3
msstore publish "C:\path\to\winui3_app"
発行コマンド - UWP
msstore publish "C:\path\to\uwp_app"
発行コマンド - .NET MAUI
msstore publish "C:\path\to\maui_app"
Publish コマンド - Flutter
msstore publish "C:\path\to\flutter_app"
Publish コマンド - Electron
msstore publish "C:\path\to\electron_app"
発行コマンド - デスクトップ用 React Native
msstore publish "C:\path\to\react_native_app"
発行コマンド - PWA
msstore publish "C:\path\to\pwa_app"
Publish コマンド - 引数
オプション |
説明 |
pathOrUrl |
プロジェクト ファイルがあるルート ディレクトリ パス、または PWA を指すパブリック URL。 |
発行コマンド - オプション
オプション |
説明 |
-i、--inputDirectory |
publish コマンドに使用する「.msix」または「.msixupload」ファイルのディレクトリ。 指定しない場合、cli は「pathOrUrl」引数に基づいて最適な候補を見つけようとします。 |
-id、--appId |
アプリケーション ID を指定します。「init」コマンドでプロジェクトが初期化されていない場合にのみ必要です。 |
-nc、--noCommit |
送信のコミットを無効にし、下書き状態を維持します。 |
-f、--flightId |
パッケージを発行するフライト ID を指定します。 |
-prp、--packageRolloutPercentage |
パッケージのロールアウト率を指定します。 0 から 100 の間の値にする必要があります。 |
CI/CD 環境
Microsoft Store Developer CLI (プレビュー) では、CI/CD 環境での実行がサポートされています。 つまり、CI/CD パイプラインで Microsoft Store Developer CLI (プレビュー) を使用して、アプリケーションを Microsoft Store に自動的に発行することができます。
これを実現するための最初の手順は、CI/CD 環境に Microsoft Store Developer CLI (プレビュー) をインストールすることです。 この方法については、こちらを参照してください。
Microsoft Store Developer CLI (プレビュー) をインストールしたら、コマンドを実行できるように環境を構成する必要があります。 これを行うには、パートナー センター アカウント (msstore reconfigure
、SellerId、ClientId) を識別する特定のパラメーターを使用して、 コマンドを実行します。 また、 ClientSecret または Certificate を指定する必要があります。
これらの資格情報は CI/CD パイプラインのログに表示されるため、非表示にすることが非常に重要です。 これを行うには、 secretsを使用します。 各 CI/CD パイプライン システムには、これらのシークレットの名前が異なります。 たとえば、Azure DevOps はそれらを Secret Variables と呼びますが、GitHub Action はそれらを Encrypted Secrets と呼びます。 パラメーター (TenantId、SellerId、ClientId、ClientSecret または Certificate) に対して 1 つのsecretを作成し、reconfigure
コマンドを使用して環境をセットアップします。
次に例を示します。
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 のアクション
- name: Setup Microsoft Store Developer CLI
uses: microsoft/setup-msstore-cli@v1
- 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 }}
このコマンドを実行すると、指定された資格情報を使用するように Microsoft Store Developer CLI (プレビュー) が構成されます。 CI/CD パイプラインで Microsoft Store Developer CLI (プレビュー) を使用できるようになりました。