Partilhar via


Visão geral da conteinerização MSIX

O MSIX utiliza um modelo de containerização para isolar as aplicações do resto do sistema. Ao contrário das tecnologias de contentores de uso geral (como o Docker), os contentores MSIX não são máquinas virtuais e não requerem uma imagem do sistema operativo separada. Em vez disso, o Windows redireciona a atividade do sistema de ficheiros e do registo da aplicação em tempo de execução, mantendo as aplicações autónomas enquanto lhes permite interoperar normalmente com o resto do Windows.

Este artigo explica o modelo de isolamento, os dois níveis de confiança disponíveis para aplicações empacotadas e os benefícios que esta abordagem proporciona.

O que é (e não é) a contentorização MSIX

Quando instalas um pacote MSIX, Windows coloca os ficheiros da aplicação num local protegido (C:\Program Files\WindowsApps\) que a própria aplicação não pode modificar. Em tempo de execução, Windows fornece à aplicação uma visão virtualizada do sistema de ficheiros e do registo: as leituras vão para a localização de instalação do pacote, e as escritas são redirecionadas para locais por utilizador que Windows gere.

Isto significa:

  • Os ficheiros de instalação da aplicação nunca são modificados em tempo de execução.
  • O estado da aplicação é armazenado separadamente dos binários da aplicação — tornando as atualizações, reparações e desinstalações limpas e fiáveis.

Observação

Os contentores MSIX são uma funcionalidade de runtime do Windows, não um ambiente de sistema operativo separado. A aplicação corre como um processo nativo do Windows — apenas tem uma vista virtualizada de certos recursos do sistema.

Dois níveis de confiança

As aplicações empacotadas correm num de dois níveis de confiança, que determinam o grau de isolamento:

Confiança total (integridade média)

As aplicações Full Trust correm com as mesmas permissões que uma aplicação de ambiente de trabalho padrão. Windows fornece identidade pacote e alguma virtualização de ficheiros/registos, mas a aplicação ainda pode aceder diretamente à maioria dos recursos do sistema.

Este é o padrão para aplicações convertidas a partir de instaladores Win32 usando a Ferramenta de Empacotamento MSIX, e para a maioria das aplicações desktop WinUI 3.

AppContainer (confiança parcial)

As aplicações AppContainer correm num ambiente estritamente isolado. O processo e os seus filhos só podem aceder a recursos explicitamente concedidos. O Windows impõe isolamento através da virtualização do sistema de ficheiros e do registo, bem como dos limites de segurança do AppContainer.

As aplicações UWP correm sempre num AppContainer. As aplicações de ambiente de trabalho também podem aderir ao AppContainer declarando-o no manifesto da aplicação.

Sugestão

As aplicações AppContainer têm as garantias de segurança mais fortes, mas exigem mais trabalho para serem configuradas corretamente, especialmente para aplicações que dependem de um acesso amplo ao sistema. Consulte as aplicações AppContainer do MSIX para os passos de configuração.

Benefícios do modelo de contentorização MSIX

Benefit Descrição
Desinstalação limpa Como o Windows regista todo o estado da aplicação separadamente, desinstalar um pacote MSIX remove todos os ficheiros da aplicação, entradas do registo e alterações do sistema — sem restos de artefactos. Os ficheiros criados pelo utilizador são preservados.
Atualizações fiáveis Os binários da app são apenas para leitura em tempo de execução. As atualizações substituem o pacote de forma atómica e a aplicação pode ser revertida se necessário.
Sem poluição registada As escritas de registo da aplicação vão para uma colmeia virtual individual por utilizador, não para HKEY_LOCAL_MACHINE. Isto evita a expansão do registo comum aos instaladores tradicionais do Win32.
Isolamento de segurança As aplicações AppContainer estão restritas a recursos explicitamente atribuídos, reduzindo o impacto de um processo comprometido.
Imposição da integridade O Windows consegue detetar adulterações com ficheiros de pacote em tempo de execução. Se um pacote for adulterado, o Windows bloqueia o arranque e aciona a reparação. Veja Resumo sobre Assinatura de um pacote MSIX.

Âmbito de virtualização

Nem todas as localizações do sistema de ficheiros e do registo são virtualizadas. O Windows aplica comportamentos diferentes dependendo do local acedido:

  • As gravações em ficheiros de instalação de pacotes são bloqueadas — o local de instalação é só de leitura.
  • As escritas em localizações do sistema (como C:\Windows\) são bloqueadas para aplicações de AppContainer.
  • As escritas nas localizações do perfil do utilizador (como AppData) são redirecionadas para localizações por pacote para aplicações AppContainer, ou passam diretamente para aplicações com confiança total.
  • As leituras de locais VFS empacotados são servidas a partir do próprio pacote, fazendo com que a aplicação se comporte como se estivesse instalada em locais tradicionais (como C:\Program Files\).

Para detalhes técnicos completos sobre como funciona a virtualização do sistema de ficheiros e do registo, veja Compreender como as aplicações de ambiente de trabalho empacotadas correm em Windows.

Contentores partilhados

Por defeito, cada pacote MSIX corre no seu próprio contentor isolado. Para cenários empresariais onde vários pacotes precisam de partilhar um ambiente de execução — por exemplo, uma aplicação principal e um pacote de personalização — Windows suporta contentores de pacotes partilhados. Um contentor partilhado dá a um conjunto definido de pacotes uma visão fundida do sistema de ficheiros virtuais e do registo uns dos outros.

Esta é uma funcionalidade exclusiva para empresas que requer privilégios administrativos. Ver Contêiner de pacotes partilhados.

Virtualização flexível

A partir do Windows 11, as aplicações podem optar seletivamente por excluir pastas específicas do sistema de ficheiros ou chaves de registo da virtualização — tornando essas localizações visíveis para outras aplicações e mantendo-as durante a desinstalação. Isto é útil para aplicações que precisam de partilhar configuração ou dados com outras aplicações, beneficiando ainda assim da embalagem MSIX.

Veja Virtualização Flexível.