Partilhar via


MSIX no Windows 10 e Windows 11

O MSIX funciona tanto no Windows 10 como no Windows 11, mas nem todas as funcionalidades estão disponíveis em ambos. Várias funcionalidades foram introduzidas com o Windows 11 e não foram retroalimentadas, e alguns bugs do Windows 10 permanecem por resolver. Esta página ajuda-o a perceber o que funciona onde, para que possa tomar decisões informadas sobre a embalagem quando precisar de suportar o Windows 10.

Importante

Windows 10 suporte mainstream terminou a 14 de outubro de 2025 (todas as versões não LTSC). O Windows 10 LTSC 2021 é suportado até 12 de janeiro de 2027. Se o seu público-alvo ainda estiver no Windows 10, planeie em conformidade — é improvável que os bugs de funcionalidades sejam corrigidos nas versões mais antigas do Windows 10.

Comparação de funcionalidades: Windows 10 vs Windows 11

A tabela abaixo compara a disponibilidade de funcionalidades do MSIX entre a versão mais recente do Windows 10 (22H2, que tem o mesmo suporte de funcionalidades do 21H2) e o Windows 11.

Feature Windows 10 (22H2) Windows 11
Instalação e desinstalação do Core MSIX
Suporte a ficheiros do App Installer (.appinstaller)
Sideloading (instalação fora da Loja) ✅ Requer AllowAllTrustedApps política ou Modo Desenvolvedor ✅ Ativado por defeito
Serviços Windows no MSIX ✅ (requer Windows 10 versão 2004+)
Pacote com localização externa (pacotes esparsos) ✅ (requer Windows 10 versão 2004+)
Aplicações Alojadas ✅ (requer Windows 10 versão 2004+)
Aplicação da Integridade de Pacotes (fora da Loja) ✅ (requer Windows 10 versão 2004+)
Virtualização flexível ✅ (requer Windows 10 versão 21H1+)
Grupos do menu Iniciar ✅ (requer Windows 10 versão 21H1+)
Pacotes de modificação
Quadro de Suporte a Pacotes (PSF)
Contentores partilhados de pacotes ❌ Windows 11 só
Suporte a menus de contexto herdados (extensões do Shell) Só ❌ Windows 11
Diretórios de pacotes mutáveis Só ❌ Windows 11
Identidade Persistente MSIX (sobrevive à reinstalação) Só ❌ Windows 11
Dependências dinâmicas ✅ Via APIs de dependência dinâmica do SDK de Aplicações Windows (Mdd* / bootstrapper) nas versões suportadas do SDK de Aplicações Windows; ❌ API nativa do sistema operativo. ✅ Via SDK de Aplicações Windows; API nativa do sistema operativo disponível no Windows 11, versão 22H2+

Para a desagregação completa de versões em todos os lançamentos do Windows 10, veja funcionalidades MSIX e plataformas suportadas.

Funcionalidades exclusivas do Windows 11

Se a sua aplicação usar alguma das seguintes funcionalidades, não funcionará no Windows 10:

Contentores partilhados de pacotes

Os contentores de pacotes partilhados permitem que várias aplicações embaladas partilhem um namespace comum de pacotes, permitindo-lhes partilhar dados e definições. Esta funcionalidade requer o Windows 11.

Windows 10 alternativa: Usar uma localização de dados Win32 partilhada (como %ProgramData% ou um pipe nomeado) fora do contentor MSIX, ou reestruturar as aplicações como pacotes relacionados dentro de um único bundle.

Suporte a menus contextuais legados

O Windows 11 introduziu suporte para registar extensões Shell empacotadas no MSIX (menus de contexto com clique direito) que aparecem no menu de contexto clássico. Isto é principalmente relevante ao converter aplicações de ambiente de trabalho legadas para MSIX.

Alternativa ao Windows 10: Utilizar o Package Support Framework (PSF) ou entregar extensões do menu de contexto através de um instalador Win32 separado no Windows 10.

Diretórios de pacotes mutáveis

Os diretórios de pacotes mutáveis permitem que as aplicações escrevam num subdiretório dentro do local de instalação, em vez do contentor virtualizado. Requer Windows 11.

Alternativa para Windows 10: Escrever em ApplicationData.Current.LocalFolder (AppData\Local\Packages...\LocalState) ou numa localização fora do pacote do aplicativo.

Identidade persistente MSIX

A Identidade Persistente do MSIX garante que a identidade do pacote de uma aplicação (nome de família, editor, etc.) sobrevive à desinstalação e reinstalação. Sem ele, os dados em LocalState são apagados quando a aplicação é desinstalada. Requer Windows 11.

Windows 10 alternativa: Armazenar dados persistentes fora do contentor de pacotes — por exemplo, em %APPDATA%, %LOCALAPPDATA% (fora da pasta Packages) ou numa base de dados em %ProgramData%.

Dependências dinâmicas

As dependências dinâmicas permitem que aplicações empacotadas tenham dependências em tempo de execução em pacotes de framework que não são declarados no momento do empacotamento. Este é o mecanismo subjacente ao suporte do SDK de Aplicações Windows para aplicações não empaquetadas. As SDK de Aplicações Windows APIs dinâmicas de dependência (incluindo as APIs Mdd* e o bootstrapper flow) são suportadas tanto em Windows 10 como em Windows 11 onde o SDK de Aplicações Windows é suportado. Uma implementação separada de dependência dinâmica nativa do sistema operativo está também disponível no Windows 11, versão 22H2 e posteriores.

Orientação Windows 10: Use as APIs de dependência dinâmica do SDK de Aplicações Windows ou o bootstrapper para tratar da resolução de dependências no Windows 10 — não é necessária uma solução alternativa.

Considerações específicas do Windows 10

Política de instalação direta (sideloading)

Nas versões do Windows 10 2004 e posteriores, pacotes MSIX assinados não provenientes da Loja podem geralmente ser instalados através de duplo clique sem necessidade de ativar o sideloading separadamente. Em versões Windows 10 mais antigas (anteriores a 2004), o sideloading deve ser ativado através do Modo Desenvolvedor ou da AllowAllTrustedApps Group Policy.

As exceções aplicam-se independentemente da versão do Windows: pacotes não assinados requerem uma configuração adicional de confiança, e dispositivos geridos pela empresa podem restringir ou desativar a instalação de aplicações que não sejam da Loja através de políticas.

No Windows 11, o sideloading também está ativado por padrão para pacotes assinados padrão, sujeito às mesmas restrições baseadas em políticas.

Limitações de funcionalidades do LTSC 2021

O Windows 10 LTSC 2021 (build 19044, equivalente ao 20H2) carece de funcionalidades que foram adicionadas no Windows 10 21H1 e posteriores:

Feature LTSC 2021 Windows 10 21H1+
Virtualização flexível
Grupos do menu Iniciar

Se a sua implementação empresarial tem como objetivo LTSC 2021, não dependa de virtualização flexível ou de grupos de menu inicial empacotados.

Bugs não resolvidos no Windows 10

Alguns problemas de MSIX reportados no Windows 10 não foram retroportados e é improvável que sejam resolvidos, dado o estado de fim de suporte do Windows 10. Se encontrares um comportamento MSIX em Windows 10 que difere do Windows 11, verifica os problemas abertos no repositório microsoft/msix-packaging.

Categorias comuns de problemas específicos conhecidos do Windows 10 incluem:

  • Casos extremos de virtualização de registos
  • Fiabilidade do Instalador de Aplicações com certas configurações de rede
  • Compatibilidade da Ferramenta de Embalagem com alguns tipos de instaladores

Ferramentas de empacotamento para alvos do Windows 10

Se está a empacotar aplicações para Windows 10 e a encontrar problemas de compatibilidade com ferramentas, várias ferramentas comunitárias oferecem soluções adicionais de compatibilidade:

  • MSIX Packaging Tool (Microsoft) — a ferramenta oficial; mantida ativamente
  • Advanced Installer — ferramenta comercial com forte suporte Windows 10 MSIX e uma matriz de compatibilidade bem mantida
  • Conveyor — ferramenta para a comunidade que automatiza o empacotamento para vários alvos, incluindo MSIX; útil se também publicas para macOS ou Linux

Estas ferramentas podem resolver alguns casos extremos do Windows 10 no processo de build, embora as limitações do sistema operativo em tempo de execução (como a falta de APIs exclusivas do Win11) não possam ser contornadas no empacotamento.

Recommendation

Se precisar de suportar o Windows 10:

  1. Evite funcionalidades exclusivas de Windows 11 — não use contentores de pacotes partilhados, diretórios de pacotes mutáveis, identidade persistente ou dependências dinâmicas se o seu MinVersion tiver como alvo Windows 10.
  2. define um MinVersion preciso no elemento TargetDeviceFamily do teu manifesto MSIX para a build de Windows 10 mais antiga que pretendes suportar.
  3. Teste especificamente no Windows 10 — as diferenças de comportamento entre o Windows 10 e o Windows 11 raramente são identificadas em pipelines de CI que se concentram apenas no Windows 11.
  4. Planeie a sua estratégia de EOL no Win10 — com o fim do suporte Windows 10 mainstream, considere definir um roteiro para exigir Windows 11 numa futura versão da aplicação.