Compartir a través de


Empaquetar un ejecutable CLI como MSIX

En esta guía se explica cómo empaquetar un archivo ejecutable de línea de comandos existente como un paquete MSIX para su distribución a través de Windows Package Manager (winget), Microsoft Store o distribución directa.

Prerrequisitos

  • Un ejecutable de la CLI existente (.exe) que desea empaquetar
  • Windows 10 versión 1809 o posterior

Pasos

1. Organización de la aplicación de la CLI

Coloque el ejecutable de la CLI y las dependencias en una carpeta dedicada:

mkdir MyCliPackage
cd MyCliPackage
# Copy your CLI executable and dependencies here

2. Instalación de la CLI de winapp

winget install microsoft.winappcli --source winget

3. Generar el appxmanifest.xml

winapp manifest generate --executable .\yourcli.exe

Esto crea un appxmanifest.xml archivo con valores predeterminados rellenados desde el archivo ejecutable.

4. Configurar el manifiesto

Edite el elemento generado appxmanifest.xml para agregar un alias de ejecución, oculte la aplicación en el menú Inicio y actualice los detalles de la aplicación.

4.1 Agregar espacio de nombres necesario

Agregue el espacio de nombres uap5 al elemento Package.

<Package
  xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
  ...
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:uap5="http://schemas.microsoft.com/appx/manifest/uap/windows10/5"
  xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
  IgnorableNamespaces="uap uap5 rescap">

4.2 Ocultar desde el menú Inicio

En el <uap:VisualElements> elemento , agregue AppListEntry="none":

<uap:VisualElements
    DisplayName="YourApp"
    Description="My Application"
    BackgroundColor="transparent"
    Square150x150Logo="Assets\Square150x150Logo.png"
    Square44x44Logo="Assets\Square44x44Logo.png"
    AppListEntry="none">
</uap:VisualElements>

4.3 Agregar alias de ejecución

Agregue la extensión dentro del <Application> elemento :

<Extensions>
  <uap5:Extension Category="windows.appExecutionAlias">
    <uap5:AppExecutionAlias>
      <uap5:ExecutionAlias Alias="yourcli.exe" />
    </uap5:AppExecutionAlias>
  </uap5:Extension>
</Extensions>

Reemplace por yourcli.exe el nombre del comando deseado para la CLI.

4.4 Actualizar metadatos de la aplicación

Actualice las Identitysecciones , Propertiesy VisualElements para que coincidan con la aplicación de la CLI.

5. Generar un certificado de desarrollo (opcional)

Para pruebas y distribución locales fuera de Microsoft Store:

cd ~
winapp cert generate
winapp cert install

Importante

Mantenga el certificado de desarrollo fuera de la carpeta que contiene el ejecutable de la CLI para evitar incluirlo accidentalmente en el paquete.

6. Empaquetar la CLI

winapp pack .\MyCliPackage --cert path\to\devcert.pfx

Esto crea un .msix archivo en el directorio actual.

Sugerencia

  • La Microsoft Store firma el MSIX por ti, no es necesario firmar antes de la submisión.
  • Es posible que necesite paquetes MSIX independientes para cada arquitectura que admita (x64, Arm64).