Pacotes de aplicativo do pacote simples

Importante

Se você pretender enviar seu aplicativo para a Store, precisará entrar em contato com Suporte ao desenvolvedor Windows para obter aprovação para usar lotes simples.

Os pacotes simples são uma maneira aprimorada de agrupar os arquivos de pacote do aplicativo. Um arquivo de pacote de aplicativo Windows típico usa uma estrutura de empacotamento de vários níveis na qual os arquivos do pacote de aplicativo precisam estar contidos no pacote, os pacotes simples removem essa necessidade fazendo referência apenas aos arquivos do pacote do aplicativo, permitindo que eles fiquem fora do pacote do aplicativo. Como os arquivos de pacote do aplicativo não estão mais contidos no pacote, eles podem ser processados paralelamente, o que resulta em tempo de carregamento reduzido, publicação mais rápida (já que cada arquivo de pacote de aplicativo pode ser processado ao mesmo tempo) e, em última análise, iterações de desenvolvimento mais rápidas.

Flat Bundle Diagram

Outra vantagem de lotes simples é a necessidade de criar menos pacotes. Como os arquivos de pacote de aplicativo são referenciados apenas, duas versões do aplicativo podem referenciar o mesmo arquivo de pacote se o pacote não for alterado entre as duas versões. Assim, você precisa criar apenas os pacotes de aplicativo que foram alterados ao compilar os pacotes para a próxima versão do seu aplicativo. Por padrão, os pacotes simples referenciam arquivos de pacote de aplicativo dentro da mesma pasta que ele mesmo. No entanto, essa referência pode ser alterada para outros caminhos (caminhos relativos, compartilhamentos de rede e locais http). Para fazer isso, você deve fornecer diretamente um BundleManifest durante a criação de lote simples.

Como criar um lote simples

Um lote simples pode ser criado usando a ferramenta MakeAppx.exe ou usando o layout de empacotamento para definir a estrutura do seu lote.

Usando a MakeAppx.exe

Para criar um pacote simples usando MakeAppx.exe, use o comando "MakeAppx.exe pacote" como de costume, mas com a opção /fb para gerar o arquivo de pacote de aplicativo simples (que será extremamente pequeno, pois ele faz referência apenas aos arquivos do pacote do aplicativo e não contém nenhum conteúdo real).

Eis um exemplo da sintaxe do comando:

MakeAppx bundle [options] /d <content directory> /fb /p <output flat bundle name>

Para obter mais informações sobre como usar MakeAppx.exe, consulte Criar um pacote de aplicativos com a ferramenta MakeAppx.exe.

Usando o layout de empacotamento

Como alternativa, você pode criar um lote simples usando o layout de empacotamento. Para fazer isso, defina o atributo FlatBundle como true no elemento PackageFamily do manifesto do lote de aplicativo. Para saber mais sobre o layout de empacotamento, consulte Criação do pacote com o layout de empacotamento.

Como implantar um lote simples

Antes que um pacote simples possa ser implantado, cada um dos pacotes do aplicativo (além do pacote de aplicativos) deve ser assinado com o mesmo certificado. Isso ocorre porque todos os arquivos de pacote do aplicativo (.appx/.msix) agora são arquivos independentes e não estão mais contidos no arquivo de pacote de aplicativos (.appxbundle/.msixbundle).

Depois que os pacotes forem assinados, você poderá instalar o aplicativo por meio de uma destas opções:

  • Clique duas vezes no arquivo de pacote do aplicativo para instalar com o Instalador de Aplicativos.
  • Use o cmdlet Add-AppxPackage no PowerShell e aponte para o arquivo de pacote do aplicativo (supondo que os pacotes de aplicativos estejam onde o pacote de aplicativos espera que estejam).

Você não pode implantar os pacotes .appx/.msix individuais de um pacote simples por conta própria. Eles devem ser implantados por meio do .appxbundle/.msixbundle. No entanto, você pode atualizar pacotes .appx/.msix individuais de um pacote simples após a instalação inicial. Se você atualizar o pacote .appx/.msix individual, também precisará atualizar o manifesto do pacote simples.

Por exemplo, se o pacote simples v1 for composto por um .msixbundle, um x86 .msix, um x64 .msix e um .msix ativo, e você souber que seu pacote v2 tem apenas alterações no pacote de ativos, você só precisará criar o .msixbundle e o ativo .msix para poder instalar a atualização. Você deve criar o .msixbundle para v2 porque o pacote acompanha todas as versões de seus pacotes .msix. Ao elevar a versão do ativo .msix para v2, você precisa de um novo .msixbundle que tenha essa nova referência. O .msixbundle v2 pode conter referências ao v1 x86 .msix e x64 .msix; os pacotes .msix de um pacote simples não precisam ter o mesmo número de versão.