共用方式為


命令(MSIX)

安裝

步驟 1:安裝 .NET Windows Runtime

如果您尚未安裝,請安裝最新版的 .NET 8 Desktop Runtime。 必須安裝才能執行 Microsoft Store 開發人員 CLI。

最簡單的安裝方式是使用 winget

winget install Microsoft.DotNet.DesktopRuntime.8

步驟 2:在 Windows 上安裝Microsoft市集開發人員 CLI

您可以從 Microsoft Store 下載 Microsoft Store 開發人員 CLI。 您也可以使用 winget

winget install "Microsoft Store Developer CLI"

步驟 1:安裝 .NET macOS Runtime

如果您尚未安裝,請安裝最新版的 .NET 8 Runtime。 必須安裝才能執行 Microsoft Store 開發人員 CLI。

步驟 2:在 macOS 上安裝Microsoft市集開發人員 CLI

您可以從 Microsoft Store 開發人員 CLI 版本頁面下載特定架構 (x64 或 Arm64) 的 macOS .tar.gz。 下載之後,請解壓縮封裝並放入您的 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 Runtime

如果您尚未安裝,請安裝最新版的 .NET 8 Runtime。 必須安裝才能執行 Microsoft Store 開發人員 CLI。

步驟 2:在 Linux 上安裝Microsoft市集開發人員 CLI

您可以從 Microsoft Store 開發人員 CLI 版本頁面下載特定架構 (x64 或 Arm64) 的 Linux .tar.gz。 下載之後,請解壓縮封裝並放入您的 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 命令

列印現有的組態。

Usage

msstore info

選項

選項 描述
-v, --verbose 列印詳細資料輸出。
-?, -h, --幫助 顯示說明和使用資訊。

Reconfigure 命令

重新設定 Microsoft Store 開發人員 CLI。 您可以提供客戶端密碼或憑證。 憑證可以透過其指紋或提供檔案路徑來提供(含或不含密碼)。

Usage

msstore reconfigure

選項

選項 描述
-t, --tenantId 指定應該使用的租用戶識別碼。
-s、 --sellerId 指定應該使用的賣方識別碼。
-c, --clientId 指定應該使用的用戶端識別碼。
-cs、--clientSecret 指定應該使用的用戶端密碼。
-ct, --certificateThumbprint 指定應該使用的憑證指紋。
-cfp、 --certificateFilePath 指定應該使用的憑證檔案路徑。
-cp、 --certificatePassword 指定應該使用的憑證密碼。
--重置 只重設認證,而不需重新開始。
-v, --verbose 列印詳細資料輸出。
-?, -h, --幫助 顯示說明和使用資訊。

Settings 命令

變更 Microsoft Store 開發人員 CLI 的設定。

Usage

msstore settings

選項

選項 描述
-t,--enableTelemetry(啟用遙測) 啟用 (empty/true) 或停用 (false) 遙測。
-v, --verbose 列印詳細資料輸出。
-?, -h, --幫助 顯示說明和使用資訊。

SetPDN 子命令

設定 init 命令所使用的發行者顯示名稱屬性。

Usage

msstore settings setpdn <publisherDisplayName>

引數

論點 描述
publisherDisplayName 將會全域設定的發行者顯示名稱屬性。

選項

選項 描述
-?, -h, --幫助 顯示說明和使用資訊。

應用程式命令

子命令 描述
list 列出您帳戶中的所有應用程式。
獲取 取得特定應用程式的詳細資料。

應用程式 - 清單 - 使用情況

msstore apps list

選項

選項 描述
-v, --verbose 列印詳細資料輸出。
-?, -h, --幫助 顯示說明和使用資訊。

應用程式 - 獲取 - 使用情況

msstore apps get <productId>

引數

論點 描述
productId 市集產品識別碼。

選項

選項 描述
-v, --verbose 列印詳細資料輸出。
-?, -h, --幫助 顯示說明和使用資訊。

提交項目命令

子命令 描述
狀態 取得提交的狀態。
獲取 取得特定提交項目的中繼資料和套件資訊。
getListingAssets (獲取列表資產) 取得特定提交的清單資產。
更新中繼資料 更新特定提交的中繼資料。
輪詢 輪詢提交的狀態。
發佈 發佈特定提交。
刪除 刪除特定提交。

提交 - 狀態 - 使用情況

msstore submission status <productId>

引數

論點 描述
productId 市集產品識別碼。

選項

選項 描述
-v, --verbose 列印詳細資料輸出。
-?, -h, --幫助 顯示說明和使用資訊。

提交 - 獲取 - 用法

msstore submission get <productId>

引數

論點 描述
productId 市集產品識別碼。

選項

選項 描述
-v, --verbose 列印詳細資料輸出。
-?, -h, --幫助 顯示說明和使用資訊。

提交作業 - GetListingAssets - 使用方式

msstore submission getListingAssets <productId>

引數

論點 描述
productId 市集產品識別碼。

選項

選項 描述
-v, --verbose 列印詳細資料輸出。
-?, -h, --幫助 顯示說明和使用資訊。

提交 - 更新中繼資料 - 使用方式

msstore submission updateMetadata <productId> <metadata>

引數

論點 描述
productId 市集產品識別碼。
metadata 更新的 JSON 中繼資料表示法。

選項

選項 描述
-s, --skipInitialPolling 在執行動作之前略過初始輪詢。 [預設值: False]
-v, --verbose 列印詳細資料輸出。
-?, -h, --幫助 顯示說明和使用資訊。

提交 - 投票 - 使用方式

msstore submission poll <productId>

引數

論點 描述
productId 市集產品識別碼。

選項

選項 描述
-v, --verbose 列印詳細資料輸出。
-?, -h, --幫助 顯示說明和使用資訊。

提交 - 發佈 - 使用方式

msstore submission publish <productId>

引數

論點 描述
productId 市集產品識別碼。

選項

選項 描述
-v, --verbose 列印詳細資料輸出。
-?, -h, --幫助 顯示說明和使用資訊。

提交 - 刪除 - 使用方式

msstore submission delete <productId>

引數

論點 描述
productId 市集產品識別碼。

選項

選項 描述
--no-confirm (不需確認) 不提示確認。 [預設值: False]
-v, --verbose 列印詳細資料輸出。
-?, -h, --幫助 顯示說明和使用資訊。

Init 命令

init 命令可協助您設定應用程式以發佈至 Microsoft Store。 目前支援下列應用程式類型:

  • Windows 應用程式 SDK/WinUI 3
  • UWP
  • .NET MAUI
  • 撲動
  • 電子
  • React Native 桌面版
  • PWA

使用範例

Windows 應用程式 SDK/WinUI 3

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

UWP

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

.NET MAUI

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

撲動

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

電子

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

React Native 桌面版

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

注意

針對電子,以及適用於傳統型專案的 React Native, Npm 都支援 和 YarnYarn 鎖定檔案 (yarn.lock) 將用來判斷要使用的套件管理員,因此請務必將鎖定檔案簽入原始程式碼控制系統。

PWA

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

引數

論點 描述
pathOrUrl 專案檔案所在的根目錄路徑,或指向 PWA 的公用 URL。

選項

選項 描述
-n, --publisherDisplayName 用來設定應用程式的發行者顯示名稱。 如果提供,請避免發出額外的 API 呼叫。
--包 如果應用程式類型支援,則會自動封裝專案。
--發布 如果應用程式類型支援,則會自動發佈專案。 表示 '--package true'
-f, --flightId 指定發行套件的位置正式發行前小眾測試版標識碼。
-prp, --packageRolloutPercentage 指定套件的推出百分比。 值必須介於 0 到 100 之間。
-a, --arch 要建置的架構。 如果未提供,則會使用目前作業系統的預設架構和專案類型。 允許的值:「x86」、「x64」、「arm64」。 只與「--package true」搭配使用。
-o, --output 將儲存已封裝應用程式的輸出目錄。 如果未提供,則會使用每個不同類型應用程式的預設目錄。
-ver --version 建置應用程式時所使用的版本。 如果未提供,則會使用專案檔案中的版本。

Package 命令

協助您將 Microsoft Store 應用程式封裝為 MSIX。

使用範例

Windows 應用程式 SDK/WinUI 3

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

UWP

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

.NET MAUI

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

撲動

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

電子

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

React Native 桌面版

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

PWA

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

引數

選項 描述
pathOrUrl 專案檔案所在的根目錄路徑,或指向 PWA 的公用 URL。

選項

選項 描述
-o, --output 將儲存已封裝應用程式的輸出目錄。 如果未提供,則會使用每個不同類型應用程式的預設目錄。
-a, --arch 要建置的架構。 如果未提供,則會使用目前作業系統的預設架構和專案類型。 允許的值:「x86」、「x64」、「arm64」。
-ver --version 建置應用程式時所使用的版本。 如果未提供,則會使用專案檔案中的版本。

Publish 命令

將您的應用程式發佈至 Microsoft Store。

使用範例

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"

撲動

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

電子

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"

引數

選項 描述
pathOrUrl 專案檔案所在的根目錄路徑,或指向 PWA 的公用 URL。

選項

選項 描述
-i, --輸入檔案 要用於發佈命令的 '.msix' 或 '.msixupload' 檔案的路徑。 如果未提供,cli 會嘗試根據「pathOrUrl」引數尋找最佳候選目錄。
-id、--appId 指定應用程式識別碼。只有在專案之前未使用「init」命令初始化時才需要。
-nc, --noCommit 停用認可提交,使其保持在草稿狀態。
-f, --flightId 指定發行套件的位置正式發行前小眾測試版標識碼。
-prp, --packageRolloutPercentage 指定套件的推出百分比。 值必須介於 0 到 100 之間。

飛行指揮部

子命令 描述
list 取得指定應用程式中所有的 Flights 資料。
獲取 為指定的應用程式和飛行擷取航班。
刪除 刪除指定應用程式中的航班。
create 為指定的應用程式和飛行建立一個飛行。
提交 執行與飛行計劃提交相關的任務。

航班 - 列表 - 使用情況

msstore flights list <productId>

引數

論點 描述
productId 產品標識碼。

選項

選項 描述
-v, --verbose 列印詳細資料輸出。
-?, -h, --幫助 顯示說明和使用資訊。

航班 - 獲取 - 使用情況

msstore flights get <productId> <flightId>

引數

論點 描述
productId 產品標識碼。
flightId 航班編號。

選項

選項 描述
-v, --verbose 列印詳細資料輸出。
-?, -h, --幫助 顯示說明和使用資訊。

航班 - 刪除 - 使用情況

msstore flights delete <productId> <flightId>

引數

論點 描述
productId 產品標識碼。
flightId 航班編號。

選項

選項 描述
-v, --verbose 列印詳細資料輸出。
-?, -h, --幫助 顯示說明和使用資訊。

航班 - 創建 - 使用

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

引數

論點 描述
productId 產品標識碼。
friendlyName 那是那個親切的航班名稱。

選項

選項 描述
-g, --群組 ID 將群組ID與航班進行關聯。
-r, --排名高於 航班ID排名更高。
-v, --verbose 列印詳細資料輸出。
-?, -h, --幫助 顯示說明和使用資訊。

航班 - 提交

子命令 描述
獲取 檢索現有的套件測試提交,不論是現有的草稿還是最後發布的版本。
刪除 刪除商店中待處理的包裹飛行提交。
更新 用提供的 JSON 更新現有的飛行草稿。
發佈 啟動現有草案的飛行提交程序。
輪詢 投票直到現有航班提交被發布或失敗為止。
狀態 取得商店航班提交的當前狀態。
推出 執行與飛行展開相關的作業。

航班 - 提交 - 取得 - 使用

msstore flights submission get <productId> <flightId>

引數

論點 描述
productId 產品標識碼。
flightId 航班編號。

選項

選項 描述
-v, --verbose 列印詳細資料輸出。
-?, -h, --幫助 顯示說明和使用資訊。

航班 - 提交 - 刪除 - 使用

msstore flights submission delete <productId> <flightId>

引數

論點 描述
productId 產品標識碼。
flightId 航班編號。

選項

選項 描述
--no-confirm (不需確認) 不提示確認。
-v, --verbose 列印詳細資料輸出。
-?, -h, --幫助 顯示說明和使用資訊。

航班 - 提交 - 更新 - 使用情況

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

引數

論點 描述
productId 產品標識碼。
flightId 航班編號。
product 更新後的 JSON 產品表示方式。

選項

選項 描述
-s, --skipInitialPolling 在執行動作之前略過初始輪詢。 [預設值: False]
-v, --verbose 列印詳細資料輸出。
-?, -h, --幫助 顯示說明和使用資訊。

航班 - 提交 - 發佈 - 使用

msstore flights publish <productId> <flightId>

引數

論點 描述
productId 產品標識碼。
flightId 航班編號。

選項

選項 描述
-v, --verbose 列印詳細資料輸出。
-?, -h, --幫助 顯示說明和使用資訊。

航班 - 提交 - 投票 - 使用情況

msstore flights poll <productId> <flightId>

引數

論點 描述
productId 產品標識碼。
flightId 航班編號。

選項

選項 描述
-v, --verbose 列印詳細資料輸出。
-?, -h, --幫助 顯示說明和使用資訊。

航班 - 提交 - 狀態 - 使用情況

msstore flights status <productId> <flightId>

引數

論點 描述
productId 產品標識碼。
flightId 航班編號。

選項

選項 描述
-v, --verbose 列印詳細資料輸出。
-?, -h, --幫助 顯示說明和使用資訊。

航班 - 提交 - 推出

子命令 描述
獲取 取得提交的航班啟動狀態。
更新 更新提交的航班部署百分比。
停下 暫停提交的飛行啟動。
最終完成 完成提交的飛行部署。

航班 - 提交 - 推出 - 取得 - 使用

msstore flights submission rollout get <productId> <flightId>

引數

論點 描述
productId 產品標識碼。
flightId 航班編號。

選項

選項 描述
-s, --submissionId(臣服Id) 提交項目的ID。
-v, --verbose 列印詳細資料輸出。
-?, -h, --幫助 顯示說明和使用資訊。

航班 - 提交 - 推出 - 更新 - 使用

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

引數

論點 描述
productId 產品標識碼。
flightId 航班編號。
percentage 收到提交推送的用戶比例。

選項

選項 描述
-s,--submissionId(提交ID) 提交的ID。
-v, --verbose 列印詳細資料輸出。
-?, -h, --幫助 顯示說明和使用資訊。

航班 - 提交 - 推出 - 停止 - 使用

msstore flights submission rollout halt <productId> <flightId>

引數

論點 描述
productId 產品標識碼。
flightId 航班編號。

選項

選項 描述
-s, --submissionId(臣服Id) 提交的ID。
-v, --verbose 列印詳細資料輸出。
-?, -h, --幫助 顯示說明和使用資訊。

飛行記錄 - 提交 - 部署 - 定稿 - 使用

msstore flights submission rollout finalize <productId> <flightId>

引數

論點 描述
productId 產品標識碼。
flightId 航班編號。

選項

選項 描述
-s,--submissionId(提交ID) 提交的編號。
-v, --verbose 列印詳細資料輸出。
-?, -h, --幫助 顯示說明和使用資訊。

CI/CD 環境

Microsoft Store 開發人員 CLI (預覽版) 支援在 CI/CD 環境中執行。 這表示您可以在 CI/CD 管線中使用 Microsoft Store 開發人員 CLI (預覽版),例如自動將應用程式發佈至 Microsoft Store。

達成此目的的第一個步驟,就是在您的 CI/CD 環境中安裝 Microsoft Store 開發人員 CLI (預覽版)。 您可以在這裡找到執行這項操作的指示。

安裝 Microsoft Store 開發人員 CLI (預覽版) 之後,您必須設定環境才能執行命令。 您可以使用識別合作夥伴中心帳戶的特定參數來執行命令,以執行此命令(msstore reconfigureSellerId、ClientId)。 您也需要提供 ClientSecret憑證

這些認證會顯示在 CI/CD 管線的記錄中,因此請務必隱藏起來。 您可以使用密碼來保護認證。 每個 CI/CD 管線系統都使用不同的名稱來代表這些密碼。 例如,Azure DevOps 將其稱為秘密變數,GitHub Action 則稱為加密密碼。 為每個參數建立一個秘密(TenantId、SellerId

例如:

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

執行此命令之後,Microsoft Store 開發人員 CLI (預覽版) 會設定為使用所提供的認證。 您現在可以在 CI/CD 管線中使用 Microsoft Store 開發人員 CLI (預覽版)。