安裝
步驟 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, --幫助 |
顯示說明和使用資訊。 |
重新設定 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>
引數
選項
| 選項 |
描述 |
| -v, --verbose |
列印詳細資料輸出。 |
| -?, -h, --幫助 |
顯示說明和使用資訊。 |
提交項目命令
提交 - 狀態 - 使用情況
msstore submission status <productId>
引數
選項
| 選項 |
描述 |
| -v, --verbose |
列印詳細資料輸出。 |
| -?, -h, --幫助 |
顯示說明和使用資訊。 |
提交 - 獲取 - 用法
msstore submission get <productId>
引數
選項
| 選項 |
描述 |
| -v, --verbose |
列印詳細資料輸出。 |
| -?, -h, --幫助 |
顯示說明和使用資訊。 |
提交作業 - GetListingAssets - 使用方式
msstore submission getListingAssets <productId>
引數
選項
| 選項 |
描述 |
| -v, --verbose |
列印詳細資料輸出。 |
| -?, -h, --幫助 |
顯示說明和使用資訊。 |
msstore submission updateMetadata <productId> <metadata>
引數
| 論點 |
描述 |
productId |
市集產品識別碼。 |
metadata |
更新的 JSON 中繼資料表示法。 |
選項
| 選項 |
描述 |
| -s, --skipInitialPolling |
在執行動作之前略過初始輪詢。 [預設值: False] |
| -v, --verbose |
列印詳細資料輸出。 |
| -?, -h, --幫助 |
顯示說明和使用資訊。 |
提交 - 投票 - 使用方式
msstore submission poll <productId>
引數
選項
| 選項 |
描述 |
| -v, --verbose |
列印詳細資料輸出。 |
| -?, -h, --幫助 |
顯示說明和使用資訊。 |
提交 - 發佈 - 使用方式
msstore submission publish <productId>
引數
選項
| 選項 |
描述 |
| -v, --verbose |
列印詳細資料輸出。 |
| -?, -h, --幫助 |
顯示說明和使用資訊。 |
提交 - 刪除 - 使用方式
msstore submission delete <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 都支援 和 Yarn 。
Yarn 鎖定檔案 (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>
引數
選項
| 選項 |
描述 |
| -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 reconfigure、SellerId、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 (預覽版)。