Contêiner de pacote compartilhado
Os contêineres de pacote compartilhado permitem que os profissionais de TI criem um contêiner de runtime compartilhado para o aplicativo empacotado – compartilhando uma exibição mesclada do sistema de arquivos virtuais e do registro virtual – permitindo o acesso aos arquivos raiz e ao estado do pacote um do outro. A partir do Windows 10 Insider Preview Build 21354, os profissionais de TI poderão gerenciar quais aplicativos podem estar em quais contêineres, o que é importante para a conversão de instaladores legados para o formato MSIX. O conceito de um contêiner compartilhado é usado principalmente para personalização, compartilhamento de software de pré-requisito e suporte a complementos para aplicativos convertidos. Observe que esse é um recurso somente empresarial e exigirá privilégios administrativos a serem usados.
As operações de contêiner de pacote compartilhado são independentes das operações de implantação de aplicativo. Isso significa que os aplicativos não precisam ser instalados antes que a definição do contêiner de pacote de compartilhamento seja 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 independentemente sem precisar modificar a definição de contêiner de pacote compartilhado.
Observe que um aplicativo só terá permissão para 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 exigirão um administrador no dispositivo. Além disso, todos os pacotes precisarão ser pacotes .msix. Para empacotar seus instaladores como um pacote MSIX, visite nossa documentação sobre como criar um pacote a partir de um instalador existente.
Definição de contêiner de pacote compartilhado
O container do pacote compartilhado é definido por um arquivo de .xml. A definição de contêiner requer um nome exclusivo e uma lista de pacotes que pertencem a esse contêiner. Só os pacotes principais precisam ser incluídos no .xml. Pacotes opcionais e pacotes de modificação serão incluídos automaticamente 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 prioridade mais alta. A prioridade do pacote é usada para resoluções de conflitos entre pacotes que podem ter os mesmos arquivos. Abaixo está um exemplo 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 aplicativo permanecem os mesmos (ou seja, instalando pacotes)
Comandos do PowerShell
Implantar uma definição de contêiner de pacote compartilhado
Add-AppSharedPackageContainer <path>
Esse 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 Pacote Compartilhado. |
Remover um contêiner de pacote compartilhado
Remove-AppSharedPackageContainer -Name <name>
Esse comando remove 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 no Contêiner de Pacote Compartilhado. |
Obter informações sobre um contêiner de pacote compartilhado
Get-AppSharedPackageContainer -Name <name>
Esse 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>
Esse comando destrói todos os dados do aplicativo do contêiner, incluindo os arquivos virtuais e as chaves do Registro.
Implantar um contêiner de pacote provisionado
Esse comando implanta um contêiner de pacote compartilhado provisionado.
Add-AppProvisionedSharedPackageContainer -DefinitionFile "<filepath>" -Online
Verificar se um contêiner de pacote provisionado está implantado
Esse comando verifica se um contêiner de pacote compartilhado provisionado foi implantado
Get-AppProvisionedSharedPackageContainer -Online
Remover um contêiner de pacote provisionado
Este comando remove um contêiner de pacote compartilhado provisionado
Remove-AppProvisionedSharedPackageContainer -Name "<name>" -Online