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
可以从
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,并使用具体参数标识您的合作伙伴中心帐户(TenantId、SellerId、ClientId)。 还需要提供 ClientSecret 或 证书。
隐藏这些凭据非常重要,因为它们将在 CI/CD 管道的日志中可见。 可以使用 机密执行此操作。 每个 CI/CD 管道系统都有这些机密的不同名称。 例如,Azure DevOps 把它们称为Secret Variables,而 GitHub Action 则称它们为Encrypted Secrets。 为每个参数(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 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(预览版)。