Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este artigo explica uma arquitetura de alto nível da implantação do SDK de Aplicativo Windows. Os conceitos abaixo se aplicam principalmente a aplicativos dependentes da estrutura do SDK de Aplicativo Windows. Uma aplicação dependente da estrutura depende da presença do runtime do Windows App SDK na máquina de destino.
Há duas opções principais para distribuir um aplicativo dependente da estrutura:
| Método de implantação do aplicativo | Requerimentos |
|---|---|
| Embalado | - Deve declarar dependência do pacote Framework no manifesto do pacote. - A API de implantação é necessária para aplicativos distribuídos da Microsoft Store e recomendada para aplicativos distribuídos que não sejam da Loja para garantir que as dependências de tempo de execução sejam instaladas. |
| Embalado com localização externa ou não embalado | - Deve distribuir o tempo de execução usando o instalador ou instalando pacotes MSIX necessários diretamente. - Requisitos adicionais de tempo de execução: Deve inicializar o acesso ao tempo de execução do SDK do Windows App por meio da API de Bootstrap. |
Para obter mais detalhes sobre esses requisitos, consulte os seguintes artigos:
- Guia de implantação do SDK de Aplicativo Windows para aplicativos empacotados dependentes da estrutura
- Guia de implementação do SDK de Aplicações Windows para aplicações dependentes de estrutura empacotadas com localização externa ou não empacotadas
Termos principais
As seções a seguir definem os principais termos para a implantação do SDK de aplicativos Windows e detalhes adicionais sobre alguns desses pacotes.
| Período | Definição |
|---|---|
| Tempo de execução do SDK de Aplicativo Windows | Os pacotes MSIX exigidos por um aplicativo para usar o SDK do Aplicativo Windows. Esses pacotes incluem: Framework, Main, Singleton e DDLM. Dependendo dos recursos usados e do método de implantação do aplicativo, você precisará de um determinado conjunto desses pacotes na máquina de destino. |
| Pacote de Framework | Contém binários usados em tempo de execução por aplicativos (a maioria dos recursos do SDK de aplicativos Windows). A estrutura inclui um componente de bootstrapper que permite que os aplicativos instalem automaticamente a versão mais recente do SDK de aplicativos do Windows, que será atualizada em uma cadência de lançamento regular. |
| Embalagem principal | Pacote que contém tarefas em segundo plano para acompanhar as dependências dinâmicas e permite atualizações automáticas para o pacote Framework da Microsoft Store. |
| pacote Singleton | Contém tarefas em segundo plano, serviços, extensões de aplicativo e outros componentes não incluídos no pacote do Framework, como notificações por push. Geralmente, trata-se de um único processo de longa execução que é intermediado entre aplicativos. |
| pacote DDLM (Dynamic Dependency Lifetime Manager) | Impede que o sistema operacional execute atualizações de manutenção para os pacotes MSIX enquanto um pacote com local externo ou aplicativo não empacotado estiver em uso. |
| Bootstrapper | Um binário local da aplicação usado por aplicações empacotadas com localização externa e aplicações não empacotadas para localizar e carregar a melhor versão do SDK de Aplicações Windows conforme necessário para a aplicação. |
| Aprovisionamento | O processo de instalação e registro de pacotes (incluindo arquivos e chaves de registro) em todo o sistema para eliminar a necessidade de instalação repetida pelos outros usuários. Isso pode ser feito como parte do sistema operacional ou durante a instalação de um aplicativo. |
| Instalador | Refere-se ao instalador de .exe que implanta os pacotes Framework, Main, Singleton e DDLM. |
| MSIX | Tecnologia de instalação moderna que permite aos usuários instalar com segurança um aplicativo por usuário, diretamente da Microsoft Store ou de um site. Em computadores corporativos ou compartilhados, os aplicativos podem ser instalados para todos os usuários via PowerShell e MDM. |
Pacote de Framework
Quando você cria um aplicativo que usa o SDK do Aplicativo Windows, seu aplicativo faz referência a um conjunto de componentes de tempo de execução do SDK do Aplicativo Windows que são distribuídos aos usuários finais por meio de um pacote de estrutura. O pacote de estrutura permite que os aplicativos acessem os componentes do SDK de aplicativos do Windows por meio de uma única fonte compartilhada no dispositivo do usuário, em vez de agrupá-los no pacote do aplicativo. O pacote de framework também carrega seus próprios recursos, como DLLs e definições de API (registros COM e do Tempo de Execução do Windows). Esses recursos são executados no contexto do seu aplicativo, portanto, eles herdam os recursos e privilégios do seu aplicativo e não afirmam nenhum recurso ou privilégio próprio. Para obter mais informações sobre dependências de pacotes de estrutura, consulte pacotes de estrutura MSIX e dependências dinâmicas.
O pacote de estrutura do SDK de Aplicativo Windows é um pacote MSIX implantado para usuários finais por meio da Microsoft Store. Ele pode ser fácil e rapidamente atualizado com versões de manutenção, que podem incluir correções de segurança e confiabilidade. Todos os aplicativos dependentes da estrutura que usam o SDK de Aplicativos Windows têm uma dependência em uma instância compartilhada do pacote de estrutura, conforme ilustrado no diagrama a seguir.
Quando uma nova versão do pacote de estrutura do SDK de Aplicativo Windows é atendida, todos os aplicativos dependentes da estrutura são atualizados para a nova versão sem que eles mesmos precisem redistribuir uma cópia. O Windows atualiza para a versão mais recente das estruturas à medida que são lançadas, e os aplicativos farão referência automática à versão mais recente do pacote de estruturas durante o relançamento. As versões mais antigas do pacote de estrutura não serão removidas do sistema até que não estejam mais em execução ou sendo usadas ativamente por aplicativos no sistema.
Como a compatibilidade de aplicativos é importante para a Microsoft e para aplicativos que dependem do SDK de Aplicativo Windows, o pacote de estrutura do SDK de Aplicativo Windows segue regras de do Controle de Versão Semântico 2.0.0. Isso significa que, após o lançamento da versão 1.0 do Windows App SDK, o pacote de framework do Windows App SDK garantirá a compatibilidade entre as atualizações de versões secundárias e correções, e as alterações disruptivas ocorrerão apenas entre as atualizações de versões principais.
Pacote Singleton
O pacote singleton garante que um único processo de longa execução possa gerir serviços utilizados em várias aplicações, que podem estar a ser executadas em diferentes versões do Windows App SDK.
O singleton do Windows App SDK é necessário para habilitar as notificações por push para aplicativos não empacotados e aplicativos Win32 empacotados usando versões do Windows abaixo de 20H1, que não podem ser suportados pela classe existente UWP PushNotificationTrigger e ToastNotificationActionTrigger. Os futuros recursos do SDK de aplicativos Windows que não podem ser suportados pelo pacote Framework serão adicionados ao pacote Singleton.
Requisitos adicionais para aplicativos não empacotados
Bootstrapper
O bootstrapper é uma biblioteca que deve ser incluída com o seu pacote quando é utilizado um local externo ou uma aplicação não empacotada. Ele fornece a API de bootstrapper (consulte Usar o tempo de execução do SDK de aplicativos do Windows para aplicativos empacotados com local externo ounão empacotados), que permite que aplicativos não empacotados executem estas tarefas importantes:
- Inicialize o DDLM (Dynamic Dependency Lifetime Manager) para o framework do SDK de aplicações do Windows.
- Localize e carregue o pacote de estrutura do SDK de aplicativos do Windows no gráfico de pacotes do aplicativo.
Para realizar essas tarefas, o pacote nuget aproveita os inicializadores automáticos para conectar o bootstrapper para você. Basta definir <WindowsPackageType>None</WindowsPackageType> em seu arquivo de projeto. Em cenários avançados, se quiser controlar a inicialização, você pode chamar a API de bootstrapper diretamente no código de inicialização do seu aplicativo (consulte Tutorial: Usar a API de bootstrapper em um aplicativo empacotado com local externo ou não empacotado que usa o SDK de Aplicativo do Windows) para que ele possa inicializar corretamente o sistema para o aplicativo não empacotado. Seu aplicativo deve usar a API de bootstrapper antes de poder usar os recursos do SDK de aplicativos Windows, como WinUI, ciclo de vida do aplicativo, MRT Core e DWriteCore.
A biblioteca de bootstrapper na versão 1.0 do Windows App SDK inclui:
- Microsoft.WindowsAppRuntime.Bootstrap.dll (C++ e C#)
- Microsoft.WindowsAppRuntime.Bootstrap.Net.dll (wrapper C#)
Gerenciador de tempo de vida de dependência dinâmica (DDLM)
O objetivo do DDLM é impedir a manutenção do pacote de estrutura do SDK de Aplicativo Windows enquanto ele estiver em uso por um aplicativo não empacotado. Ele contém um servidor que deve ser inicializado pelo bootstrapper no início da inicialização de um aplicativo para fornecer essa funcionalidade.
Há um DDLM para cada versão e arquitetura do pacote de framework do Windows App SDK. Isso significa que, em um(a) x64 computador, poderá ter uma versão x86 e uma versão x64 do DDLM para suportar aplicações de ambas as arquiteturas.
Requisitos adicionais
- Para aplicações empacotadas, a dependência do pacote de estrutura VCLibs é um requisito. Para obter mais informações, consulte pacotes de framework Runtime C++ para Desktop Bridge.
- Para aplicativos não empacotados, o Visual C++ Redistributable é um requisito. Para obter mais informações, consulte os mais recentes downloads suportados do Microsoft Visual C++ Redistributable.
- C#. Para o runtime do .NET, consulte Download .NET.
Tópicos relacionados
Windows developer