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.
Este artigo fornece diretrizes sobre como implantar aplicativos empacotados dependentes da estrutura (veja o que é MSIX?) que usam o SDK do Aplicativo do Windows. O tópico equivalente para outras opções de empacotamento que dependem de estrutura é Guia de implantação do SDK do Aplicativo Windows para aplicativos dependentes de estrutura empacotados com localização externa ou sem empacotamento.
Overview
Por padrão, quando você cria um projeto usando um dos modelos WinUI 3 no Visual Studio, seu projeto é configurado para criar o aplicativo em um pacote MSIX usando o MSIX de projeto único (consulte Empacotar seu aplicativo usando MSIX de projeto único) ou um projeto de Empacotamento de Aplicativos do Windows (consulte Configurar seu aplicativo de área de trabalho para empacotamento MSIX no Visual Studio). Em seguida, você pode criar um pacote MSIX para seu aplicativo usando as instruções em Empacotar um aplicativo de área de trabalho ou UWP no Visual Studio. Depois de criar um pacote MSIX para seu aplicativo, você terá várias opções para gerenciar sua implantação do MSIX.
Para saber mais sobre os pacotes que seu aplicativo empacotado pode precisar ao usar o SDK do Aplicativo do Windows, consulte a arquitetura de implantação do SDK do Aplicativo do Windows. Eles incluem os pacotes Framework, Main e Singleton ; que são todos assinados e publicados pela Microsoft. Há dois requisitos principais para implantar um aplicativo empacotado:
Prerequisites
- Para aplicativos empacotados, é necessário ter o pacote da estrutura VCLibs como requisito. Para obter mais informações, consulte Pacotes de estrutura runtime do C++ para a Ponte de Desktop.
- C#. O .NET 6 ou posterior é necessário. Para obter mais informações, consulte Downloads do .NET.
Implantar o pacote de estrutura do Windows App SDK
O pacote da estrutura do SDK de Aplicativo do Windows contém os binários do SDK de Aplicativo do Windows usados em tempo de execução e é instalado com seu aplicativo. A estrutura tem requisitos de implantação diferentes para diferentes canais do SDK do Aplicativo do Windows.
Versão estável
Quando você instala uma versão estável do pacote NuGet do SDK do Aplicativo Windows no computador de desenvolvimento e cria um projeto usando um dos modelos de projeto do WinUI 3 fornecidos, o manifesto do pacote gerado contém um elemento PackageDependency que especifica uma dependência no pacote de estrutura.
No entanto, se você criar seu pacote de aplicativos manualmente usando um Projeto de Empacotamento de Aplicativos do Windows separado, deverá declarar um PackageReference em seu Application (package).wapproj arquivo, como o seguinte:
<ItemGroup>
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.0.1">
<IncludeAssets>build</IncludeAssets>
</PackageReference>
</ItemGroup>
Essa dependência de pacote garante que o pacote framework seja instalado quando seu aplicativo é implantado em outro computador.
Versão de visualização
Quando você instala uma versão prévia do pacote NuGet do SDK do Aplicativo Windows no computador de desenvolvimento, uma versão prévia do pacote da estrutura do SDK do Aplicativo Windows é implantada no momento da compilação como uma dependência de pacote NuGet.
Chamar a API de Implantação
Consulte também Inicializar o SDK de Aplicativos do Windows.
A API de Implantação é fornecida pelo pacote da estrutura do SDK do Aplicativo windows e está disponível no namespace Microsoft.Windows.ApplicationModel.WindowsAppRuntime . O modelo de aplicativo do Windows não dá suporte à declaração de uma dependência nos pacotes Main e Singleton. Portanto, a API de Implantação é necessária para estes motivos:
- Para implantar o pacote Singleton para recursos que não estão no pacote framework (por exemplo, notificações por push).
- Para implantar o pacote Principal, que permite atualizações automáticas para o pacote Framework na Microsoft Store.
Para aplicativos empacotados que não são distribuídos por meio da Loja, você, como desenvolvedor, é responsável por distribuir o pacote do Framework. Recomendamos que você chame a API de Implantação para que todas as atualizações de manutenção críticas sejam entregues. Observe que, para usar recursos fora do pacote framework (por exemplo, notificações por push), o pacote Singleton deve ser implantado (isso pode ser feito com a API de Implantação ou redistribuindo os pacotes MSIX usando seu próprio método de instalação).
Important
No SDK do Aplicativo do Windows versão 1.0, somente os aplicativos empacotados que têm total confiança ou que têm a funcionalidade restrita packageManagement têm a permissão para usar a API de Implantação para instalar as dependências do pacote Main e Singleton. O suporte para aplicativos empacotados de confiança parcial será disponibilizado em versões posteriores.
Você deve chamar a API de Implantação depois que o processo do aplicativo for inicializado, mas antes que seu aplicativo use recursos de runtime do SDK do Aplicativo Windows que usam o pacote Singleton (por exemplo, notificações por push). Os principais métodos da API de Implantação são os métodos GetStatus e Initialize estáticos da classe DeploymentManager .
- O método GetStatus retorna o status de implantação atual do runtime do SDK do Aplicativo windows que está carregado no momento. Use esse método para identificar se há necessidade de trabalho para instalar os pacotes runtime do SDK do Aplicativo Windows antes que o aplicativo atual possa usar os recursos do SDK do Aplicativo Windows.
- O método Initialize verifica se todos os pacotes necessários estão presentes em uma versão mínima necessária para o runtime do SDK do Aplicativo do Windows que está carregado no momento. Se alguma dependência de pacote estiver ausente, o método tentará registrar esses pacotes ausentes. A partir do SDK do Aplicativo do Windows 1.1, o método Initialize também dá suporte à opção de forçar a implantação dos pacotes de runtime do SDK do Aplicativo do Windows. Isso desliga todos os processos para os pacotes de runtime Main e Singleton e, portanto, interrompe seus serviços (por exemplo, as notificações por push não fornecerão notificações durante esse tempo). Você deve chamar Inicializar apenas uma vez. Você não precisa chamar Inicializar para aplicativos implantados por meio dos comandos Iniciar Sem Depuração e Iniciar Depuração no Visual Studio.
Important
O valor padrão da propriedade <WindowsAppSdkDeploymentManagerInitialize> do Visual Studio é true. Portanto, se você quiser chamar DeploymentManager.Initialize explicitamente, defina <WindowsAppSdkDeploymentManagerInitialize>false</WindowsAppSdkDeploymentManagerInitialize> no arquivo de projeto do Visual Studio.
App de exemplo de API de implantação
Para obter orientações adicionais sobre como usar os métodos GetStatus e Initialize da classe DeploymentManager , explore o aplicativo de exemplo disponível.
Solucionar erros de instalação
Se a API de Implantação encontrar um erro durante a instalação dos pacotes de runtime do SDK do Aplicativo windows, ela retornará um código de erro que descreve o problema.
Por exemplo, se o aplicativo não tiver total confiança ou não tiver a funcionalidade restrita packageManagement , você receberá um código de erro ACCESS_DENIED . Para examinar outros códigos de erro que você pode encontrar e suas possíveis causas, consulte solução de problemas de empacotamento, implantação e consulta de aplicativos do Windows.
Se o código de erro não fornecer informações suficientes, você poderá encontrar mais informações de diagnóstico nos logs de eventos detalhados (consulte Obter informações de diagnóstico).
Se você encontrar erros que não consegue diagnosticar, registre um problema no repositório GitHub do WindowsAppSDK com o código de erro e os logs de eventos para que possamos investigar o problema.
Tópicos relacionados
Windows developer