SDK do Aplicativo Windows guia de implantação para aplicativos empacotados dependentes de estrutura

Este artigo fornece diretrizes sobre como implantar aplicativos empacotados dependentes de estrutura (consulte O que é MSIX?) que usam o SDK do Aplicativo Windows. O tópico equivalente para outras opções de empacotamento dependentes de estrutura é SDK do Aplicativo Windows guia de implantação para aplicativos dependentes de estrutura empacotados com local externo ou não empacotados.

Visão geral

Por padrão, quando você cria um projeto usando um dos modelos do 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 da á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 da á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 Windows, consulte Arquitetura de implantação para o SDK do Aplicativo Windows. Isso inclui os pacotes Framework, Main e Singleton ; que são todos assinados e publicados pela Microsoft. Há dois requisitos de main para implantar um aplicativo empacotado:

  1. Implante o pacote de estrutura SDK do Aplicativo Windows.
  2. Chame a API de Implantação.

Pré-requisitos

Implantar o pacote de estrutura SDK do Aplicativo Windows

O SDK do Aplicativo Windows pacote de estrutura contém os binários SDK do Aplicativo Windows usados em tempo de execução e ele é instalado com seu aplicativo. A estrutura tem requisitos de implantação diferentes para diferentes canais do SDK do Aplicativo Windows.

Versão estável

Quando você instala uma versão de versão estável (consulte Notas de versão de canal estável) do pacote NuGet SDK do Aplicativo Windows em seu 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 o pacote do aplicativo manualmente usando um Projeto de Empacotamento de Aplicativo 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 for implantado em outro computador.

Versão prévia

Quando você instala uma versão de versão prévia (consulte Notas de versão prévia do canal) do pacote NuGet SDK do Aplicativo Windows em seu computador de desenvolvimento, uma versão prévia do pacote de estrutura SDK do Aplicativo Windows é implantada durante o tempo de build como uma dependência de pacote NuGet.

Chamar a API de Implantação

Consulte também Inicializar o SDK do Aplicativo Windows.

A API de Implantação é fornecida pelo pacote de estrutura 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 por estes motivos:

  1. Para implantar o pacote Singleton para recursos que não estão no pacote framework (por exemplo, notificações por push).
  2. Para implantar o pacote Main, que permite atualizações automáticas para o pacote framework da Microsoft Store.

Para aplicativos empacotados que não são distribuídos por meio da Store, você, como desenvolvedor, é responsável por distribuir o pacote 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).

Importante

No SDK do Aplicativo Windows versão 1.0, somente os aplicativos empacotados que têm confiança total 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 SDK do Aplicativo Windows recursos de runtime que usam o pacote Singleton (por exemplo, notificações por push). Os métodos main da API de Implantação são os métodos Estáticos GetStatus e Initialize da classe DeploymentManager.

  • O método GetStatus retorna o status de implantação atual do runtime do SDK do Aplicativo Windows carregado no momento. Use esse método para identificar se há trabalho necessário para instalar SDK do Aplicativo Windows pacotes de runtime antes que o aplicativo atual possa usar SDK do Aplicativo Windows recursos.
  • 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 Windows 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 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 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 entregarão notificações durante esse tempo).

Aplicativo de exemplo da API de Implantação

Para obter diretrizes adicionais sobre como usar os métodos GetStatus e Initialize da classe DeploymentManager , explore o aplicativo de exemplo disponível.

Erros de instalação de endereço

Se a API de Implantação encontrar um erro durante a instalação do SDK do Aplicativo Windows pacotes de runtime, ela retornará um código de erro que descreve o problema.

Por exemplo, se o aplicativo não for de confiança total 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.