通过


命令 (MSI/EXE)

Installation

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

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

安装它的最简单方法是使用 winget

winget install Microsoft.DotNet.DesktopRuntime.8

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

可以从 Microsoft Store 下载Microsoft Store开发人员 CLI。 或者,可以使用 winget

winget install "Microsoft Store Developer CLI"

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

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

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

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

信息命令

打印现有配置。

Usage

msstore info

选项

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

重新配置命令

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

Usage

msstore reconfigure

选项

选项 Description
-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

选项

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

"SetPDN 子命令"

设置发布者显示名称属性。

Usage

msstore settings setpdn <publisherDisplayName>

Arguments

论点 Description
publisherDisplayName 将全局设置的显示名称属性设置为Publisher。

选项

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

提交命令

子命令 Description
地位 获取提交的状态。
获取 获取特定提交的元数据和包信息。
getListingAssets 获取特定提交的清单资产。
updateMetadata 更新特定提交的元数据。
更新 更新特定提交项的程序包信息。
民意调查 轮询提交的状态。
发布 发布该特定提交。

提交 - 状态 - 使用情况

msstore submission status <productId>

Arguments

论点 Description
productId 合作伙伴中心 ID。

选项

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

提交 - 获取 - 使用

msstore submission get <productId>

Arguments

论点 Description
productId 合作伙伴中心 ID。

选项

选项 Description
「-l」、「--language」 选择要检索的语言。 [默认: 英]
-v、--verbose 打印详细信息输出。
-?, -h,--help 显示帮助和使用情况信息。

提交 - GetListingAssets - 使用情况

msstore submission getListingAssets <productId>

Arguments

论点 Description
productId 合作伙伴中心 ID。

选项

选项 Description
「-l」、「--language」 选择要检索的语言。 [默认: 英]
-v、--verbose 打印详细信息输出。
-?, -h,--help 显示帮助和使用情况信息。

提交 - UpdateMetadata - 使用情况

msstore submission updateMetadata <productId> <metadata>

Arguments

论点 Description
productId 合作伙伴中心 ID。
metadata 更新的 JSON 元数据表示形式。

选项

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

提交 - 更新 - 使用情况

msstore submission update <productId> <package>

Arguments

论点 Description
productId 合作伙伴中心 ID。
package 更新后的应用包的 JSON 表示形式。

选项

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

小窍门

请在调用 submission update 之前使用 submission get 来检索当前包 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 (for example, a new installer URL)

# Step 3: Pass the updated JSON to submission update
$updatedPackage = Get-Content -Raw package.json
msstore submission update <productId> $updatedPackage

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

提交 - 轮询 - 使用情况

msstore submission poll <productId>

Arguments

论点 Description
productId 合作伙伴中心 ID。

选项

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

提交 - 发布 - 使用情况

msstore submission publish <productId>

Arguments

论点 Description
productId 合作伙伴中心 ID。

选项

选项 Description
-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,并使用具体参数标识您的合作伙伴中心帐户(TenantIdSellerIdClientId)。 还需要提供 ClientSecret证书

隐藏这些凭据非常重要,因为它们将在 CI/CD 管道的日志中可见。 可以使用 机密执行此操作。 每个 CI/CD 管道系统都有这些机密的不同名称。 例如,Azure DevOps 把它们称为Secret Variables,而 GitHub Action 则称它们为Encrypted Secrets。 为每个参数(TenantIdSellerId、ClientId、ClientIdClientSecretCertificate)创建一个机密,然后使用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 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(预览版)。