Instalación
Paso 1: instalar el runtime para Windows de .NET
Si todavía no lo ha hecho, instale la última versión del runtime para escritorio de .NET 8. Este es un requisito para ejecutar Microsoft Store Developer CLI.
La manera más fácil de instalarla es mediante winget:
winget install Microsoft.DotNet.DesktopRuntime.8
Paso 2: Instalar la CLI para desarrolladores de Microsoft Store en Windows
Puede descargar Microsoft Store Developer CLI desde Microsoft Store. Como alternativa, puede usar winget:
winget install "Microsoft Store Developer CLI"
Paso 1: instalar el runtime para macOS de .NET
Si todavía no lo ha hecho, instale la última versión del runtime de .NET 8. Este es un requisito para ejecutar Microsoft Store Developer CLI.
Paso 2: Instalar la CLI para desarrolladores de Microsoft Store en macOS
Puede descargar el archivo .tar.gz de macOS para su arquitectura específica (x64 o Arm64) desde la página de versiones de Microsoft Store Developer CLI. Una vez descargado, extraiga el archivo y colóquelo en la RUTA, independientemente de cómo quiera hacerlo, por ejemplo:
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
Como alternativa, puede usar brew:
brew install microsoft/msstore-cli/msstore-cli
Paso 1: instalar el runtime para Linux de .NET
Si todavía no lo ha hecho, instale la última versión del runtime de .NET 8. Este es un requisito para ejecutar Microsoft Store Developer CLI.
Paso 2: Instalar la CLI para desarrolladores de Microsoft Store en Linux
Puede descargar el archivo .tar.gz de Linux para su arquitectura específica (x64 o Arm64) desde la página de versiones de Microsoft Store Developer CLI. Una vez descargado, extraiga el archivo y colóquelo en la RUTA, independientemente de cómo quiera hacerlo, por ejemplo:
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
Como alternativa, puede usar brew:
brew install microsoft/msstore-cli/msstore-cli
Comando de información
Imprima la configuración existente.
Usage
msstore info
Options
| Opción |
Descripción |
| -v, --detallado |
Imprima la salida detallada. |
| -?, -h, --help: Ayuda |
Mostrar información de ayuda y uso. |
Vuelva a configurar la CLI para desarrolladores de Microsoft Store. Puede proporcionar un secreto de cliente o un certificado. Los certificados se pueden proporcionar a través de su huella digital o proporcionando una ruta de acceso de archivo (con o sin contraseña).
Usage
msstore reconfigure
Options
| Opción |
Descripción |
| -t, --tenantId |
Especifique el identificador de inquilino que se debe usar. |
| -s, --sellerId |
Especifique el identificador de vendedor que se debe usar. |
| -c, --clientId |
Especifique el identificador de cliente que se debe usar. |
| -cs, --clientSecret |
Especifique el secreto de cliente que se debe usar. |
| -ct, --certificadoHuella digital |
Especifique la huella digital del certificado que se debe usar. |
| -cfp, --certificateFilePath |
Especifique la ruta de acceso del archivo de certificado que se debe usar. |
| -cp, --certificatePassword (contraseña del certificado) |
Especifique la contraseña del certificado que se debe usar. |
| --restablecimiento |
Restablezca solo las credenciales, sin empezar de nuevo. |
| -v, --detallado |
Imprima la salida detallada. |
| -?, -h, --help |
Mostrar información de ayuda y uso. |
Settings (Comando)
Cambie la configuración de la CLI para desarrolladores de Microsoft Store.
Usage
msstore settings
Options
| Opción |
Descripción |
| -t, --habilitarTelemetry |
Habilite (vacío/true) o deshabilite (false) telemetría. |
| -v, --detallado |
Imprima la salida detallada. |
| -?, -h, --help |
Mostrar información de ayuda y uso. |
Subcomando de SetPDN
Establezca la propiedad Nombre para mostrar del publicador que usa el comando init.
Usage
msstore settings setpdn <publisherDisplayName>
Argumentos
| Argumento |
Descripción |
publisherDisplayName |
Propiedad Nombre para mostrar del publicador que se establecerá globalmente. |
Options
| Opción |
Descripción |
| -?, -h, --help (opciones de ayuda de línea de comandos) |
Mostrar información de ayuda y uso. |
Comando de aplicaciones
| Sub-Comando |
Descripción |
|
lista |
Enumera todas las aplicaciones de la cuenta. |
|
Obtener |
Obtiene los detalles de una aplicación específica. |
Aplicaciones: lista: uso
msstore apps list
Options
| Opción |
Descripción |
| -v, --detallado |
Imprima la salida detallada. |
| -?, -h, --help |
Mostrar información de ayuda y uso. |
Aplicaciones - Obtener - Uso
msstore apps get <productId>
Argumentos
| Argumento |
Descripción |
productId |
ID de producto de la Tienda. |
Options
| Opción |
Descripción |
| -v, --detallado |
Imprima la salida detallada. |
| -?, -h, --help |
Mostrar información de ayuda y uso. |
Comando de envío
| Sub-Comando |
Descripción |
|
estado |
Obtiene el estado de un envío. |
|
Obtener |
Obtiene los metadatos y la información del paquete de un envío específico. |
|
obtenerActivosDeListado |
Obtiene los recursos de lista de un envío específico. |
|
actualizarMetadatos |
Actualiza los metadatos de un envío específico. |
|
encuesta |
Sondea el estado de un envío. |
|
publicar |
Publica un envío específico. |
|
eliminación |
Elimina un envío específico. |
Envío: estado: uso
msstore submission status <productId>
Argumentos
| Argumento |
Descripción |
productId |
ID de producto de la Tienda. |
Options
| Opción |
Descripción |
| -v, --detallado |
Imprima la salida detallada. |
| -?, -h, --help |
Mostrar información de ayuda y uso. |
Envío - Obtener - Uso
msstore submission get <productId>
Argumentos
| Argumento |
Descripción |
productId |
ID de producto de la Tienda. |
Options
| Opción |
Descripción |
| -v, --detallado |
Imprima la salida detallada. |
| -?, -h, --help |
Mostrar información de ayuda y uso. |
Envío: GetListingAssets: uso
msstore submission getListingAssets <productId>
Argumentos
| Argumento |
Descripción |
productId |
ID de producto de la Tienda. |
Options
| Opción |
Descripción |
| -v, --detallado |
Imprima la salida detallada. |
| -?, -h, --help |
Mostrar información de ayuda y uso. |
msstore submission updateMetadata <productId> <metadata>
Argumentos
| Argumento |
Descripción |
productId |
ID de producto de la Tienda. |
metadata |
Representación actualizada de metadatos JSON. |
Options
| Opción |
Descripción |
| -s, --skipInitialPolling (saltar el sondeo inicial) |
Omita el sondeo inicial antes de ejecutar la acción. [valor predeterminado: False] |
| -v, --detallado |
Imprima la salida detallada. |
| -?, -h, --help |
Mostrar información de ayuda y uso. |
Envío - Encuesta - Uso
msstore submission poll <productId>
Argumentos
| Argumento |
Descripción |
productId |
ID de producto de la Tienda. |
Options
| Opción |
Descripción |
| -v, --detallado |
Imprima la salida detallada. |
| -?, -h, --help |
Mostrar información de ayuda y uso. |
Envío: publicación: uso
msstore submission publish <productId>
Argumentos
| Argumento |
Descripción |
productId |
ID de producto de la Tienda. |
Options
| Opción |
Descripción |
| -v, --detallado |
Imprima la salida detallada. |
| -?, -h, --help |
Mostrar información de ayuda y uso. |
Envío: eliminación: uso
msstore submission delete <productId>
Argumentos
| Argumento |
Descripción |
productId |
ID de producto de la Tienda. |
Options
| Opción |
Descripción |
| --no-confirmar |
No solicita confirmación. [valor predeterminado: False] |
| -v, --detallado |
Imprima la salida detallada. |
| -?, -h, --help |
Mostrar información de ayuda y uso. |
Comando de inicialización
El init comando le ayuda a configurar la aplicación para publicarla en Microsoft Store. Actualmente admite los siguientes tipos de aplicación:
- SDK de Aplicaciones para Windows o WinUI 3
- Plataforma Universal de Windows (UWP)
- .NET MAUI
- Flamear
- Electrón
- React Native para escritorio
- PWA
Ejemplos de uso
SDK de Aplicaciones para Windows o WinUI 3
msstore init "C:\path\to\winui3_app"
Plataforma Universal de Windows (UWP)
msstore init "C:\path\to\uwp_app"
.NET MAUI
msstore init "C:\path\to\maui_app"
Flamear
msstore init "C:\path\to\flutter_app"
Electrón
msstore init "C:\path\to\electron_app"
React Native para escritorio
msstore init "C:\path\to\react_native_app"
Nota:
Para Electron, así como React Native para proyectos de escritorio, y NpmYarn se admiten. La presencia del archivo de bloqueo (Yarn) se usará para determinar qué administrador de paquetes usar, así que asegúrese de proteger el yarn.lock archivo de bloqueo en el sistema de control de código fuente.
PWA
msstore init https://contoso.com --output .
Argumentos
| Argumento |
Descripción |
pathOrUrl |
Ruta de acceso del directorio raíz donde está el archivo del proyecto o una URL pública que apunta a una PWA. |
Options
| Opción |
Descripción |
| -n, --editorDisplayName |
Nombre para mostrar del publicador usado para configurar la aplicación. Si se proporciona, evita una llamada adicional a las API. |
| --paquete |
Si es compatible con el tipo de aplicación, empaqueta automáticamente el proyecto. |
| --publicar |
Si es compatible con el tipo de aplicación, publica automáticamente el proyecto. Implica "--package true" |
| -f, --ID de vuelo |
Especifica el id. de vuelo donde se publicará el paquete. |
| -prp, --packageRolloutPercentage |
Especifica el porcentaje de lanzamiento del paquete. El valor debe estar entre 0 y 100. |
| -a, --arco |
Arquitecturas para las que se va a compilar. Si no se proporciona, se usará la arquitectura predeterminada para el sistema operativo actual y el tipo de proyecto. Valores permitidos: "x86", "x64", "arm64". Solo se usó junto con "--package true". |
| -o, --salida |
Directorio de salida donde se almacenará la aplicación empaquetada. Si no se proporciona, se usará el directorio predeterminado para cada tipo de aplicación diferente. |
| -ver, --version (muestra la versión) |
Versión que se usa al compilar la aplicación. Si no se proporciona, se usará la versión del archivo del proyecto. |
Comando de paquetes
Ayuda a empaquetar la aplicación de Microsoft Store como MSIX.
Ejemplos de uso
SDK de Aplicaciones para Windows o WinUI 3
msstore package "C:\path\to\winui3_app"
Plataforma Universal de Windows (UWP)
msstore package "C:\path\to\uwp_app"
.NET MAUI
msstore package "C:\path\to\maui_app"
Flamear
msstore package "C:\path\to\flutter_app"
Electrón
msstore package "C:\path\to\electron_app"
React Native para escritorio
msstore package "C:\path\to\react_native_app"
PWA
msstore package "C:\path\to\pwa_app"
Argumentos
| Opción |
Descripción |
pathOrUrl |
Ruta de acceso del directorio raíz donde está el archivo del proyecto o una URL pública que apunta a una PWA. |
Options
| Opción |
Descripción |
| -o, --salida |
Directorio de salida donde se almacenará la aplicación empaquetada. Si no se proporciona, se usará el directorio predeterminado para cada tipo de aplicación diferente. |
| -a, --arco |
Arquitecturas para las que se va a compilar. Si no se proporciona, se usará la arquitectura predeterminada para el sistema operativo actual y el tipo de proyecto. Valores permitidos: "x86", "x64", "arm64". |
| -ver, --version (muestra la versión) |
Versión que se usa al compilar la aplicación. Si no se proporciona, se usará la versión del archivo del proyecto. |
Comando de publicación
Publica su aplicación en Microsoft Store.
Ejemplos de uso
SDK de Aplicaciones para Windows o WinUI 3
msstore publish "C:\path\to\winui3_app"
Plataforma Universal de Windows (UWP)
msstore publish "C:\path\to\uwp_app"
.NET MAUI
msstore publish "C:\path\to\maui_app"
Flamear
msstore publish "C:\path\to\flutter_app"
Electrón
msstore publish "C:\path\to\electron_app"
React Native para escritorio
msstore publish "C:\path\to\react_native_app"
PWA
msstore publish "C:\path\to\pwa_app"
Argumentos
| Opción |
Descripción |
pathOrUrl |
Ruta de acceso del directorio raíz donde está el archivo del proyecto o una URL pública que apunta a una PWA. |
Options
| Opción |
Descripción |
| -i, --archivoEntrada |
Ruta de acceso al archivo '.msix' o '.msixupload' que se usará para el comando de publicación. Si no se proporciona, la CLI intentará encontrar el mejor candidato en función del argumento "pathOrUrl". |
| -id, --appId |
Especifica el identificador de la aplicación. Solo es necesario si el proyecto no se ha inicializado antes con el comando "init". |
| -nc, --noCommit |
Deshabilita la confirmación del envío y la mantiene en estado de borrador. |
| -f, --ID de vuelo |
Especifica el id. de vuelo donde se publicará el paquete. |
| -prp, --porcentajeDesplieguePaquete |
Especifica el porcentaje de lanzamiento del paquete. El valor debe estar entre 0 y 100. |
Comando de vuelo
| Sub-Comando |
Descripción |
|
lista |
Recupera todos los vuelos de la aplicación especificada. |
|
Obtener |
Recupera un vuelo para la aplicación y el vuelo especificados. |
|
eliminación |
Elimina un vuelo para la aplicación y el vuelo especificados. |
|
create |
Crea un vuelo para la aplicación y el vuelo especificados. |
|
Sumisión |
Ejecutar tareas relacionadas con presentaciones de vuelos. |
Vuelos - Lista - Uso
msstore flights list <productId>
Argumentos
| Argumento |
Descripción |
productId |
Identificador del producto. |
Options
| Opción |
Descripción |
| -v, --detallado |
Imprima la salida detallada. |
| -?, -h, --help |
Mostrar información de ayuda y uso. |
Vuelos - Obtener - Uso
msstore flights get <productId> <flightId>
Argumentos
| Argumento |
Descripción |
productId |
Identificador del producto. |
flightId |
Id. de vuelo. |
Options
| Opción |
Descripción |
| -v, --detallado |
Imprima la salida detallada. |
| -?, -h, --help (muestra ayuda) |
Mostrar información de ayuda y uso. |
Vuelos - Eliminar - Uso
msstore flights delete <productId> <flightId>
Argumentos
| Argumento |
Descripción |
productId |
Identificador del producto. |
flightId |
Id. de vuelo. |
Options
| Opción |
Descripción |
| -v, --detallado |
Imprima la salida detallada. |
| -?, -h, --help |
Mostrar información de ayuda y uso. |
Vuelos - Crear - Uso
msstore flights create <productId> <friendlyName> --group-ids <group-ids>
Argumentos
| Argumento |
Descripción |
productId |
Identificador del producto. |
friendlyName |
Nombre amigable del vuelo. |
Options
| Opción |
Descripción |
| -g, --id de grupos |
Identificadores de grupo para asociar al vuelo. |
| -r, --rank-más-alto-que |
Identificador de vuelo que se va a clasificar más alto que. |
| -v, --detallado |
Imprima la salida detallada. |
| -?, -h, --help |
Mostrar información de ayuda y uso. |
Vuelos - Presentación
| Sub-Comando |
Descripción |
|
Obtener |
Recupera la presentación del paquete de vuelo existente, ya sea el borrador actual o el último publicado. |
|
eliminación |
Elimina la presentación del paquete de vuelo pendiente de la tienda. |
|
actualizar |
Actualiza el borrador de vuelo existente con el JSON proporcionado. |
|
publicar |
Inicia el proceso de envío de vuelos para el borrador existente. |
|
encuesta |
Consulta hasta que se publique o falle el envío del vuelo existente. |
|
estado |
Recupera el estado actual de la entrega de vuelo de la tienda. |
|
lanzamiento |
Ejecutar operaciones relacionadas con la implementación de paquetes piloto. |
Vuelos - Envío de datos - Consulta - Uso
msstore flights submission get <productId> <flightId>
Argumentos
| Argumento |
Descripción |
productId |
Identificador del producto. |
flightId |
Id. de vuelo. |
Options
| Opción |
Descripción |
| -v, --detallado |
Imprima la salida detallada. |
| -?, -h, --help |
Mostrar información de ayuda y uso. |
Vuelos - Envío - Eliminar - Uso
msstore flights submission delete <productId> <flightId>
Argumentos
| Argumento |
Descripción |
productId |
Identificador del producto. |
flightId |
Id. de vuelo. |
Options
| Opción |
Descripción |
| --no-confirmar |
No solicita confirmación. |
| -v, --detallado |
Imprima la salida detallada. |
| -?, -h, --help |
Mostrar información de ayuda y uso. |
Vuelos - Envío - Actualización - Uso
msstore flights submission update <productId> <flightId> <product>
Argumentos
| Argumento |
Descripción |
productId |
Identificador del producto. |
flightId |
Id. de vuelo. |
product |
Representación actualizada del producto JSON. |
Options
| Opción |
Descripción |
| -s, --skipInitialPolling (saltar el sondeo inicial) |
Omita el sondeo inicial antes de ejecutar la acción. [valor predeterminado: False] |
| -v, --detallado |
Imprima la salida detallada. |
| -?, -h, --help |
Mostrar información de ayuda y uso. |
Vuelos - Envío - Publicación - Uso
msstore flights publish <productId> <flightId>
Argumentos
| Argumento |
Descripción |
productId |
Identificador del producto. |
flightId |
Id. de vuelo. |
Options
| Opción |
Descripción |
| -v, --detallado |
Imprima la salida detallada. |
| -?, -h, --help |
Mostrar información de ayuda y uso. |
Vuelos - Envío - Sondeo - Uso
msstore flights poll <productId> <flightId>
Argumentos
| Argumento |
Descripción |
productId |
Identificador del producto. |
flightId |
Id. de vuelo. |
Options
| Opción |
Descripción |
| -v, --detallado |
Imprima la salida detallada. |
| -?, -h, --help |
Mostrar información de ayuda y uso. |
Vuelos - Envío - Estado - Uso
msstore flights status <productId> <flightId>
Argumentos
| Argumento |
Descripción |
productId |
Identificador del producto. |
flightId |
Id. de vuelo. |
Options
| Opción |
Descripción |
| -v, --detallado |
Imprima la salida detallada. |
| -?, -h, --help (ayuda) |
Mostrar información de ayuda y uso. |
Vuelos - Presentación - Lanzamiento
| Sub-Comando |
Descripción |
|
Obtener |
Recupera el estado de lanzamiento piloto de un envío. |
|
actualizar |
Actualice el porcentaje de lanzamiento piloto de un envío. |
|
parar |
Detiene el lanzamiento piloto de un envío. |
|
finalizar |
Finaliza el lanzamiento piloto de un envío. |
Vuelos - Envío - Lanzamiento - Obtener - Uso
msstore flights submission rollout get <productId> <flightId>
Argumentos
| Argumento |
Descripción |
productId |
Identificador del producto. |
flightId |
Id. de vuelo. |
Options
| Opción |
Descripción |
| -s, --idDeEnvío |
Identificador de envío. |
| -v, --detallado |
Imprima la salida detallada. |
| -?, -h, --help |
Mostrar información de ayuda y uso. |
Vuelos - Envío - Lanzamiento - Actualización - Uso
msstore flights submission rollout update <productId> <flightId> <percentage>
Argumentos
| Argumento |
Descripción |
productId |
Identificador del producto. |
flightId |
Id. de vuelo. |
percentage |
Porcentaje de usuarios que recibirán el lanzamiento de envío. |
Options
| Opción |
Descripción |
| -s, --submissionId (identificador de envío) |
Id. de envío. |
| -v, --detallado |
Imprima la salida detallada. |
| -?, -h, --help |
Mostrar información de ayuda y uso. |
Vuelos - Presentación - Despliegue - Paralización - Uso
msstore flights submission rollout halt <productId> <flightId>
Argumentos
| Argumento |
Descripción |
productId |
Identificador del producto. |
flightId |
Id. de vuelo. |
Options
| Opción |
Descripción |
| If "submissionId" indeed needs to be translated for clarity to a Spanish-speaking technical audience, an improvement could be made. Based on potential context:
-s, --idDeEnvío |
Identificador de envío. |
| -v, --detallado |
Imprima la salida detallada. |
| -?, -h, --help |
Mostrar información de ayuda y uso. |
Vuelos - Envío - Lanzamiento - Finalizar - Utilización
msstore flights submission rollout finalize <productId> <flightId>
Argumentos
| Argumento |
Descripción |
productId |
Identificador del producto. |
flightId |
Id. de vuelo. |
Options
| Opción |
Descripción |
| -s, --submissionId (ID de envío) |
ID de presentación. |
| -v, --detallado |
Imprima la salida detallada. |
| -?, -h, --help |
Mostrar información de ayuda y uso. |
Entornos de CI/CD
La CLI para desarrolladores de Microsoft Store (versión preliminar) admite la ejecución en entornos de CI/CD. Esto significa que puedes usar la CLI para desarrolladores de Microsoft Store (versión preliminar) en las canalizaciones de CI/CD para, por ejemplo, publicar automáticamente las aplicaciones en Microsoft Store.
El primer paso para lograrlo para instalar la CLI para desarrolladores de Microsoft Store (versión preliminar) en el entorno de CI/CD. Puede encontrar instrucciones sobre cómo hacer esto aquí.
Después de instalar la CLI para desarrolladores de Microsoft Store (versión preliminar), debe configurar el entorno para poder ejecutar comandos. Para ello, ejecute el msstore reconfigure comando con los parámetros específicos que identifican la cuenta del Centro de partners (TenantId, SellerId, ClientId). También debe proporcionar un ClientSecret o un certificado.
Es muy importante ocultar estas credenciales, ya que estarán visibles en los registros de la canalización de CI/CD. Puede hacerlo mediante secretos. Cada sistema de canalización de CI/CD tiene nombres diferentes para estos secretos. Por ejemplo, Azure DevOps los llama Variables secretas, pero La acción de GitHub los llama Secretos cifrados. Cree un secreto para cada uno de los parámetros (TenantId, SellerId, ClientId y ClientSecret o Certificate) y, a continuación, use el comando para configurar el reconfigure entorno.
Por ejemplo:
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
Acciones de GitHub
- 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 }}
Una vez ejecutado este comando, la CLI para desarrolladores de Microsoft Store (versión preliminar) se configurará para usar las credenciales proporcionadas. Ahora puede usar la CLI para desarrolladores de Microsoft Store (versión preliminar) en la canalización de CI/CD.