Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
Se você pretende enviar seu aplicativo para a Loja, precisará entrar em contato com o suporte do desenvolvedor do Windows e obter aprovação para usar pacotes de ativos.
Os pacotes de ativos são um tipo de pacote que atua como um local centralizado para os arquivos comuns de um aplicativo, eliminando efetivamente a necessidade de arquivos duplicados em seus pacotes de arquitetura. Os pacotes de ativos são semelhantes aos pacotes de recursos, pois ambos são projetados para conter conteúdo estático necessário para que seu aplicativo seja executado, mas diferentes, pois todos os pacotes de ativos são sempre baixados, independentemente da arquitetura do sistema, da linguagem ou da escala de exibição do usuário.
Como os pacotes de ativos contêm todos os arquivos independentes de arquitetura, linguagem e escala, aproveitar pacotes de ativos resulta em um tamanho geral reduzido de aplicativo empacotado (já que esses arquivos não são mais duplicados), ajudando você a gerenciar o uso de espaço em disco de desenvolvimento local para aplicativos grandes e gerenciar os pacotes do aplicativo em geral.
Como os pacotes de ativos afetam a publicação?
O benefício mais óbvio dos pacotes de ativos é o tamanho reduzido dos aplicativos empacotados. Pacotes de aplicativos menores aceleram o processo de publicação do aplicativo permitindo que a Loja processe menos arquivos; no entanto, esse não é o benefício mais importante dos pacotes de ativos.
Quando um pacote de ativos é criado, você pode especificar se o pacote deve ter permissão para ser executado. Como os pacotes de ativos devem conter apenas arquivos independentes de arquitetura, eles geralmente não contêm arquivos .dll ou .exe, portanto, pacotes de ativos normalmente não precisam ser executados. A importância dessa distinção é que, durante o processo de publicação, todos os pacotes executáveis devem ser verificados para garantir que eles não contenham malware, e esse processo de verificação leva mais tempo para pacotes maiores. No entanto, se um pacote for designado como não executável, a instalação do aplicativo garantirá que os arquivos contidos nesse pacote não possam ser executados. Essa garantia elimina a necessidade de uma verificação completa do pacote e reduzirá consideravelmente o tempo de verificação de malware durante a publicação do aplicativo (e também para atualizações) – tornando a publicação significativamente mais rápida para aplicativos que usam pacotes de ativos. Observe que os pacotes de aplicativos de pacote simples também precisam ser usados para que esse benefício possa ser obtido da publicação, pois é isso que permite que a Store processe cada arquivo de pacote .msix ou .appx em paralelo.
Devo usar pacotes de ativos?
Atualizar a estrutura de arquivos do seu aplicativo para aproveitar o uso de pacotes de ativos pode gerar benefícios tangíveis: tamanho de pacote reduzido e iterações de desenvolvimento mais enxutas. Se todos os pacotes de arquitetura contiverem uma quantidade significativa de arquivos em comum ou se a maior parte do seu aplicativo for composta por arquivos não em execução, é altamente recomendável que você invista o tempo extra para converter usando pacotes de ativos.
No entanto, deve-se ter cuidado para que os pacotes de ativos não sejam um meio de obter a opcionalidade de conteúdo do aplicativo. Os arquivos do pacote de ativos não são opcionais e sempre serão baixados independentemente da arquitetura, linguagem ou escala do dispositivo de destino – qualquer conteúdo opcional que você deseja que seu aplicativo dê suporte deve ser implementado usando pacotes opcionais.
Como criar um pacote de ativos
A maneira mais fácil de criar pacotes de ativos é usando o layout de empacotamento. No entanto, os pacotes de ativos também podem ser criados manualmente usando MakeAppx.exe. Para especificar quais arquivos incluir no pacote de ativos, você precisará criar um "arquivo de mapeamento". Neste exemplo, o único arquivo no pacote de ativos é "Video.mp4", mas todos os arquivos do pacote de ativos devem ser listados aqui. Observe que o especificador ResourceDimensions no ResourceMetadata é omitido para pacotes de ativos (em comparação com um arquivo de mapeamento para pacotes de recursos).
[ResourceMetadata]
"ResourceId" "Videos"
[Files]
"Video.mp4" "Video.mp4"
Use um desses comandos para criar o pacote de ativos usando MakeAppx.exe (para MSIX e .appx).
MakeAppx.exe pack /r /m AppxManifest.xml /f MappingFile.txt /p Videos.appx
MakeAppx.exe pack /r /m AppxManifest.xml /f MappingFile.txt /p Videos.msix
Observe aqui que todos os arquivos referenciados no AppxManifest (os arquivos de logotipo) não podem ser movidos para pacotes de ativos. Esses arquivos devem ser duplicados entre pacotes de arquitetura.
Os pacotes de ativos também não devem conter um resources.pri; O MRT não pode ser usado para acessar arquivos de pacote de ativos. Para saber mais sobre como acessar arquivos de pacote de ativos e por que os pacotes de ativos exigem que o seu aplicativo seja instalado em uma unidade NTFS, veja Desenvolvimento com pacotes de ativos e dobragem de pacotes.
Para controlar se um pacote de ativos tem permissão para ser executado ou não, você pode usar uap6:AllowExecution no elemento Properties do AppxManifest Você também deve adicionar uap6 ao elemento package de nível superior para se tornar o seguinte:
<Package IgnorableNamespaces="uap uap6"
xmlns:uap6="http://schemas.microsoft.com/appx/manifest/uap/windows10/6"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10">
Se não for especificado, o valor padrão para AllowExecution será true – defina-o como false para pacotes de ativos sem executáveis para tornar a publicação mais rápida.