命令
安装
第 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 |
打印详细输出。 |
重新配置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 命令
提交 - 状态命令用法
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
msstore submission updateMetadata <productId> <metadata>
Argument |
说明 |
productId |
产品 ID。 |
metadata |
更新的 JSON 元数据表示形式。 |
选项 |
说明 |
-s、 --skipInitialPolling |
在执行操作之前,请跳过初始轮询。 [default: False] |
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 项目,均Npm
Yarn
受支持。 锁文件 (Yarn
yarn.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、SellerId、ClientId)的特定参数运行msstore reconfigure
命令。 还需要提供 ClientSecret 或 证书。
隐藏这些凭据非常重要,因为它们将在 CI/CD 管道的日志中可见。 可以使用机密执行此操作。 每个 CI/CD 管道系统都有这些机密的不同名称。 例如,Azure DevOps 将其称为机密变量,但 GitHub Action 会将其称为加密机密。 为每个参数(TenantId、SellerId、ClientId、ClientId 和 ClientSecret 或 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(预览版)。