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 estiver desempacotado e encontrar erros E_ILLEGAL_METHOD_CALL ou APPMODEL_ERROR_NO_PACKAGE ao chamar APIs do Windows, esse é o 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 (submissão MSIX) | Novas aplicações, publicação de loja, MDM empresarial |
| Embalagem com localização externa | ✅ Sim | O seu instalador atual | ✅ Sim (submissão MSI/EXE) | Aplicações existentes com instalador independente, Fornecedores Independentes de Software (ISVs) |
| Não embalado | ❌ Não | Instalador MSI ou EXE (também: XCopy ou script para distribuição fora da Loja) | ✅ Sim (submissão MSI/EXE — requer um instalador MSI ou EXE com suporte de instalação silenciosa) | Distribuição ampla Win32, ferramentas internas |
Aplicações empacotadas (MSIX)
As aplicações empacotadas 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 são distribuídas através do seu próprio instalador (NSIS, WiX, InstallShield, etc.) e não querem substituir o instalador por MSIX. Regista um pacote de identidade simplificado, os seus binários permanecem onde estão e desbloqueia todas as funcionalidades do Windows protegidas 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 (submissão MSIX) | Sim (submissão MSI/EXE) |
| 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 independente a publicar na Microsoft Store | Pacote (MSIX) recomendado | O MSIX é o caminho recomendado — permite atualizações geridas pela Store, downloads diferenciais e desinstalação limpa. As aplicações WinUI 3 são empacotadas por predefinição. A assinatura de códigos é gerida gratuitamente pela Loja. → Distribua a tua aplicação embalada Aplicações Win32 com um instalador MSI ou EXE existente também podem ser publicadas na Store através do caminho de submissão MSI/EXE, mas a Store não envia atualizações para utilizadores existentes — as atualizações devem ser tratadas pela aplicação ou pelo instalador. |
| 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. Assinatura de código: use um certificado autoassinado (confiado via Intune, Group Policy ou Gestor de Configuração) ou Azure Artifact Signing (anteriormente Trusted Signing). → 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.
Assinatura de código: é necessário um certificado de confiança CA para distribuição que não seja da Store.
Azure Artifact Signing (anteriormente Trusted Signing) é a opção de menor custo recomendada. → Identidade do pacote Grant Em alternativa, submeta o seu instalador atual à Loja através do caminho de submissão MSI/EXE. |
| 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. |
Sugestão
Não tem a certeza sobre os custos de assinatura de código? Publicar um pacote MSIX através do Microsoft Store significa que não precisa de obter ou gerir separadamente um certificado para confiança no utilizador final — Microsoft reassina o pacote. Publicar um instalador MSI/EXE Win32 através da Store requer um encadeamento de certificado a uma CA no Programa Raiz Confiável da Microsoft; autoassinado não é aceite. Para outros caminhos de distribuição, a sua abordagem de assinatura depende do contexto de implementação — ambientes empresariais podem confiar num certificado auto-assinado através da gestão de dispositivos, enquanto a distribuição mais ampla fora da Store normalmente requer uma solução de assinatura de código confiável na CA. Azure Assinatura de Artefactos (anteriormente Assinatura Confiável) é a opção recomendada pela Microsoft (ver preço), sem necessidade de token de hardware.
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 do Framework: O runtime do SDK de Aplicações Windows deve ser instalado na máquina do usuário. Impacto de memória menor da aplicação; depende do runtime estar presente ou ser automaticamente instalado.
- Autossuficiente: Todos os binários do SDK de Aplicações Windows são enviados 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