命令

安装

第 1 步:安装 .NET Windows Runtime

若尚未安装,请安装 .NET 8 Desktop Runtime 的最新版本。 这是运行 Microsoft Store Developer CLI 的前提条件。

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

winget install Microsoft.DotNet.DesktopRuntime.8

步骤 2:在 Windows 上安装 Microsoft 应用商店开发人员 CLI

可以从 Microsoft Store 下载 Microsoft Store Developer CLI。 也可使用 WinGet

winget install "Microsoft Store Developer CLI"

第 1 步:安装 .NET macOS Runtime

若尚未安装,请安装 .NET 8 Runtime 的最新版本。 这是运行 Microsoft Store Developer CLI 的前提条件。

步骤 2:在 macOS 上安装 Microsoft 应用商店开发人员 CLI

可以从 Microsoft 应用商店开发人员 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 Developer CLI 的前提条件。

步骤 2:在 Linux 上安装 Microsoft 应用商店开发人员 CLI

可以从 Microsoft Store Developer 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 命令

打印现有配置。

Info 命令 - 用法

msstore info

Info 命令 - 选项

选项 说明
-v, --verbose 打印详细输出。

Reconfigure 命令

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

重新配置 - 使用情况

msstore reconfigure

重新配置 - 选项

选项 说明
-t、--tenantId 指定应使用的租户 ID。
-s、--sellerId 指定应使用的卖家 ID。
-c、--clientId 指定应使用的客户端 ID。
-cs、--clientSecret 指定应使用的客户端密码。
-ct、--certificateThumbprint 指定应使用的证书指纹。
-cfp、--certificateFilePath 指定应使用的证书文件路径。
-cp、--certificatePassword 指定应使用的证书密码。
--重置 仅重置凭据,而无需重新开始。

Settings 命令

更改 Microsoft 应用商店开发人员 CLI 的设置。

设置 - 使用情况

msstore settings
子命令 说明
setpdn 设置 init 命令使用的发布服务器显示名称属性。

设置 - 选项

选项 说明
-t、--enableTelemetry 启用(空/true)或禁用(false)遥测。
-v, --verbose 打印详细输出。

设置 - SetPDN 命令用法

msstore settings setpdn <publisherDisplayName>

参数

Argument 说明
publisherDisplayName 将全局设置的发布服务器显示名称属性。

帮助

msstore settings setpdn --help

Apps 命令

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

应用 - 列出命令用法

msstore apps list

列出命令 - 帮助

msstore apps list --help

应用 - 获取命令用法

msstore apps get <productId>

应用 - 获取命令参数

Argument 说明
productId 产品 ID。

应用 - 获取命令帮助

msstore apps get --help

Submission 命令

子命令 说明
status 获取提交的状态。
get 获取特定提交的详细信息。
getListingAssets 获取特定提交的列表资产。
updateMetadata 更新特定提交的元数据。
update 更新特定提交的详细信息。
民意调查 轮询提交的状态。
发布 发布特定提交。
delete 删除特定提交。

提交 - 状态命令用法

msstore submission status <productId>

提交 - 状态命令参数

Argument 说明
productId 产品 ID。

提交 - 状态命令帮助

msstore submission status --help

提交 - 获取命令用法

msstore submission get <productId>

提交 - 获取命令参数

Argument 说明
productId 产品 ID。

提交 - 获取命令选项

选项 说明
-m、--module 选择要检索的模块(“availability”、“listings”或“properties”)。
-l、--language 选择要检索的语言。 [default: en]

提交 - 获取命令帮助

msstore submission get --help

提交 - GetListingAssets 命令用法

从应用商店提交中检索现有草稿列表资产。

msstore submission getListingAssets <productId>

提交 - GetListingAssets 命令参数

Argument 说明
productId 产品 ID。

提交 - GetListingAssets 命令选项

选项 说明
-l、--language 选择要检索的语言。 [default: en]

提交 - GetListingAssets 命令帮助

msstore submission getListingAssets --help

提交 - UpdateMetadata 命令用法

msstore submission updateMetadata <productId> <metadata>

提交 - UpdateMetadata 命令参数

Argument 说明
productId 产品 ID。
metadata 更新的 JSON 元数据表示形式。

提交 - UpdateMetadata 命令选项

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

提交 - UpdateMetadata 命令帮助

msstore submission updateMetadata --help

提交 - 更新命令用法

msstore submission update <productId> <product>

提交 - 更新命令参数

Argument 说明
productId 产品 ID。
product 更新后的 JSON 产品表示形式。

提交 - 更新命令选项

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

提交 - 更新命令帮助

msstore submission update --help

提交 - 轮询命令使用情况

msstore submission poll <productId>

提交 - 轮询命令参数

Argument 说明
productId 产品 ID。

提交 - 轮询命令帮助

msstore submission poll --help

提交 - 发布命令用法

msstore submission publish <productId>

提交 - 发布命令参数

Argument 说明
productId 产品 ID。

提交 - 发布命令帮助

msstore submission publish --help

提交 - 删除命令用法

从应用商店中删除挂起的提交。

提交 - 删除命令参数

Argument 说明
productId 产品 ID。

提交 - 删除命令选项

选项 说明
--no-confirm 不提示确认。 [default: False]

提交 - 删除命令帮助

msstore submission delete --help

Init 命令

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

  • Windows 应用 SDK/WinUI 3
  • UWP
  • .NET MAUI
  • Flutter
  • Electron
  • React Native for Desktop
  • 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 命令 - 电子

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

Init 命令 - React Native for Desktop

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

注意

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

Init 命令 - PWA

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

Init 命令 - 参数

Argument 说明
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。

包命令 - 用法示例

包命令 - 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"

包命令 - Flutter

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

包命令 - 电子

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

包命令 - React Native for Desktop

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 生成应用时使用的版本。 如果未提供,将使用项目文件中的版本。

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"

发布命令 - Flutter

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

发布命令 - 电子

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

发布命令 - React Native for Desktop

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

发布命令 - PWA

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

发布命令 - 参数

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

发布命令 - 选项

选项 说明
-i, --inputDirectory 用于发布命令的“.msix”或“.msixupload”文件所在的目录。 如果未提供,cli 则会尝试根据“pathOrUrl”参数来查找最佳候选项。
-id, --appId 指定应用程序 ID。仅当项目之前未使用“init”命令初始化时,才需执行此操作。
-nc、--noCommit 禁用提交,使其保持草稿状态。
-f、--flightId 指定要在其中发布包的外部测试版 ID。
-prp、--packageRolloutPercentage 指定包的推出百分比。 该值必须介于 0 和 100 之间。

CI/CD 环境

Microsoft应用商店开发人员 CLI(预览版)支持在 CI/CD 环境中运行。 这意味着可以在 CI/CD 管道中使用 Microsoft 应用商店开发人员 CLI(预览版),例如,自动将应用程序发布到 Microsoft 应用商店。

实现此目的的第一步是在 CI/CD 环境中安装Microsoft应用商店开发人员 CLI(预览版)。 您可以在此处找到有关如何执行此操作的说明。

安装 Microsoft 应用商店开发人员 CLI(预览版)后,必须将环境配置为能够运行命令。 为此,可以使用标识合作伙伴中心帐户(TenantId、SellerIdClientId的特定参数运行msstore reconfigure命令。 还需要提供 ClientSecret证书

隐藏这些凭据非常重要,因为它们将在 CI/CD 管道的日志中可见。 可以使用机密执行此操作。 每个 CI/CD 管道系统都有这些机密的不同名称。 例如,Azure DevOps 将其称为机密变量,但 GitHub Action 会将其称为加密机密 为每个参数(TenantId、SellerId、ClientId、ClientIdClientSecret 或 Certificate)创建一个机密,然后使用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应用商店开发人员 CLI(预览版)将配置为使用提供的凭据。 现在可以在 CI/CD 管道中使用Microsoft应用商店开发人员 CLI(预览版)。