Contêiner de pacote compartilhado
Os contêineres de pacotes compartilhados permitem que os profissionais de TI criem um contêiner de tempo de execução compartilhado para aplicativos empacotados – compartilhando uma exibição mesclada do sistema de arquivos virtual e do registro virtual – permitindo o acesso aos arquivos raiz e ao estado do pacote uns dos outros. A partir do Windows 10 Insider Preview Build 21354, os profissionais de TI poderão gerenciar quais aplicativos podem estar em qual contêiner é importante para a conversão do MSIX de instaladores legados. O conceito de contêiner compartilhado é usado principalmente para personalização, compartilhamento de software de pré-requisito e suporte a complementos para aplicativos convertidos. Observe que este é um recurso exclusivo para empresas e exigirá privilégios administrativos para ser usado.
As operações de contêiner de pacote compartilhado são independentes das operações de implantação do aplicativo. Isso significa que os aplicativos não precisam ser instalados antes da definição de contêiner de pacote de compartilhamento ser implantada em um dispositivo. Isso também significa que nem todos os aplicativos definidos dentro do contêiner de pacote compartilhado precisam ser instalados para que o contêiner de pacote compartilhado seja executado. Os aplicativos dentro do contêiner de pacote compartilhado poderão ser atualizados de forma independente sem precisar modificar a definição de contêiner de pacote compartilhado.
Observe que um aplicativo só poderá estar dentro de um contêiner. Implantar um contêiner de pacote compartilhado que contém um aplicativo que já faz parte de um contêiner de pacote compartilhado resultará em um erro.
Pré-requisito
Para usar o recurso, as empresas precisarão de um administrador no dispositivo. Além disso, todos os pacotes precisarão ser pacotes .msix. Para empacotar seus instaladores como pacote MSIX, visite nosso criar pacote a partir da documentação do instalador existente.
Definição de contêiner de pacote compartilhado
O pacote compartilhado contianer é definido por um arquivo .xml. A definição de contêiner requer um nome exclusivo e uma lista de pacotes que pertencem a esse contêiner. Apenas os pacotes principais precisam ser incluídos no .xml. Pacotes opcionais e pacotes de modificação serão automaticamente incluídos no contêiner de pacote compartilhado, pois eles já compartilham o mesmo contêiner que o pacote principal. Observe que a prioridade dos pacotes é estabelecida de cima para baixo da lista. O que significa que o pacote superior terá a maior prioridade. A prioridade do pacote é usada para resoluções de conflitos entre pacotes que podem ter os mesmos arquivos. Abaixo está uma amostra de um.
<?xml version="1.0" encoding="utf-8"?>
<AppSharedPackageContainer Name="ContosoContainer">
<PackageFamily Name="Fabrikam.MainApp_8wekyb3d8bbwe"/>
<PackageFamily Name="Contoso.MainApp_8wekyb3d8bbwe"/>
<PackageFamily Name="ContosoCustomize_7xekyb3d8ccde"/>
</AppSharedPackageContainer>
Quando você tiver a definição de contêiner .xml, poderá usar os seguintes comandos do PowerShell para implantar, redefinir, atualizar e remover um Contêiner de Pacote Compartilhado do dispositivo. Observe que todos os outros comandos de implantação de aplicativos permanecem os mesmos (ou seja, instalando pacotes)
Comandos do PowerShell
Implantar uma definição de contêiner de pacote compartilhado
Add-AppSharedPackageContainer <path>
Este comando implanta a definição de contêiner de pacote compartilhado para o usuário específico. Os parâmetros opcionais incluem o seguinte:
Parâmetro | Descrição |
---|---|
ForceApplicationShutdown | Fecha todos os pacotes atualmente em execução no Contêiner de Pacotes Compartilhados. |
Remover um contêiner de pacote compartilhado
Remove-AppSharedPackageContainer -Name <name>
Este comando remove a definição do contêiner de pacote compartilhado para o usuário específico. Os parâmetros opcionais incluem o seguinte:
Parâmetro | Descrição |
---|---|
Forçar Encerramento de Aplicação | Fecha todos os pacotes no Contêiner de Pacotes Compartilhados. |
Obter informações sobre um contêiner de pacote compartilhado
Get-AppSharedPackageContainer -Name <name>
Este comando obtém informações sobre o contêiner de pacote compartilhado. Em particular, ele mostrará quais pacotes estão dentro do contêiner de pacote compartilhado.
Redefinir contêiner de pacote compartilhado
Reset-AppSharedPackageContainer -Name <name>
Este comando destrói todos os dados do aplicativo do contêiner, incluindo os arquivos virtuais e chaves do Registro.
Implantar um contêiner de pacote provisionado
Este comando implanta um contêiner de pacote compartilhado provisionado.
Add-AppProvisionedSharedPackageContainer -DefinitionFile "<filepath>" -Online
Verificar se um contêiner de pacote provisionado está implantado
Este comando verifica se um contêiner de pacote compartilhado provisionado foi implantado
Get-AppProvisionedSharedPackageContainer -Online
Remover um contentor de pacote provisionado
Este comando remove um contêiner de pacote compartilhado provisionado
Remove-AppProvisionedSharedPackageContainer -Name "<name>" -Online