Visão geral da implantação

Os tópicos desta seção apresentam opções e diretrizes sobre implantação de diferentes tipos de aplicativos do Windows.

Vantagens e desvantagens de empacotar ou não o aplicativo

Sua primeira decisão será empacotar ou não seu aplicativo.

  • Aplicativo empacotado. Os aplicativos empacotados são o único tipo que têm um identificador de pacote no runtime. A identidade do pacote é necessária para muitos recursos de extensibilidade do Windows, incluindo tarefas em segundo plano, notificações, blocos dinâmicos, extensões de menu de contexto personalizadas e destinos de compartilhamento. Isso ocorre porque o SO (sistema operacional) precisa identificar o chamador da API correspondente. Consulte Recursos que exigem a identidade do pacote.
    • Normalmente, o processo de um aplicativo empacotado é executado dentro de um contêiner de aplicativo leve e é isolado usando o sistema de arquivos e a virtualização do registro (confira AppContainer para aplicativos herdados e aplicativos MSIX AppContainer). Mas você pode configurar um aplicativo empacotado para não ser executado em um contêiner de aplicativo.
    • Um aplicativo empacotado é empacotado usando a tecnologia MSIX (confira O que é o MSIX?).
    • Aplicativo empacotado com localização externa. Mas como alguns aplicativos existentes ainda não estão prontos para que todo o conteúdo esteja presente dentro de um pacote MSIX, há uma opção para que seu aplicativo seja empacotado com local externo. Isso permite que seu aplicativo tenha o identificador de pacote; sendo assim capaz de usar esses recursos que exigem isso. Para obter mais informações, confira Conceder identidade do pacote empacotando com localização externa.
    • Um aplicativo empacotado também é instalado usando o MSIX. Mas se você optar por empacotar com local externo, poderá pensar nisso como um modelo "traga seu próprio instalador". Portanto, haverá algum trabalho de instalador para você fazer com essa opção. Essa é essencialmente uma opção híbrida entre um aplicativo empacotado e não empacotado.
  • Aplicativo não empacotado. Você pode optar por não usar o MSIX completamente criando um aplicativo não empacotado. Mas lembre-se de que um aplicativo não empacotado não tem um identificador de pacote em runtime; portanto, ele não tira proveito de certos recursos do Windows (confira Recursos que exigem o identificador de pacote).

Cada tipo de aplicativo pode ser publicado na Microsoft Store e instalado dessa forma ou por meio do Instalador de Aplicativo do Windows.

Importante

Recomendamos que você empacote seu aplicativo para ser executado em um contêiner de aplicativo. Essa será uma experiência de instalação e atualização perfeita, moderna e confiável para seus clientes; e ele estará seguro no runtime.

Empacotado (e, opcionalmente, em execução em um contêiner de aplicativo) Empacotado com localização externa ou não empacotado
Vantagens Oferece aos seus usuários um jeito fácil para instalar, desinstalar e atualizar seu aplicativo. A desinstalação é limpa – quando seu aplicativo é desinstalado, o sistema é restaurado para o mesmo estado em que estava antes da instalação – nenhum artefato é deixado para trás. Esse tipo de aplicativo também dá suporte a atualizações incrementais e automáticas. E a Microsoft Store é otimizada para aplicativos desse tipo (embora eles possam ser usados dentro ou fora da Store).

Você obtém os benefícios de ter um identificador de pacote.
Com essas opções, seu aplicativo fica irrestrito em termos do tipo de aplicativo, das APIs que ele pode chamar e do acesso ao Registro e ao sistema de arquivos.

Empacotar com localização externa significa que você obtém os benefícios de ter um identificador de pacote.
Desvantagens Seu aplicativo ficará limitado em termos do tipo possível de aplicativo e da ação que ele poderá ter dentro do sistema. Por exemplo, um Serviço NT não será possível. As opções de IPC (comunicação entre processos) serão limitadas; o acesso privilegiado/elevado ficará restrito se você estiver publicando na Microsoft Store; o acesso ao arquivo/Registro será virtualizado (confira também Virtualização flexível). E, em algumas situações, as políticas corporativas poderão desabilitar as atualizações desabilitando a Microsoft Store. Com essas opções, um aplicativo corre o risco de fazer com que os dados de configuração e os softwares obsoletos fiquem acumulados depois que o aplicativo for desinstalado. Isso pode ser um problema para o cliente e para o sistema.

Seu aplicativo normalmente será instalado e atualizado usando arquivos .exe ou .msi, ou por meio de outras soluções de instalação e atualização; usando um instalador personalizado, o ClickOnce ou uma implantação do xcopy.

Um aplicativo não empacotado não conta com os benefícios de ter uma identidade de pacote.

Para saber mais sobre o local de instalação do pacote, o diretório de trabalho e a virtualização de arquivos e registros, confira Como aplicativos para desktop empacotados são executados no Windows.

Usar o SDK do Aplicativo Windows

Depois de decidir se deseja ou não empacotar seu aplicativo, você pode decidir se deseja ou não usar o SDK do Aplicativo Windows em seu aplicativo. Confira Visão geral da implantação do SDK do Aplicativo Windows.

Aplicativos da área de trabalho Win32 e .NET

Ao criar um aplicativo da área de trabalho Win32 (também chamado de aplicativo da área de trabalho clássico) ou um aplicativo .NET, incluindo o WPF (Windows Presentation Foundation) e o WinForms (Windows Forms), é possível empacotá-lo e implantá-lo usando o MSIX.

Você também pode empacotar e implantar esses tipos de aplicativos usando outras tecnologias de instalação.

Aplicativos UWP

Os aplicativos UWP são empacotados e implantados usando o MSIX.