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.
Há duas maneiras de implantar o SDK do Aplicativo Windows:
- dependentes do Framework. Seu aplicativo depende do SDK do Aplicativo Windows runtime e/ou pacote framework que está presente no computador de destino. A implantação dependente da estrutura é o modo de implantação padrão do SDK do Aplicativo Windows para seu uso eficiente de recursos de máquina e capacidade de serviço.
- independente. Seu aplicativo inclui as dependências do SDK do Aplicativo Windows, eliminando a necessidade de uma instalação separada do runtime no computador de destino.
Este tópico também utiliza os termos aplicativo empacotado, aplicativo empacotado com localização externa e aplicativo não empacotado. Para obter explicações sobre esses termos, consulte a visão geral da implantação.
| Implantar dependente de estrutura | Implantar autossuficiente | |
|---|---|---|
| Vantagens |
Implementação pequena. Somente seu aplicativo e suas outras dependências são distribuídos. O SDK do Aplicativo Windows runtime e o pacote framework são instalados automaticamente por aplicativos dependentes da estrutura que são empacotados ou como parte do instalador de runtime SDK do Aplicativo Windows por aplicativos dependentes da estrutura que são empacotados com local externo ou desempacotados. Serviceable. As atualizações de manutenção no SDK do Aplicativo Windows são instaladas automaticamente por meio do pacote SDK do Aplicativo Windows Framework sem nenhuma ação necessária do aplicativo. |
Controle da versão do SDK do Aplicativo Windows. Você controla qual versão do SDK do Aplicativo Windows é implantada com seu aplicativo. As atualizações de manutenção do SDK do Aplicativo Windows não afetarão seu aplicativo, a menos que você recompile e redistribua-o. Isolado de outros aplicativos. Aplicativos e usuários não podem desinstalar sua dependência de SDK do Aplicativo Windows sem desinstalar todo o aplicativo. Implantação do Xcopy. Como as dependências do SDK do Aplicativo Windows estão incluídas no seu aplicativo, você pode implantar seu aplicativo simplesmente copiando o resultado da compilação usando xcopy, sem nenhum requisito de instalação adicional. |
| Desvantagens |
Dependências de instalação adicionais. Requer a instalação do SDK do Aplicativo Windows runtime e/ou pacote framework, que pode adicionar complexidade à instalação do aplicativo. Dependências compartilhadas. Risco de que as dependências compartilhadas sejam desinstaladas. Aplicativos ou usuários que desinstalam os componentes compartilhados podem afetar a experiência do usuário de outros aplicativos que compartilham a dependência. Risco de compatibilidade. O risco de que as atualizações de manutenção no SDK do Aplicativo Windows introduzam alterações de ruptura. Embora as atualizações de manutenção forneçam compatibilidade com versões anteriores, é possível que as regressões sejam introduzidas. |
Implantações maiores (somente aplicativos não empacotados). Como seu aplicativo inclui o SDK do Aplicativo Windows, o tamanho do download e o espaço de disco rígido necessários são maiores do que seria o caso de uma versão dependente da estrutura. Desempenho (somente aplicativos não empacotados). Mais lento para carregar e usa mais memória, pois as páginas de código não são compartilhadas com outros aplicativos. Não pode ser atendido. A versão SDK do Aplicativo Windows distribuída com seu aplicativo só pode ser atualizada liberando uma nova versão do seu aplicativo. Você é responsável por integrar as atualizações de manutenção do SDK do Aplicativo Windows em seu aplicativo. |
Consulte também Criar seu primeiro projeto WinUI 3 e Utilize o SDK do Aplicativo Windows em um projeto existente.
Note
PublishSingleFile (EXE de arquivo único) tem suporte em aplicativos WinUI 3 não empacotados e autocontidos (SDK do Aplicativo Windows 1.5 e posterior). Aplicativos empacotados e aplicativos dependentes de framework não dão suporte a PublishSingleFile. Consulte EXE de arquivo único para obter as propriedades necessárias do MSBuild.
Mais informações sobre a implantação dependente da estrutura
Antes de configurar seu aplicativo dependente de estrutura para implantação, examine as dependências que seu aplicativo utiliza ao recorrer ao SDK do Aplicativo Windows na Arquitetura de implantação para o SDK do Aplicativo Windows.
Aplicativos empacotados
Se você optou por usar um aplicativo empacotado dependente de estrutura (consulte Deployment overview), aqui estão as instruções sobre como implantar o runtime SDK do Aplicativo Windows com o aplicativo:
- SDK do Aplicativo Windows guia de implantação para aplicativos empacotados dependentes da estrutura
- Gerencie sua implantação de MSIX
Empacotado com localização externa ou aplicativos não empacotados
Se você optou por usar um aplicativo empacotado dependente de estrutura com localização externa ou um aplicativo não empacotado dependente de estrutura (consulte Deployment overview), aqui estão as instruções sobre como implantar o runtime SDK do Aplicativo Windows com o aplicativo:
- Guia de implantação do SDK do Aplicativo Windows para apps dependentes de framework empacotados com local externo ou desempacotados
- Tutorial: use a API bootstrapper em um aplicativo empacotado com local externo ou desempacotado que usa o SDK do Aplicativo Windows
Mais informações sobre implantação autocontida
Consulte guia de implantação do SDK do Aplicativo Windows para aplicativos autossuficientes.
Note
PublishSingleFile (EXE de arquivo único) exige que o aplicativo seja não empacotado e independente. Consulte o EXE de arquivo único para obter a lista completa das propriedades necessárias do MSBuild.
Inicializar o SDK do Aplicativo Windows
A maneira como você deve inicializar o SDK do Aplicativo Windows depende de se e como empacotar seu aplicativo e da maneira como você implanta em relação ao runtime do SDK do Aplicativo Windows. Use a seção abaixo que se aplica ao seu aplicativo.
Aplicativos empacotados
| Como seu aplicativo é implantado | Como inicializar |
|---|---|
| Dependente de estrutura | Consulte Chame a API de Implantação. |
| Autossuficiente | Nenhuma inicialização necessária. |
Aplicativos não empacotados e aplicativos empacotados com localização externa
| Como seu aplicativo é implantado | Como inicializar |
|---|---|
| Dependente de estrutura | Veja para usar a API bootstrapper em um aplicativo empacotado com localização externa ou não empacotado. |
| Autossuficiente | Consulte Optar por não participar (ou participar de) suporte automático do UndockedRegFreeWinRT. |
Considerações sobre arquitetura (x64, ARM64)
Ao implantar seu aplicativo, você deve incluir binários para cada arquitetura de processador de que os usuários precisam. Isso se aplica aos modos de implantação independentes e dependentes da estrutura.
Suporte a ARM64
Windows em dispositivos ARM (incluindo Surface Pro X, Surface Pro 11 e Copilot+ PCs) executam ARM64 nativamente. Embora a emulação x64 esteja disponível em dispositivos ARM64 com Windows 11, os binários ARM64 nativos oferecem melhor desempenho e maior autonomia de bateria — e são recomendados quando você deseja a melhor experiência para cargas de trabalho de IA executadas no dispositivo em PCs Copilot+.
Implantação nativa do ARM64
Pacotes MSIX — Crie um
.msixbundleque inclua as arquiteturasx64eARM64. Visual Studio os gera automaticamente quando você cria para várias plataformas. A Loja e o Instalador de Aplicativos selecionam a arquitetura correta no momento da instalação.Publicação independente — Especifique o RID (identificador de runtime) para cada arquitetura:
dotnet publish -c Release -r win-x64 --self-contained true dotnet publish -c Release -r win-arm64 --self-contained trueC++/WinRT — Crie configurações separadas para
x64eARM64em sua solução de Visual Studio.Aplicativos dependentes da estrutura – ao usar o instalador do SDK do Aplicativo Windows runtime, verifique se você fornece o instalador específico da arquitetura correta. O SDK do Aplicativo Windows fornece instaladores separados para x64 e ARM64.
Arm64EC — migração gradual para grandes bases de código do C/C++
Se seu aplicativo tiver uma base de código nativa grande (C/C++), um recompilar completo para ARM64 pode não ser prático em uma única etapa. Arm64EC (Compatível com Emulação) permite misturar código x64 e ARM64 no mesmo processo. Você recompila módulos críticos para o desempenho para ARM64 nativo, enquanto os demais módulos x64 são executados sob emulação — tudo em um único binário.
| Approach | Melhor para | Compromisso |
|---|---|---|
| Recompilação completa do ARM64 | Aplicativos .NET puros, pequenos projetos do C++ | Melhor desempenho; requer que todas as dependências sejam compatíveis com ARM64 |
| Arm64EC | Aplicativos C/C++ grandes, aplicativos com plug-ins exclusivos para x64 ou DLLs de terceiros | Migração incremental; partes emuladas são executadas mais lentamente do que nativas |
| somente x64 (emulado) | Aplicativos que não podem ser recompilados e não precisam de desempenho de pico | Simples; redução da duração da bateria e maior latência em dispositivos ARM64 |
Para obter mais informações, consulte Arm64EC — Criar e portar aplicativos para desempenho nativo no Arm.
Emulação (Prism)
Windows 11 no ARM usa uma camada de emulação chamada Prism para executar aplicativos x64 e x86 no hardware ARM64. O Prism converte instruções x86/x64 para ARM64 em runtime, fornecendo ampla compatibilidade com o aplicativo sem a necessidade de um recompilamento.
- Emulação x64 — Disponível apenas em dispositivos ARM64 Windows 11 (não Windows 10 no ARM).
- Emulação x86 – Disponível em dispositivos Windows 10 e Windows 11 ARM64.
- Desempenho — Aplicativos emulados normalmente são executados com desempenho aceitável para cargas de trabalho de produtividade, mas aplicativos com uso intensivo de gráficos ou computação pesada se beneficiam significativamente de um build ARM64 ou Arm64EC nativo.
Dica
Se você direcionar apenas x64, seu aplicativo ainda será executado em dispositivos ARM64 por meio da emulação do Prism (somente Windows 11). No entanto, compilações nativas para ARM64 são altamente recomendadas para aplicativos em produção — aplicativos emulados consomem mais bateria e têm maior latência. Em Copilot+ PCs, o ARM64 nativo pode fornecer o melhor desempenho para cargas de trabalho de IA no dispositivo.
Para envios para a Loja, carregue pacotes específicos para cada arquitetura ou um pacote combinado contendo ambos. A Loja fornece apenas a arquitetura correspondente para cada dispositivo.
Tópicos relacionados
- Visão geral da implantação
- arquitetura de implantação para o SDK do Aplicativo Windows
- SDK do Aplicativo Windows guia de implantação para aplicativos empacotados dependentes da estrutura
- Gerencie sua implantação de MSIX
- Guia de implantação do SDK do Aplicativo Windows para apps dependentes de framework empacotados com local externo ou desempacotados
- Tutorial: use a API bootstrapper em um aplicativo empacotado com local externo ou desempacotado que usa o SDK do Aplicativo Windows
- Guia de implantação do SDK do Aplicativo Windows para aplicativos autocontidos
- Criar seu primeiro projeto WinUI
Utilize o SDK do Aplicativo Windows em um project
Windows developer