命令(MSIX)

安装

步骤 1:安装.NET Windows 运行时

如果尚未这样做,请安装最新版本的 .NET 9 桌面运行时。 这是运行Microsoft Store开发人员 CLI 的要求。

安装此工具最简单方法的就是使用是 WinGet。

winget install Microsoft.DotNet.DesktopRuntime.9

步骤 2:在 Windows 上安装 Microsoft Store 开发人员 CLI

可以从 Microsoft Store 下载Microsoft Store开发人员 CLI。 也可使用 WinGet:

winget install "Microsoft Store Developer CLI"

步骤 1:安装 .NET macOS 运行时

如果尚未执行此操作,请安装最新版本的 .NET 9 Runtime。 这是运行Microsoft Store开发人员 CLI 的要求。

步骤 2:在 macOS 上安装Microsoft Store开发人员 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 运行时

如果尚未执行此操作,请安装最新版本的 .NET 9 Runtime。 这是运行Microsoft Store开发人员 CLI 的要求。

步骤 2:在 Linux 上安装Microsoft Store开发人员 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,--help 显示帮助和使用情况信息。

重新配置命令

重新配置Microsoft Store开发人员 CLI。 可以提供客户端密码或证书。 证书可以通过指纹提供,也可以通过提供文件路径(使用或不使用密码)提供。

Usage

msstore reconfigure

选项

选项 说明
-t、--tenantId 指定应使用的租户 ID。
-s、--sellerId 指定应使用的卖家 ID。
-c、--clientId 指定应使用的客户端 ID。
-cs、--clientSecret 指定应使用的客户端密码。
-ct、--certificateThumbprint 指定应使用的证书指纹。
-cfp、--certificateFilePath 指定应使用的证书文件路径。
-cp、--certificatePassword 指定应使用的证书密码。
--重置 仅重置凭据,而无需重新开始。
-v, --verbose 打印详细输出。
-?, -h,--help 显示帮助和使用情况信息。

设置命令

更改Microsoft Store开发人员 CLI 的设置。

Usage

msstore settings

选项

选项 说明
-t、--enableTelemetry 启用(留空/true)或禁用(false)遥测。
-v, --verbose 打印详细输出。
-?, -h,--help 显示帮助和使用情况信息。

SetPDN 子命令

设置 init 命令使用的 Publisher 显示名称属性。

Usage

msstore settings setpdn <publisherDisplayName>

参数

论点 说明
publisherDisplayName 将在全局设置的发布者显示名称属性。

选项

选项 说明
-?, -h,--help 显示帮助和使用情况信息。

Apps 命令

子命令 说明
列表 列出帐户中的所有应用程序。
获取 获取特定应用程序的详细信息。

应用 - 列表 - 使用情况

msstore apps list

选项

选项 说明
-v, --verbose 打印详细输出。
-?, -h,--help 显示帮助和使用情况信息。

应用 - 获取 - 使用

msstore apps get <productId>

参数

论点 说明
productId 商店产品 ID。

选项

选项 说明
-v, --verbose 打印详细输出。
-?, -h,--help 显示帮助和使用情况信息。

提交命令

子命令 说明
状态 获取提交的状态。
获取 获取特定提交的元数据和包信息。
获取清单资产 获取特定提交的产品一览资产。
updateMetadata 更新特定提交的元数据。
更新 更新特定提交的包。
民意调查 轮询提交的状态。
发布 发布特定提交。
删除 删除特定提交。
推出 执行与软件包渐进式发布相关的操作。

提交 - 状态 - 使用情况

msstore submission status <productId>

参数

论点 说明
productId 商店产品 ID。

选项

选项 说明
-v, --verbose 打印详细输出。
-?, -h,--help 显示帮助和使用情况信息。

提交 - 获取 - 使用

msstore submission get <productId>

参数

论点 说明
productId 商店产品 ID。

选项

选项 说明
-v, --verbose 打印详细输出。
-?, -h,--help 显示帮助和使用情况信息。

提交 - GetListingAssets - 使用情况

msstore submission getListingAssets <productId>

参数

论点 说明
productId 商店产品 ID。

选项

选项 说明
-v, --verbose 打印详细输出。
-?, -h,--help 显示帮助和使用情况信息。

提交 - 更新元数据 - 用法

msstore submission updateMetadata <productId> <metadata>

注意

对于 MSIX/已打包应用,submission updateMetadata 和 submission update 是等效的——两者都会发送由 submission get 返回的完整提交 JSON,因此任一命令都可以同时更新列表信息和程序包。

两者的区别仅体现在未打包的应用(MSI/EXE)上,此时产品 ID 是 GUID:updateMetadata 更新商店列表元数据,而 update 更新程序包。

参数

论点 说明
productId 商店产品 ID。
metadata 更新的 JSON 元数据表示形式。

选项

选项 说明
-s, --skipInitialPolling 在执行操作之前,请跳过初始轮询。 [default: False]
-v, --verbose 打印详细输出。
-?, -h,--help 显示帮助和使用情况信息。

提交 - 更新 - 使用情况

msstore submission update <productId> <package>

参数

论点 说明
productId 商店产品 ID。
package 更新后的应用包的 JSON 表示形式。

选项

选项 说明
-s, --skipInitialPolling 在执行操作之前,请跳过初始轮询。 [default: False]
-v, --verbose 打印详细输出。
-?, -h,--help 显示帮助和使用情况信息。

小窍门

使用 submission get 在调用 submission update 之前获取当前包的 JSON。 这确保您使用正确的结构和最新的数值。 例如,在 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

有关更多上下文,请参阅 使用 GitHub Actions 将应用更新发布到 Microsoft Store。

注意

submission update 替换整个提交。 JSON 必须包含 Pricing.PriceId,并将其设置为有效值,例如 Tier<number>、Free 或 NotAvailable;否则 CLI 将拒绝更新。 有关详细信息,请参阅 付费应用和定价。

提交 - 轮询 - 使用情况

msstore submission poll <productId>

参数

论点 说明
productId 商店产品 ID。

选项

选项 说明
-v, --verbose 打印详细输出。
-?, -h,--help 显示帮助和使用情况信息。

提交 - 发布 - 使用情况

msstore submission publish <productId>

参数

论点 说明
productId 商店产品 ID。

选项

选项 说明
-v, --verbose 打印详细输出。
-?, -h,--help 显示帮助和使用情况信息。

提交 - 删除 - 使用情况

msstore submission delete <productId>

参数

论点 说明
productId 商店产品 ID。

选项

选项 说明
--no-confirm 不请求确认。 [default: False]
-v, --verbose 打印详细输出。
-?, -h,--help 显示帮助和使用情况信息。

提交 - 推出命令

使用这些子命令为非外部测试版提交管理逐步包推出。 要管理面向包外部测试版的推出,请改用msstore flights submission rollout。

这些命令仅支持 MSIX/打包应用。 如果省略提交 ID,CLI 会使用应用的待处理提交;如果没有待处理提交,则回退到最后发布的提交。 | 子命令 | 描述 | | -------------------------------------------------------- | -------------------------------------------------- | | 获取 | 检索提交的推出状态。 | | 更新 | 更新提交的推出百分比。 | | halt | 停止某项提交内容的发布。 | | 完成 | 完成提交的推出。 |

注意

必须先为提交启用推出,这些命令才能对其执行操作。 在发布时通过 msstore publish --packageRolloutPercentage 启用它,或者在传递给 packageDeliveryOptions.packageRollout 的 JSON 中设置 submission update。

提交 - 推出获取命令用法

msstore submission rollout get <productId>

提交 - 推出获取命令参数

论点 说明
productId 商店产品 ID。

提交 - 推出获取命令选项

选项 说明
-s、--submissionId 提交 ID。
-v, --verbose 打印详细输出。
-?, -h,--help 显示帮助和使用情况信息。

提交 - 推出获取命令帮助

msstore submission rollout get --help

提交 - 推出更新命令用法

msstore submission rollout update <productId> <percentage>

提交 - 推出更新命令参数

论点 说明
productId 商店产品 ID。
percentage 将收到该提交推出内容的用户百分比 (0-100)。

提交 - 推出更新命令选项

选项 说明
-s、--submissionId 提交 ID。
-v, --verbose 打印详细输出。
-?, -h,--help 显示帮助和使用情况信息。

提交 - 推出更新命令帮助

msstore submission rollout update --help

提交 - 推出停止命令用法

msstore submission rollout halt <productId>

提交 - 推出停止命令参数

论点 说明
productId 商店产品 ID。

提交 - 推出停止命令选项

选项 说明
-s、--submissionId 提交 ID。
-v, --verbose 打印详细输出。
-?, -h,--help 显示帮助和使用情况信息。

提交 - 推出停止命令帮助

msstore submission rollout halt --help

提交 - 推出完成命令用法

msstore submission rollout finalize <productId>

提交 - 推出完成命令参数

论点 说明
productId 商店产品 ID。

提交 - 推出完成命令选项

选项 说明
-s、--submissionId 提交 ID。
-v, --verbose 打印详细输出。
-?, -h,--help 显示帮助和使用情况信息。

提交 - 推出完成命令帮助

msstore submission rollout finalize --help

示例:发布更新并逐步推出

以下 PowerShell 示例代码会上传软件包、更新发行说明、先以 5% 的比例启动分阶段发布,然后逐步提高比例并完成发布。

$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

重要

如果应用已有已发布的提交,msstore publish 会删除待处理草稿,并基于上一次已发布的提交创建一个新草稿,同时丢弃该草稿中已暂存的任何元数据更改。 在更新元数据publish运行,而不是之后。

飞行指令

子命令 说明
列表 检索指定应用程序的所有外部测试版。
获取 根据指定的应用程序和外部测试版检索该外部测试版。
删除 删除指定应用程序的指定外部测试版。
create 为指定应用程序创建指定的外部测试版。
提交 执行航班提交相关任务。

外部测试版 - 列表命令用法

msstore flights list <productId>

航班 - 列出命令参数

论点 说明
productId 产品 ID。

飞行 - 列表命令帮助

msstore flights list --help

外部测试版 - 获取命令用法

msstore flights get <productId> <flightId>

外部测试版 - 获取命令参数

论点 说明
productId 产品 ID。
flightId 航班 ID。

航班 - 获取命令帮助

msstore flights get --help

外部测试版 - 删除命令用法

msstore flights delete <productId> <flightId>

飞行 - 删除命令参数

论点 说明
productId 产品 ID。
flightId 航班 ID。

外部测试版 - 删除命令帮助

msstore flights delete --help

外部测试版 - 创建命令用法

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

航班 - 创建命令参数

论点 说明
productId 产品 ID。
friendlyName 航班的友好名称。

飞行 - 创建命令选项

选项 说明
-g、--group-ids 要与外部测试版关联的组 ID。
-r, --rank-higher-than 要将当前外部测试版排在其前面的外部测试版 ID。

外部测试版 - 创建命令帮助

msstore flights create --help

外部测试版 - 提交命令

子命令 说明
获取 检索现有的包外部测试版提交,即现有草稿或最后发布的提交。
删除 从应用商店删除待处理的包外部测试版提交。
更新 使用提供的 JSON 更新现有飞行计划草稿。
发布 为现有草稿启动外部测试版提交过程。
民意调查 轮询,直到现有外部测试版提交变为 PUBLISHED 或 FAILED。
状态 检索应用商店外部测试版提交的当前状态。
推出 执行与外部测试版推出相关的操作。

外部测试版 - 提交获取命令用法

msstore flights submission get <productId> <flightId>

外部测试版 - 提交获取命令参数

论点 说明
productId 产品 ID。
flightId 航班 ID。

外部测试版 - 提交获取命令帮助

msstore flights submission get --help

外部测试版 - 提交删除命令用法

msstore flights submission delete <productId> <flightId>

外部测试版 - 提交删除命令参数

论点 说明
productId 产品 ID。
flightId 航班 ID。

外部测试版 - 提交删除命令帮助

msstore flights submission delete --help

外部测试版 - 提交更新命令用法

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

外部测试版 - 提交更新命令参数

论点 说明
productId 产品 ID。
flightId 航班 ID。
product 更新后的 JSON 产品表示形式。

外部测试版 - 提交更新命令选项

选项 说明
-s, --skipInitialPolling 在执行操作之前,请跳过初始轮询。 [default: False]

外部测试版 - 提交更新命令帮助

msstore flights submission update --help

外部测试版 - 提交发布命令用法

msstore flights submission publish <productId> <flightId>

外部测试版 - 提交发布命令参数

论点 说明
productId 产品 ID。
flightId 航班 ID。

外部测试版 - 提交发布命令帮助

msstore flights submission publish --help

外部测试版 - 提交轮询命令用法

msstore flights submission poll <productId> <flightId>

外部测试版 - 提交轮询命令参数

论点 说明
productId 产品 ID。
flightId 航班 ID。

外部测试版 - 提交轮询命令帮助

msstore flights submission poll --help

外部测试版 - 提交状态命令用法

msstore flights submission status <productId> <flightId>

外部测试版 - 提交状态命令参数

论点 说明
productId 产品 ID。
flightId 航班 ID。

外部测试版 - 提交状态命令帮助

msstore flights submission status --help

外部测试版 - 提交 - 推出命令

子命令 说明
获取 检索提交的外部测试版推出状态。
更新 更新提交的外部测试版推出百分比。
停止 停止提交的外部测试版推出。
完成 完成提交的外部测试版推出。

外部测试版 - 提交 - 推出获取命令用法

msstore flights submission rollout get <productId> <flightId>

外部测试版 - 提交 - 推出获取命令参数

论点 说明
productId 产品 ID。
flightId 航班 ID。

外部测试版 - 提交 - 推出获取命令选项

选项 说明
-s、--submissionId 提交 ID。

外部测试版 - 提交 - 推出获取命令帮助

msstore flights submission rollout get --help

外部测试版 - 提交 - 推出更新命令用法

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

外部测试版 - 提交 - 推出更新命令参数

论点 说明
productId 产品 ID。
flightId 航班 ID。
percentage 将收到提交推出内容的用户百分比。

外部测试版 - 提交 - 推出更新命令选项

选项 说明
-s、--submissionId 提交 ID。

外部测试版 - 提交 - 推出更新命令帮助

msstore flights submission rollout update --help

外部测试版 - 提交 - 推出停止命令用法

msstore flights submission rollout halt <productId> <flightId>

外部测试版 - 提交 - 推出停止命令参数

论点 说明
productId 产品 ID。
flightId 航班 ID。

外部测试版 - 提交 - 推出停止命令选项

选项 说明
-s、--submissionId 提交 ID。

外部测试版 - 提交 - 推出停止命令帮助

msstore flights submission rollout halt --help

外部测试版 - 提交 - 推出完成命令用法

msstore flights submission rollout finalize <productId> <flightId>

外部测试版 - 提交 - 推出完成命令参数

论点 说明
productId 产品 ID。
flightId 航班 ID。

外部测试版 - 提交 - 推出完成命令选项

选项 说明
-s、--submissionId 提交 ID。

外部测试版 - 提交 - 推出完成命令帮助

msstore flights submission rollout finalize --help

Init 命令

init 命令可帮助设置应用程序以发布到Microsoft Store。 它当前支持以下应用程序类型:

  • WinUI
  • .NET MAUI
  • Flutter
  • 电子
  • React Native 桌面版
  • PWA
  • UWP

用法示例

Windows 应用 SDK/WinUI

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

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"

电子

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

React Native 桌面版

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

注意

对于 Electron 和 React Native for Desktop 项目,均支持NpmYarn。 锁文件 (Yarnyarn.lock) 的存在将用于确定要使用的包管理器,因此请确保将锁定文件签入源代码管理系统。

PWA

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

参数

论点 说明
pathOrUrl 项目文件所在的根目录路径,或是指向 PWA 的公共 URL。

选项

选项 说明
-n, --publisherDisplayName 用于配置应用程序的发布者显示名称。 如果提供,请避免额外的 API 调用。
--package 如果应用类型支持,则会自动打包项目。
--publish 如果应用类型支持,则会自动发布项目。 表示“--package true”
-f、--flightId 指定包将发布到的外部测试版 ID。
-prp, --packageRolloutPercentage 指定软件包的部署百分比。 该值必须介于 0 和 100 之间。
-pid, --priceId 指定要在与 --publish 一起使用时设置的基本价格层。 请参阅 付费应用和定价。
-a、--arch 要构建的体系结构。 如果未提供,将使用当前 OS 的默认体系结构和项目类型。 允许的值:“x86”、“x64”、“arm64”。 只有在与 “--package true” 搭配使用时才使用。
-o、--output 输出目录是存储打包应用的位置。 如果未提供,将使用每种不同类型的应用的默认目录。
-ver、--version 生成应用时使用的版本。 如果未提供,将使用项目文件中的版本。

Package 命令

帮助你将Microsoft Store应用程序打包为 MSIX。

用法示例

Windows 应用 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"

电子

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 要构建的体系结构。 如果未提供,将使用当前 OS 的默认体系结构和项目类型。 允许的值:“x86”、“x64”、“arm64”。
-ver、--version 生成应用时使用的版本。 如果未提供,将使用项目文件中的版本。

发布命令

将应用程序发布到Microsoft Store。

用法示例

Windows 应用 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"

电子

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, --inputFile 用于发布命令的“.msix”或“.msixupload”文件的路径。 如果未提供,cli 则会尝试根据“pathOrUrl”参数来查找最佳候选项。
-id、--appId 指定应用程序 ID。仅当项目之前未使用“init”命令初始化时,才需执行此操作。
-nc、--noCommit 禁用提交操作,使提交保持草稿状态。
-f、--flightId 指定包将发布到的外部测试版 ID。
-prp, --packageRolloutPercentage 指定软件包的部署百分比。 该值必须介于 0 和 100 之间。
-pid, --priceId 指定要在提交上设置的基本价格层,例如 Tier1012, Free或 NotAvailable。 仅当 Microsoft Store 返回的基价无法回传给提交 API 时,才需要此项。 请参阅 付费应用和定价。

发布更新时,CLI 会将应用现有的 Pricing.PriceId 原样发回,因此,对于大多数付费应用更新,你不需要 --priceId。

如果应用商店返回 Base、空的价格 ID 或无定价对象,CLI 将停止,而不是提交可能将应用重置为免费状态的定价。 当在合作伙伴中心按市场管理价格时,通常会出现这种情况。 在这种情况下,请从 Partner Center 发布,或显式设置基本层级,并在提交之前查看草稿:

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

警告

--priceId 设置单个基准价格,不能保证各个市场价格得以保留。 在提交前验证所有预期的市场价格。 --noCommit 上传软件包并更新草稿;这不是试运行。

价格编号 Meaning
Tier<number> 基价层级,例如 Tier1012。 不是字面上的货币金额。
Free 使应用免费。
NotAvailable 使应用不可用。
Base 仅在特定于市场的定价中用于引用基准价格。 不适用于--priceId。

下表将扩展的价格层级映射到美国零售价格。 增量仅在每一行内适用。

级别范围 价格范围(美元) 每个层级的增量
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

例如,Tier1052售价为 $4.99。 在合作伙伴中心的“定价和可用性>”视图表下确认当前价格和特定市场的价格。 有关完整的价格等级列表,请参阅 价格等级。

飞行命令

子命令 说明
列表 检索指定应用程序的所有外部测试版。
获取 根据指定的应用程序和外部测试版检索该外部测试版。
删除 删除指定应用程序的指定外部测试版。
create 为指定应用程序创建指定的外部测试版。
提交 执行航班提交相关任务。

航班 - 列表 - 使用情况

msstore flights list <productId>

参数

论点 说明
productId 产品 ID。

选项

选项 说明
-v, --verbose 打印详细输出。
-?, -h,--help 显示帮助和使用情况信息。

外部测试版 - 获取 - 用法

msstore flights get <productId> <flightId>

参数

论点 说明
productId 产品 ID。
flightId 航班 ID。

选项

选项 说明
-v, --verbose 打印详细输出。
-?, -h,--help 显示帮助和使用情况信息。

航班 - 删除 - 使用情况

msstore flights delete <productId> <flightId>

参数

论点 说明
productId 产品 ID。
flightId 航班 ID。

选项

选项 说明
-v, --verbose 打印详细输出。
-?, -h,--help 显示帮助和使用情况信息。

Flights - 创建 - 使用情况

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

参数

论点 说明
productId 产品 ID。
friendlyName 航班的友好名称。

选项

选项 说明
-g、--group-ids 要与外部测试版关联的组 ID。
-r, --rank-higher-than 要将当前外部测试版排在其前面的外部测试版 ID。
-v, --verbose 打印详细输出。
-?, -h,--help 显示帮助和使用情况信息。

外部测试版 - 提交

子命令 说明
获取 检索现有的包外部测试版提交,即现有草稿或最后发布的提交。
删除 从应用商店删除待处理的包外部测试版提交。
更新 使用提供的 JSON 更新现有飞行计划草稿。
发布 为现有草稿启动外部测试版提交过程。
民意调查 轮询,直到现有外部测试版提交变为 PUBLISHED 或 FAILED。
状态 检索应用商店外部测试版提交的当前状态。
推出 执行与外部测试版推出相关的操作。

外部测试版 - 提交 - 获取 - 用法

msstore flights submission get <productId> <flightId>

参数

论点 说明
productId 产品 ID。
flightId 航班 ID。

选项

选项 说明
-v, --verbose 打印详细输出。
-?, -h,--help 显示帮助和使用情况信息。

外部测试版 - 提交 - 删除 - 用法

msstore flights submission delete <productId> <flightId>

参数

论点 说明
productId 产品 ID。
flightId 航班 ID。

选项

选项 说明
--no-confirm 不请求确认。
-v, --verbose 打印详细输出。
-?, -h,--help 显示帮助和使用情况信息。

外部测试版 - 提交 - 更新 - 用法

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

参数

论点 说明
productId 产品 ID。
flightId 航班 ID。
product 更新后的 JSON 产品表示形式。

选项

选项 说明
-s, --skipInitialPolling 在执行操作之前,请跳过初始轮询。 [default: False]
-v, --verbose 打印详细输出。
-?, -h,--help 显示帮助和使用情况信息。

外部测试版 - 提交 - 发布 - 用法

msstore flights publish <productId> <flightId>

参数

论点 说明
productId 产品 ID。
flightId 航班 ID。

选项

选项 说明
-v, --verbose 打印详细输出。
-?, -h,--help 显示帮助和使用情况信息。

外部测试版 - 提交 - 轮询 - 用法

msstore flights poll <productId> <flightId>

参数

论点 说明
productId 产品 ID。
flightId 航班 ID。

选项

选项 说明
-v, --verbose 打印详细输出。
-?, -h,--help 显示帮助和使用情况信息。

飞行 - 提交 - 状态 - 使用情况

msstore flights status <productId> <flightId>

参数

论点 说明
productId 产品 ID。
flightId 航班 ID。

选项

选项 说明
-v, --verbose 打印详细输出。
-?, -h,--help 显示帮助和使用情况信息。

外部测试版 - 提交 - 推出

子命令 说明
获取 检索提交的外部测试版推出状态。
更新 更新提交的外部测试版推出百分比。
停止 停止提交的外部测试版推出。
完成 完成提交的外部测试版推出。

外部测试版 - 提交 - 推出 - 获取 - 用法

msstore flights submission rollout get <productId> <flightId>

参数

论点 说明
productId 产品 ID。
flightId 航班 ID。

选项

选项 说明
-s、--submissionId 提交 ID。
-v, --verbose 打印详细输出。
-?, -h,--help 显示帮助和使用情况信息。

航班 - 提交 - 发布 - 更新 - 使用情况

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

参数

论点 说明
productId 产品 ID。
flightId 航班 ID。
percentage 将收到提交推出内容的用户百分比。

选项

选项 说明
-s、--submissionId 提交 ID。
-v, --verbose 打印详细输出。
-?, -h,--help 显示帮助和使用情况信息。

外部测试版 - 提交 - 推出 - 停止 - 用法

msstore flights submission rollout halt <productId> <flightId>

参数

论点 说明
productId 产品 ID。
flightId 航班 ID。

选项

选项 说明
-s、--submissionId 提交 ID。
-v, --verbose 打印详细输出。
-?, -h,--help 显示帮助和使用情况信息。

外部测试版 - 提交 - 推出 - 完成 - 用法

msstore flights submission rollout finalize <productId> <flightId>

参数

论点 说明
productId 产品 ID。
flightId 航班 ID。

选项

选项 说明
-s、--submissionId 提交 ID。
-v, --verbose 打印详细输出。
-?, -h,--help 显示帮助和使用情况信息。

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称它们为Secret Variables,但GitHub Action称它们为Encrypted Secrets。 为每个参数 (TenantId, SellerId, ClientId, 和 ClientSecret 或 Certificate) 创建一个密钥,然后使用 命令来设置您的环境。

例如:

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(预览版)。