Compartilhar via


Empacotando um executável da CLI como MSIX

Este guia orienta você pelo empacotamento de um executável de linha de comando existente como um pacote MSIX para distribuição por meio do Windows Package Manager (winget), da Microsoft Store ou da distribuição direta.

Pré-requisitos

  • Um executável da CLI existente (.exe) que você deseja empacotar
  • Windows 10 versão 1809 ou posterior

Steps

1. Organizar seu aplicativo da CLI

Coloque o executável da CLI e as dependências em uma pasta dedicada:

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

2. Instalar a CLI do winapp

winget install microsoft.winappcli --source winget

3. Gerar o appxmanifest.xml

winapp manifest generate --executable .\yourcli.exe

Isso cria um arquivo appxmanifest.xml com valores padrão preenchidos a partir do seu executável.

4. Configurar o manifesto

Edite o gerado appxmanifest.xml para adicionar um alias de execução, ocultar o aplicativo no menu Iniciar e atualizar os detalhes do aplicativo.

4.1 Adicionar namespace necessário

Adicione o uap5 namespace ao Package elemento:

<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 do menu Iniciar

Adicione no elemento <uap:VisualElements>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 Adicionar alias de execução

Adicione a extensão dentro do <Application> elemento:

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

Substitua yourcli.exe pelo nome de comando desejado para sua CLI.

4.4 Atualizar metadados do aplicativo

Atualize as seções Identity, Properties e VisualElements para adequar ao seu aplicativo de CLI.

5. Gerar um certificado de desenvolvimento (opcional)

Para teste e distribuição locais fora da Microsoft Store:

cd ~
winapp cert generate
winapp cert install

Importante

Mantenha seu certificado de desenvolvimento fora da pasta que contém o executável da CLI para evitar incluí-lo acidentalmente no pacote.

6. Empacote sua CLI

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

Isso cria um .msix arquivo no diretório atual.

Dica

  • A Microsoft Store assina o MSIX para você, não é necessário assinar antes do envio.
  • Talvez você precise de pacotes MSIX separados para cada arquitetura compatível (x64, Arm64).