Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
A embalagem define como a sua aplicação é instalada, atualizada e integrada com o Windows. As aplicações WinUI 3 são empacotadas por defeito, enquanto muitas aplicações de ambiente de trabalho, como as aplicações Win32 tradicionais, são executadas sem empacotamento. Escolher entre uma aplicação embalada ou não empacotada afeta as funcionalidades que pode usar, o modelo de implementação em que confia e a experiência global que os seus clientes têm.
Observação
A construir uma nova aplicação WinUI 3? Já estás configurado por defeito. A orientação abaixo é mais relevante para programadores que precisam de fazer uma escolha explícita — normalmente ao portar uma aplicação existente, implementar para máquinas empresariais ou adicionar funcionalidades do Windows a uma aplicação que não foi originalmente embalada.
Por que a embalagem da aplicação é importante
As aplicações empacotadas beneficiam de um modelo de instalação limpo, atualizações automáticas e acesso a funcionalidades do Windows que exigem identidade de pacote — incluindo tarefas em segundo plano, notificações, extensões de menus de contexto, alvos de partilha e outros pontos de extensibilidade. A embalagem também ajuda a garantir implementações mais limpas, atualizações fiáveis e distribuição simplificada através de canais como a Microsoft Store e ferramentas empresariais de implementação.
Recursos que exigem identidade do pacote
Estas funcionalidades Windows só funcionam em aplicações que têm identidade de pacote — seja através de empacotamento MSIX completo ou empacotamento com localização externa (empacotamento esparso).
| Feature | Descrição |
|---|---|
| Tarefas em segundo plano | Execute código quando a sua aplicação 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.) | Aceda a capacidades de IA no dispositivo, como modelos de linguagem local, reconhecimento de texto e análise de imagens. |
| Notificações push (WNS) | Receba notificações em tempo real do seu serviço cloud através do Windows Notification Service. |
| Alvo de partilha | Permita que os utilizadores partilhem conteúdos de outras aplicações diretamente na sua através da folha de partilha do sistema. |
| Extensões personalizadas do menu de contexto | Adicione as ações da sua aplicação ao menu do botão direito no Explorador de Ficheiros e noutras superfícies de shell. |
| Tipos de ficheiro e associações de protocolo | Registe a tua aplicação como handler para tipos específicos de ficheiros ou protocolos URI (por exemplo, yourapp://). |
| Tarefas de arranque | Inicie a sua aplicação automaticamente quando o utilizador iniciar sessão no Windows. |
| Serviços de aplicação | Exponha serviços em segundo plano que outras aplicações possam acedir, permitindo a comunicação entre aplicações. |
Sugestão
Se não estiver a utilizar um pacote e encontrar erros E_ILLEGAL_METHOD_CALL ou APPMODEL_ERROR_NO_PACKAGE ao chamar APIs do Windows, isso refere-se ao requisito de identidade do pacote. Veja a embalagem com localização externa (embalagem esparsa) como a solução de menor atrito.
Para mais informações, consulte Funcionalidades que requerem identidade de pacote.
Modelos de embalagem de forma resumida
| Modelo | Identidade do pacote | Instalador | Elegível para loja | Melhor para |
|---|---|---|---|---|
| Embalado (MSIX) | ✅ Sim | MSIX substitui instalador | ✅ Sim | Novas aplicações, publicação de loja, MDM empresarial |
| Embalagem com localização externa | ✅ Sim | O seu instalador atual | ❌ Não | Aplicações existentes com instalador independente, Fornecedores Independentes de Software (ISVs) |
| Não embalado | ❌ Não | XCopy / script | ❌ Não | Ferramentas internas, utilitários de desenvolvimento, cenários simples |
Aplicações empacotadas (MSIX)
As aplicações embaladas usam MSIX e têm identidade de pacote, que é necessária para muitos pontos de extensibilidade do Windows. A identidade do pacote permite ao Windows identificar de forma fiável o chamador das APIs da plataforma, razão pela qual estas funcionalidades dependem dela.
- As aplicações empacotadas normalmente correm num contentor de aplicações leve com virtualização de sistema de ficheiros e registo (ver AppContainer para aplicações legadas e aplicações MSIX AppContainer).
- As aplicações também podem ser configuradas para não correrem num contentor de aplicações, se necessário.
- O MSIX é usado tanto para embalagem como para instalação ( ver O que é o MSIX?).
Embalagem com localização externa (Embalagem esparsa)
O empacotamento com localização externa (também chamado de pacotes esparsos) permite-lhe registar um pequeno pacote de identidade juntamente com a sua aplicação existente — sem alterar o instalador, as localizações binárias ou o processo de atualização. Foi introduzido na versão do Windows 10 em 2004 (versão 19041).
Este é o ponto ideal para aplicações Win32/WPF/WinForms existentes que utilizam o seu próprio instalador (NSIS, WiX, InstallShield, etc.) e não querem substituí-lo por MSIX. Regista um pacote de identidade leve, os seus binários permanecem onde estão e desbloqueia todas as funcionalidades do Windows bloqueadas por identidade de pacote.
| Capacidade | MSIX | Localização externa |
|---|---|---|
| Substitui o teu instalador | Sim | No |
| Binários incluídos no pacote | Sim | Não (externo) |
| Elegível para loja | Sim | No |
| Identidade do pacote | Sim | Sim |
| Mecanismo de atualização | Atualização MSIX | O teu mecanismo atual |
Guia completo: Conceder identidade de pacote através de configuração com localização externa
Aplicações não empacotadas
As aplicações não embaladas não usam MSIX e não têm identidade de pacote, o que significa que não podem aceder às funcionalidades mencionadas acima.
- Permanecem totalmente sem restrições em termos de superfície da API, acesso ao sistema de ficheiros, acesso ao registo, elevação e modelo de processo.
- A instalação e as atualizações dependem de
.exe,.msi, instaladores personalizados, ClickOnce ou da utilização do xcopy para implementação.
Antes de se comprometer com o unpackaged, verifique a tabela de funcionalidades acima no seu roadmap. Se notificações, tarefas em segundo plano ou APIs de IA estiverem no horizonte, considere iniciar o pacote em conjunto.
Escolha por cenário
| Scenario | Modelo recomendado | Detalhes |
|---|---|---|
| Desenvolvedor indie a publicar na Microsoft Store | Embalado (MSIX) | A loja exige MSIX. As aplicações WinUI 3 são empacotadas por padrão — não são necessárias modificações. → Distribua a tua aplicação embalada |
| Aplicação empresarial implementada via Intune ou Gestor de Configuração | Localização empacotada ou externa para instaladores existentes | As novas aplicações devem usar MSIX. Aplicações existentes com o seu próprio instalador podem usar empacotamentos com localização externa. → Implementar aplicações empacotadas |
| ISV envia um download direto com instalador próprio | Embalagem com localização externa | Regista um pacote de identidade leve juntamente com o teu instalador atual. Os utilizadores não veem alteração; Tens funcionalidades do Windows. → Identidade do pacote Grant |
| Ferramenta interna ou utilidade para programadores | Unpackaged | O mais simples de construir e implementar. O SDK de Aplicações Windows funciona via NuGet, mas algumas funcionalidades não estarão disponíveis. |
Dependente do framework vs implementação autónoma
Separadamente do modelo de empacotamento, as aplicações que usam o SDK de Aplicações Windows escolhem como gerir as suas dependências de runtime:
- Dependente de Estrutura: O runtime do SDK de Aplicações Windows deve estar instalado na máquina do utilizador. Impacto de memória menor da aplicação; depende do runtime estar presente ou ser automaticamente instalado.
- Autónomo: Todos os binários SDK de Aplicações Windows vêm com a sua aplicação. Maior área; Não há necessidade de tempo de execução externo. Bom para ambientes empresariais fechados.
→ Implementar aplicações autónomas
Comece com o MSIX
Se construir uma aplicação desktop Win32 (por vezes chamada de app clássica) ou uma aplicação .NET — incluindo Windows Presentation Foundation (WPF) e Windows Forms (WinForms) — então pode empacotar e implementar a sua aplicação usando o MSIX.
- Criar um pacote MSIX a partir de um instalador existente
- Crie um pacote MSIX a partir do código-fonte
- Gerencie a sua implantação do MSIX
Outras tecnologias de instalação
- Instalação e manutenção de aplicações
- Windows Instalador
- .NET visão geral da publicação de aplicações
- Implementação do .NET Framework e aplicações
- Implementação de uma aplicação WPF
- Desdobramento ClickOnce para Windows Forms
Conteúdo relacionado
Windows developer