Instalação
Etapa 1: Instalar o Runtime do Windows .NET
Se você ainda não tiver feito isso, instale a versão mais recente do .NET 8 Desktop Runtime. Este é um requisito para executar a CLI do desenvolvedor da Microsoft Store.
A maneira mais fácil de instalá-lo é usar winget:
winget install Microsoft.DotNet.DesktopRuntime.8
Etapa 2: Instalar a CLI do desenvolvedor da Microsoft Store no Windows
Você pode baixar a CLI do desenvolvedor da Microsoft Store na Microsoft Store. Alternativamente, você pode usar winget:
winget install "Microsoft Store Developer CLI"
Etapa 1: Instalar o .NET macOS Runtime
Se você ainda não tiver feito isso, instale a versão mais recente do .NET 8 Runtime. Este é um requisito para executar a CLI do desenvolvedor da Microsoft Store.
Etapa 2: Instalar a CLI do desenvolvedor da Microsoft Store no macOS
Você pode baixar o macOS .tar.gz para sua arquitetura específica (x64 ou Arm64) na página de versões da Microsoft Store Developer CLI. Uma vez baixado, extraia o arquivo e coloque-o em seu PATH, como você quiser fazer isso, por exemplo:
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
Alternativamente, você pode usar brew:
brew install microsoft/msstore-cli/msstore-cli
Etapa 1: Instalar o .NET Linux Runtime
Se você ainda não tiver feito isso, instale a versão mais recente do .NET 8 Runtime. Este é um requisito para executar a CLI do desenvolvedor da Microsoft Store.
Etapa 2: Instalar a CLI do desenvolvedor da Microsoft Store no Linux
Você pode baixar o .tar.gz Linux para a sua arquitetura específica (x64 ou Arm64) a partir da página de versões da Microsoft Store Developer CLI. Uma vez baixado, extraia o arquivo e coloque-o em seu PATH, como você quiser fazer isso, por exemplo:
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
Alternativamente, você pode usar brew:
brew install microsoft/msstore-cli/msstore-cli
Comando Info
Imprima a configuração existente.
Usage
msstore info
Opções
| Opção |
Descrição |
| -v, --verborrágico |
Exiba a saída detalhada. |
| -?, -h, --ajuda |
Mostrar informações de ajuda e utilização. |
Reconfigure a CLI do desenvolvedor da Microsoft Store. Você pode fornecer um Segredo do Cliente ou um Certificado. Os certificados podem ser fornecidos através de sua impressão digital ou fornecendo um caminho de arquivo (com ou sem senha).
Usage
msstore reconfigure
Opções
| Opção |
Descrição |
| -t, --idInquilino |
Especifique o ID do locatário que deve ser usado. |
| -s, --IdVendedor |
Especifique o ID do vendedor que deve ser usado. |
| -c, --ID do cliente |
Especifique o ID do cliente que deve ser usado. |
| -cs, --clientSecret |
Especifique o segredo do cliente que deve ser usado. |
| -ct, --Certificado de Impressão Digital |
Especifique a impressão digital do certificado que deve ser usada. |
| -cfp, --certificateFilePath |
Especifique o caminho do arquivo de certificado que deve ser usado. |
| -cp, --certificatePassword (palavra-passe do certificado) |
Especifique a senha do certificado que deve ser usada. |
| --reiniciar |
Apenas redefina as credenciais, sem começar de novo. |
| -v, --verborrágico |
Exiba a saída detalhada. |
| -?, -h, --ajuda |
Mostrar informações de ajuda e utilização. |
Comando de Configurações
Altere as configurações da CLI do desenvolvedor da Microsoft Store.
Usage
msstore settings
Opções
| Opção |
Descrição |
| -t, --ativarTelemetria |
Ativar (vazio/verdadeiro) ou desativar (falso) a telemetria. |
| -v, --verborrágico |
Exiba a saída detalhada. |
| -?, -h, --ajuda |
Mostrar informações de ajuda e utilização. |
SetPDN Sub-Comando
Defina a propriedade Nome de Exibição do Editor usada pelo comando init.
Usage
msstore settings setpdn <publisherDisplayName>
Argumentos
| Argumento |
Descrição |
publisherDisplayName |
A propriedade Nome de Exibição do Editor que será definida globalmente. |
Opções
| Opção |
Descrição |
| -?, -h, --ajuda |
Mostrar informações de ajuda e utilização. |
Comando de Aplicações
| Sub-Command |
Descrição |
|
Lista |
Lista todas as aplicações na sua conta. |
|
Obter |
Obtém os detalhes de um aplicativo específico. |
Aplicações - Lista - Utilização
msstore apps list
Opções
| Opção |
Descrição |
| -v, --verborrágico |
Exiba a saída detalhada. |
| -?, -h, --ajuda |
Mostrar informações de ajuda e utilização. |
Aplicações - Obter - Utilização
msstore apps get <productId>
Argumentos
| Argumento |
Descrição |
productId |
O ID do produto da loja. |
Opções
| Opção |
Descrição |
| -v, --verborrágico |
Exiba a saída detalhada. |
| -?, -h, --ajuda |
Mostrar informações de ajuda e utilização. |
Comando de submissão
| Sub-Command |
Descrição |
|
Situação |
Obtém o status de um envio. |
|
Obter |
Obtém os metadados e as informações do pacote de um envio específico. |
|
obterRecursosDeListagem |
Obtém os recursos de listagem de uma submissão específica. |
|
updateMetadados |
Atualiza os metadados de um envio específico. |
|
sondagem |
Sonda o status de um envio. |
|
publicar |
Publica uma submissão específica. |
|
suprimir |
Elimina uma submissão específica. |
Submissão - Estado - Utilização
msstore submission status <productId>
Argumentos
| Argumento |
Descrição |
productId |
O ID do produto da loja. |
Opções
| Opção |
Descrição |
| -v, --verborrágico |
Exiba a saída detalhada. |
| -?, -h, --ajuda |
Mostrar informações de ajuda e utilização. |
Submissão - Obter - Utilização
msstore submission get <productId>
Argumentos
| Argumento |
Descrição |
productId |
O ID do produto da loja. |
Opções
| Opção |
Descrição |
| -v, --verborrágico |
Exiba a saída detalhada. |
| -?, -h, --ajuda |
Mostrar informações de ajuda e utilização. |
Submissão - GetListingAssets - Uso
msstore submission getListingAssets <productId>
Argumentos
| Argumento |
Descrição |
productId |
O ID do produto da loja. |
Opções
| Opção |
Descrição |
| -v, --verborrágico |
Exiba a saída detalhada. |
| -?, -h, --ajuda |
Mostrar informações de ajuda e utilização. |
msstore submission updateMetadata <productId> <metadata>
Argumentos
| Argumento |
Descrição |
productId |
O ID do produto da loja. |
metadata |
A representação de metadados JSON atualizada. |
Opções
| Opção |
Descrição |
| -s, --ignorarPollingInicial |
Ignore a sondagem inicial antes de executar a ação. [padrão: False] |
| -v, --verborrágico |
Exiba a saída detalhada. |
| -?, -h, --ajuda |
Mostrar informações de ajuda e utilização. |
Submissão - Sondagem - Utilização
msstore submission poll <productId>
Argumentos
| Argumento |
Descrição |
productId |
O ID do produto da loja. |
Opções
| Opção |
Descrição |
| -v, --verborrágico |
Exiba a saída detalhada. |
| -?, -h, --ajuda |
Mostrar informações de ajuda e utilização. |
Submissão - Publicar - Utilização
msstore submission publish <productId>
Argumentos
| Argumento |
Descrição |
productId |
O ID do produto da loja. |
Opções
| Opção |
Descrição |
| -v, --verborrágico |
Exiba a saída detalhada. |
| -?, -h, --ajuda |
Mostrar informações de ajuda e utilização. |
Submissão - Eliminar - Utilização
msstore submission delete <productId>
Argumentos
| Argumento |
Descrição |
productId |
O ID do produto da loja. |
Opções
| Opção |
Descrição |
| --sem-confirmação |
Não solicite confirmação. [padrão: False] |
| -v, --verborrágico |
Exiba a saída detalhada. |
| -?, -h, --ajuda |
Mostrar informações de ajuda e utilização. |
Comando Init
O init comando ajuda você a configurar seu aplicativo para publicar na Microsoft Store. Atualmente, ele suporta os seguintes tipos de aplicativos:
- SDK do Aplicativo Windows/WinUI 3
- UWP
- .NET MAUI
- Flutter
- Elétron
- React Native para Desktop
- PWA
Exemplos de uso
SDK do Aplicativo Windows/WinUI 3
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"
Elétron
msstore init "C:\path\to\electron_app"
React Native para Desktop
msstore init "C:\path\to\react_native_app"
Observação
Para React Native para Desktop, bem como projetos Electron, ambos Npm e Yarn são suportados. A presença do ficheiro de bloqueio Yarn (yarn.lock) será usada para determinar qual gestor de pacotes utilizar, por isso, assegure-se de registar o ficheiro de bloqueio no sistema de controlo de código-fonte.
PWA
msstore init https://contoso.com --output .
Argumentos
| Argumento |
Descrição |
pathOrUrl |
O caminho do diretório raiz onde está o arquivo de projeto ou uma URL pública que aponta para um PWA. |
Opções
| Opção |
Descrição |
| -n, --nomeDeExibiçãoDoEditor |
O Nome de Exibição do Editor usado para configurar a aplicação. Se fornecido, evita uma chamada extra de APIs. |
| --embalagem |
Se suportado pelo tipo de aplicativo, empacota automaticamente o projeto. |
| --publicar |
Se for suportado pelo tipo de aplicativo, publica automaticamente o projeto. Implica '--package true' |
| -f, --flightId |
Especifica o ID do voo onde o pacote será publicado. |
| -prp, --percentagem de lançamento de pacote |
Especifica a porcentagem de distribuição do pacote. O valor deve estar entre 0 e 100. |
| -a, --arquitetura |
As arquiteturas a serem construídas. Se não for fornecida, a arquitetura padrão para o sistema operacional atual e o tipo de projeto serão usados. Valores permitidos: "x86", "x64", "arm64". Só o utilizou em conjunto com '--package true'. |
| -o, --saída |
O diretório de saída onde o aplicativo empacotado será armazenado. Se não for fornecido, o diretório padrão para cada tipo diferente de aplicativo será usado. |
| -ver, --versão |
A versão usada ao criar o aplicativo. Se não for fornecida, a versão do arquivo de projeto será usada. |
Comando do pacote
Ajuda você a empacotar seu aplicativo da Microsoft Store como um MSIX.
Exemplos de uso
SDK do Aplicativo Windows/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"
Elétron
msstore package "C:\path\to\electron_app"
React Native para Desktop
msstore package "C:\path\to\react_native_app"
PWA
msstore package "C:\path\to\pwa_app"
Argumentos
| Opção |
Descrição |
pathOrUrl |
O caminho do diretório raiz onde está o arquivo de projeto ou uma URL pública que aponta para um PWA. |
Opções
| Opção |
Descrição |
| -o, --saída |
O diretório de saída onde o aplicativo empacotado será armazenado. Se não for fornecido, o diretório padrão para cada tipo diferente de aplicativo será usado. |
| -a, --arquitetura |
As arquiteturas a serem construídas. Se não for fornecida, a arquitetura padrão para o sistema operacional atual e o tipo de projeto serão usados. Valores permitidos: "x86", "x64", "arm64". |
| -ver, --versão |
A versão usada ao criar o aplicativo. Se não for fornecida, a versão do arquivo de projeto será usada. |
Publicar Comando
Publica seu Aplicativo na Microsoft Store.
Exemplos de uso
SDK do Aplicativo Windows/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"
Elétron
msstore publish "C:\path\to\electron_app"
React Native para Desktop
msstore publish "C:\path\to\react_native_app"
PWA
msstore publish "C:\path\to\pwa_app"
Argumentos
| Opção |
Descrição |
pathOrUrl |
O caminho do diretório raiz onde está o arquivo de projeto ou uma URL pública que aponta para um PWA. |
Opções
| Opção |
Descrição |
| -i, --inputFile |
O caminho para o arquivo '.msix' ou '.msixupload' a ser usado para o comando de publicação. Se não for fornecida, a cli tentará encontrar o melhor candidato com base no argumento 'pathOrUrl'. |
| -id, --appId |
Especifica a ID do aplicativo. Apenas necessário se o projeto não tiver sido inicializado antes com o comando 'init'. |
| -nc, --noCommit (sem compromisso) |
Desabilita o envio de submissão, mantendo-o em estado de rascunho. |
| -f, --flightId (ID de voo) |
Especifica o ID do voo onde o pacote será publicado. |
| -prp, --percentagem de lançamento de pacote |
Especifica a porcentagem de distribuição do pacote. O valor deve estar entre 0 e 100. |
Comando de Voos
| Sub-Command |
Descrição |
|
Lista |
Recupera todos os voos para a Aplicação especificada. |
|
Obter |
Recupera um voo para a Aplicação e voo especificados. |
|
suprimir |
Elimina um voo para a Aplicação e voo especificados. |
|
create |
Cria um voo para a aplicação e o voo especificados. |
|
Submissão |
Executar tarefas relacionadas com submissões de voo. |
Voos - Lista - Utilização
msstore flights list <productId>
Argumentos
| Argumento |
Descrição |
productId |
O ID do produto. |
Opções
| Opção |
Descrição |
| -v, --verborrágico |
Exiba a saída detalhada. |
| -?, -h, --ajuda |
Mostrar informações de ajuda e utilização. |
Voos - Obtenção - Utilização
msstore flights get <productId> <flightId>
Argumentos
| Argumento |
Descrição |
productId |
O ID do produto. |
flightId |
O ID do voo. |
Opções
| Opção |
Descrição |
| -v, --verborrágico |
Exiba a saída detalhada. |
| -?, -h, --ajuda |
Mostrar informações de ajuda e utilização. |
Voos - Eliminar - Utilização
msstore flights delete <productId> <flightId>
Argumentos
| Argumento |
Descrição |
productId |
O ID do produto. |
flightId |
O ID do voo. |
Opções
| Opção |
Descrição |
| -v, --verborrágico |
Exiba a saída detalhada. |
| -?, -h, --ajuda |
Mostrar informações de ajuda e utilização. |
Voos - Criar - Utilização
msstore flights create <productId> <friendlyName> --group-ids <group-ids>
Argumentos
| Argumento |
Descrição |
productId |
O ID do produto. |
friendlyName |
O nome amigável do voo. |
Opções
| Opção |
Descrição |
| -g, --IDs de grupo |
IDs de grupo para associar com o voo. |
| -r, --classificação-superior-de- |
O ID do voo para obter uma classificação superior a. |
| -v, --verborrágico |
Exiba a saída detalhada. |
| -?, -h, --ajuda |
Mostrar informações de ajuda e utilização. |
Voos - Envio
| Sub-Command |
Descrição |
|
Obter |
Recupera a submissão existente do pacote em voo, seja o rascunho existente ou o último publicado. |
|
suprimir |
Apaga a submissão pendente do voo do pacote da loja. |
|
atualizar |
Atualiza o esboço de voo existente com o JSON fornecido. |
|
publicar |
Iniciar o processo de submissão de voo para o Rascunho existente. |
|
sondagem |
Sondagens até que a submissão de voo existente seja PUBLICADA ou REPROVADA. |
|
Situação |
Recupera o estado atual da submissão do voo da loja. |
|
Lançamento |
Executar operações relacionadas com o lançamento de voo. |
Voos - Submissão - Obtenção - Utilização
msstore flights submission get <productId> <flightId>
Argumentos
| Argumento |
Descrição |
productId |
O ID do produto. |
flightId |
O ID do voo. |
Opções
| Opção |
Descrição |
| -v, --verborrágico |
Exiba a saída detalhada. |
| -?, -h, --ajuda |
Mostrar informações de ajuda e utilização. |
Voos - Submissão - Apagar - Utilização
msstore flights submission delete <productId> <flightId>
Argumentos
| Argumento |
Descrição |
productId |
O ID do produto. |
flightId |
O ID do voo. |
Opções
| Opção |
Descrição |
| --sem-confirmação |
Não solicite confirmação. |
| -v, --verborrágico |
Exiba a saída detalhada. |
| -?, -h, --ajuda |
Mostrar informações de ajuda e utilização. |
Voos - Submissão - Atualização - Utilização
msstore flights submission update <productId> <flightId> <product>
Argumentos
| Argumento |
Descrição |
productId |
O ID do produto. |
flightId |
O ID do voo. |
product |
A representação atualizada do produto JSON. |
Opções
| Opção |
Descrição |
| -s, --ignorarPollingInicial |
Ignore a sondagem inicial antes de executar a ação. [padrão: False] |
| -v, --verborrágico |
Exiba a saída detalhada. |
| -?, -h, --ajuda |
Mostrar informações de ajuda e utilização. |
Voos - Submissão - Publicar - Utilização
msstore flights publish <productId> <flightId>
Argumentos
| Argumento |
Descrição |
productId |
O ID do produto. |
flightId |
O ID do voo. |
Opções
| Opção |
Descrição |
| -v, --verborrágico |
Exiba a saída detalhada. |
| -?, -h, --ajuda |
Mostrar informações de ajuda e utilização. |
Voos - Submissão - Inquérito - Utilização
msstore flights poll <productId> <flightId>
Argumentos
| Argumento |
Descrição |
productId |
O ID do produto. |
flightId |
O ID do voo. |
Opções
| Opção |
Descrição |
| -v, --verborrágico |
Exiba a saída detalhada. |
| -?, -h, --ajuda |
Mostrar informações de ajuda e utilização. |
Voos - Submissão - Estado - Utilização
msstore flights status <productId> <flightId>
Argumentos
| Argumento |
Descrição |
productId |
O ID do produto. |
flightId |
O ID do voo. |
Opções
| Opção |
Descrição |
| -v, --verborrágico |
Exiba a saída detalhada. |
| -?, -h, --ajuda |
Mostrar informações de ajuda e utilização. |
Voos - Envio - Lançamento
| Sub-Command |
Descrição |
|
Obter |
Recupera o estado de lançamento do voo de uma submissão. |
|
atualizar |
Atualize a percentagem de lançamento de voos numa submissão. |
|
Interromper |
Interrompe o lançamento de voo de uma submissão. |
|
finalizar |
Finaliza o lançamento de voos de uma submissão. |
Voos - Envio - Lançamento - Obtenção - Utilização
msstore flights submission rollout get <productId> <flightId>
Argumentos
| Argumento |
Descrição |
productId |
O ID do produto. |
flightId |
O ID do voo. |
Opções
| Opção |
Descrição |
| -s, --submissionId |
O identificador da submissão. |
| -v, --verborrágico |
Exiba a saída detalhada. |
| -?, -h, --ajuda |
Mostrar informações de ajuda e utilização. |
Voos - Envio - Lançamento - Atualização - Utilização
msstore flights submission rollout update <productId> <flightId> <percentage>
Argumentos
| Argumento |
Descrição |
productId |
O ID do produto. |
flightId |
O ID do voo. |
percentage |
A percentagem de utilizadores que receberão o lançamento da submissão. |
Opções
| Opção |
Descrição |
| -s, --submissionId |
O ID da submissão. |
| -v, --verborrágico |
Exiba a saída detalhada. |
| -?, -h, --ajuda |
Mostrar informações de ajuda e utilização. |
Voos - Submissão - Implementação - Paragem - Utilização
msstore flights submission rollout halt <productId> <flightId>
Argumentos
| Argumento |
Descrição |
productId |
O ID do produto. |
flightId |
O ID do voo. |
Opções
| Opção |
Descrição |
| -s, --identificadorDeSubmissão |
O ID do envio. |
| -v, --verborrágico |
Exiba a saída detalhada. |
| -?, -h, --ajuda |
Mostrar informações de ajuda e utilização. |
Voos - Submissão - Lançamento - Finalização - Utilização
msstore flights submission rollout finalize <productId> <flightId>
Argumentos
| Argumento |
Descrição |
productId |
O ID do produto. |
flightId |
O ID do voo. |
Opções
| Opção |
Descrição |
| -s, --submissionId |
ID de submissão. |
| -v, --verborrágico |
Exiba a saída detalhada. |
| -?, -h, --ajuda |
Mostrar informações de ajuda e utilização. |
Ambientes CI/CD
O Microsoft Store Developer CLI (preview) é compatível com a execução em ambientes de CI/CD. Isso significa que pode usar a Microsoft Store Developer CLI (visualização) nos seus pipelines de CI/CD para, por exemplo, publicar automaticamente as suas aplicações na Microsoft Store.
O primeiro passo para alcançar isso é instalar a Microsoft Store Developer CLI (versão de pré-visualização) no seu ambiente de CI/CD. Você pode encontrar instruções sobre como fazer isso aqui.
Depois de instalar a Microsoft Store Developer CLI (visualização), você precisa configurar seu ambiente para poder executar comandos. Você pode fazer isso executando o msstore reconfigure comando com os parâmetros específicos que identificam sua conta do Partner Center (TenantId, SellerId, ClientId). Você também precisa fornecer um ClientSecret ou um Certificado.
É muito importante ocultar essas credenciais, pois elas serão visíveis nos logs do seu pipeline de CI/CD. Você pode fazer isso usando segredos. Cada sistema de pipeline CI/CD têm nomes diferentes para essas informações secretas. Por exemplo, o Azure DevOps as chama de Variáveis Secretas, mas a Ação do GitHub as chama de Segredos Criptografados. Crie um segredo para cada um dos parâmetros (TenantId, SellerId, ClientId e ClientSecret ou um Certificado) e, em seguida, use o comando para configurar seu reconfigure ambiente.
Por exemplo:
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 }}
Depois que esse comando for executado, a CLI do desenvolvedor da Microsoft Store (visualização) será configurada para usar as credenciais fornecidas. Agora pode utilizar a Microsoft Store Developer CLI (pré-visualização) no seu pipeline de CI/CD.