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.
O empacotamento define como seu aplicativo é instalado, atualizado e integrado ao Windows. Os aplicativos WinUI 3 são empacotados por padrão, enquanto muitos aplicativos da área de trabalho, como aplicativos tradicionais do Win32, são executados desempacotados. Escolher entre um aplicativo empacotado ou não empacotado afeta os recursos que você pode usar, o modelo de implantação em que você depende e a experiência geral que seus clientes obtêm.
Observação
Criando um novo aplicativo WinUI 3? Você já está configurado por padrão. As diretrizes a seguir são mais relevantes para desenvolvedores que precisam fazer uma escolha explícita , normalmente ao portar um aplicativo existente, implantar em computadores empresariais ou adicionar recursos Windows a um aplicativo que não foi originalmente empacotado.
Por que o empacotamento de aplicativos importa
Os aplicativos empacotados se beneficiam de um modelo de instalação limpo, atualizações automáticas e acesso a recursos Windows que exigem a identidade do pacote, incluindo tarefas em segundo plano, notificações, extensões de menu de contexto, destinos de compartilhamento e outros pontos de extensibilidade. O empacotamento também ajuda a garantir implantações mais limpas, atualizações confiáveis e distribuição simplificada por meio de canais como o Microsoft Store e as ferramentas de implantação corporativa.
Recursos que exigem a identidade do pacote
Esses recursos Windows funcionam apenas em aplicativos que têm a identidade do pacote, seja por meio de empacotamento MSIX completo ou pacote com local externo (empacotamento esparso).
| Característica | Descrição |
|---|---|
| Tarefas em segundo plano | Execute o código quando o aplicativo não estiver em primeiro plano , por exemplo, para sincronizar dados, processar downloads ou responder a eventos do sistema. |
| Windows APIs de IA (Phi Silica, OCR etc.) | Acesse recursos de IA no dispositivo, como modelos de idioma local, reconhecimento de texto e análise de imagem. |
| Notificações por push (WNS) | Receba notificações em tempo real do serviço de nuvem por meio do Serviço de Notificação do Windows. |
| Destino de compartilhamento | Permitir que os usuários compartilhem conteúdo de outros aplicativos diretamente no seu por meio da planilha de compartilhamento do sistema. |
| Extensões de menu de contexto personalizado | Adicione as ações do seu aplicativo ao menu de clique com o botão direito do mouse no Explorador de Arquivos e em outras superfícies do shell. |
| Tipo de arquivo e associações de protocolo | Registre seu aplicativo como o manipulador para tipos de arquivo específicos ou protocolos de URI (por exemplo, yourapp://). |
| Tarefas de inicialização | Inicie seu aplicativo automaticamente quando o usuário entrar no Windows. |
| Serviços de aplicativo | Exponha os serviços de fundo que outros aplicativos podem chamar para permitir a comunicação entre aplicativos. |
Dica
Se você estiver desempacotado e enfrentando erros de E_ILLEGAL_METHOD_CALL ou APPMODEL_ERROR_NO_PACKAGE ao chamar APIs do Windows, isso é devido ao requisito de identidade do pacote. Veja o empacotamento com local externo (empacotamento esparso) como a correção de menor atrito.
Para obter mais informações, consulte Recursos que exigem a identidade do pacote.
Visão geral dos modelos de empacotamento
| Modelo | Identidade do pacote | Instalador | Loja elegível | Mais adequado para |
|---|---|---|---|---|
| Empacotado (MSIX) | ✅ Sim | MSIX substitui instalador | ✅ Sim | Novos aplicativos, publicação na Loja, MDM corporativo |
| Empacotamento com localização externa | ✅ Sim | Seu instalador existente | ❌ Não | Aplicativos existentes com instalador próprio, ISVs |
| Desempacotado | ❌ Não | XCopy/script | ❌ Não | Ferramentas internas, utilitários de desenvolvimento, cenários simples |
Aplicativos empacotados (MSIX)
Os aplicativos empacotados usam MSIX e têm identidade do pacote, o que é necessário para muitos pontos de extensibilidade do Windows. A identidade do pacote permite que Windows identifiquem de forma confiável o chamador de APIs de plataforma, razão pela qual esses recursos dependem dele.
- Os aplicativos empacotados normalmente são executados em um contêiner de aplicativo leve, com virtualização do sistema de arquivos e do registro (consulte AppContainer para aplicativos herdados e aplicativos MSIX AppContainer).
- Os aplicativos também podem ser configurados para não serem executados em um contêiner de aplicativo, se necessário.
- O MSIX é usado tanto para empacotamento quanto para instalação (veja o que é MSIX?).
Empacotamento com localização externa (empacotamento esparso)
O empacotamento com local externo (também chamado pacotes esparsos) permite que você registre um pequeno pacote de identidade junto ao aplicativo existente, sem alterar o instalador, os locais binários ou o processo de atualização. Ele foi introduzido no Windows 10 versão 2004 (build 19041).
Esse é o ponto ideal para aplicativos Win32/WPF/WinForms existentes que são enviados por meio de seu próprio instalador (NSIS, WiX, InstallShield etc.) e não querem substituí-lo pelo MSIX. Você registra um pacote de identidade leve, seus binários permanecem onde estão, e você desbloqueia o conjunto completo de recursos do Windows restritos por identidade de pacote.
| Capacidade | MSIX | Local externo |
|---|---|---|
| Substitui seu instalador | Sim | No |
| Binários dentro do pacote | Sim | Não (externo) |
| Loja elegível | Sim | No |
| Identidade do pacote | Sim | Sim |
| Mecanismo de atualização | Atualização do MSIX | Seu mecanismo existente |
Passo a passo completo: conceder identidade ao pacote utilizando localização externa
Aplicativos não empacotados
Aplicativos não empacotados não usam MSIX e não têm identidade de pacote, o que significa que eles não podem acessar os recursos listados acima.
- Eles permanecem totalmente irrestritos em termos de superfície da API, acesso ao sistema de arquivos, acesso ao registro, elevação e modelo de processo.
- A instalação e as atualizações dependem de
.exe,.msi, instaladores personalizados, ClickOnce ou xcopy deployment.
Antes de se comprometer a desempacotar, verifique a tabela de recursos acima em relação ao roteiro. Se notificações, tarefas em segundo plano ou APIs de IA estiverem no horizonte, considere iniciar com pacotes.
Escolher por cenário
| Scenario | Modelo recomendado | Detalhes |
|---|---|---|
| Desenvolvedor indie publicando para a Microsoft Store | Empacotado (MSIX) | A Loja requer MSIX. Os aplicativos WinUI 3 são empacotados por padrão – nenhuma alteração é necessária. → Distribuir seu aplicativo empacotado |
| Aplicativo corporativo implantado por meio do Intune ou do Gerenciador de Configurações | Local empacotado ou externo para instaladores existentes | Novos aplicativos devem usar o MSIX. Aplicativos existentes com seu próprio instalador podem usar empacotamento com localização externa. → implantar aplicativos empacotados |
| ISV disponibilizando um download direto com instalador próprio | Empacotamento com localização externa | Registre um pacote de identidade leve junto com o instalador existente. Os usuários não veem nenhuma alteração; você obtém Windows recursos. Conceder identidade de pacote |
| Ferramenta interna ou utilitário de desenvolvedor | Desempacotado | Mais simples de construir e implantar. O SDK do Aplicativo Windows funciona por meio do NuGet, mas alguns recursos não estarão disponíveis. |
Implantação dependente de framework versus autossuficiente
Separadamente do modelo de empacotamento, os aplicativos que usam o SDK do Aplicativo Windows escolhem como carregar suas dependências de tempo de execução:
- Dependente de Framework: o runtime do SDK do Aplicativo Windows deve ser instalado no computador do usuário. Menor volume de aplicativo; depende do runtime estar presente ou instalado automaticamente.
- Autocontido: todos os binários SDK do Aplicativo Windows são incluídos com seu aplicativo. Volume maior; nenhum requisito de runtime externo. Bom para ambientes corporativos bloqueados.
Implantar aplicativos independentes
Comece com MSIX
Se você criar um aplicativo de área de trabalho Win32 (às vezes chamado de aplicativo de área de trabalho classic) ou um aplicativo .NET , incluindo Windows Presentation Foundation (WPF) e Windows Forms (WinForms), você poderá empacotar e implantar seu aplicativo usando o MSIX.
- Criar um pacote MSIX com base em um instalador existente
- Criar um pacote MSIX usando o código-fonte
- Gerenciar a implantação do MSIX
Outras tecnologias de instalação
- Instalação e manutenção de aplicativos
- Windows Installer
- Visão geral da publicação de aplicativos .NET
- Implantação do .NET Framework e de aplicativos
- Deploying a WPF application
- Implantação ClickOnce para Windows Forms
Conteúdo relacionado
Windows developer