Partilhar via


Empacotamento de um executável CLI como MSIX

Este guia guia-o como empacotar um executável de linha de comandos existente como um pacote MSIX para distribuição via Windows Package Manager (winget), a Microsoft Store ou distribuição direta.

Pré-requisitos

  • Um executável de CLI existente (.exe) que queres empacotar
  • Windows 10 versão 1809 ou posterior

Passos

1. Organize a sua candidatura à CLI

Coloque o executável da sua CLI e quaisquer dependências numa 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

Isto cria um appxmanifest.xml ficheiro com valores predefinidos preenchidos pelo teu executável.

4. Configurar o manifesto

Edita o gerado appxmanifest.xml para adicionar um alias de execução, esconde a aplicação no menu Iniciar e atualiza os detalhes da aplicação.

4.1 Adicionar espaço de nomes 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

No <uap:VisualElements> elemento, adicione 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>

Substitui yourcli.exe pelo nome de comando desejado para a tua CLI.

4.4 Atualizar metadados da aplicação

Atualize as Identity seções, Properties e VisualElements para corresponderem à sua aplicação CLI.

5. Gerar um certificado de desenvolvimento (opcional)

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

cd ~
winapp cert generate
winapp cert install

Importante

Mantém o teu certificado de desenvolvimento fora da pasta que contém o executável da CLI para evitar inclui-lo acidentalmente no pacote.

6. Empacote o seu CLI

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

Isto cria um .msix ficheiro no diretório atual.

Sugestão

  • A Microsoft Store assina o MSIX por si, não precisa de assinar antes de submeter.
  • Podes precisar de pacotes MSIX separados para cada arquitetura que suportas (x64, Arm64).