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 (consulte O que é o MSIX?) que usam o Windows App SDK. O tópico equivalente para outras opções de empacotamento dependentes de framework é guia de implantação do Windows App SDK para aplicativos dependentes de framework embalados com localização externa ou não embalados.
Overview
Por padrão, quando você cria um projeto usando um dos modelos WinUI 3 no Visual Studio, seu projeto está configurado para compilar o aplicativo em um pacote MSIX usando o MSIX de projeto único (consulte Empacotamento do seu aplicativo usando MSIX de projeto único) ou um projeto de Empacotamento de Aplicativos do Windows (consulte Configure 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 Pacote um aplicativo UWP ou desktop em 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 de que seu aplicativo empacotado pode precisar ao utilizar o Windows App SDK, consulte Arquitetura de implantação do Windows App SDK. 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 de tempo de execução do C++ para a Ponte Desktop.
- C#. .NET 6 ou posterior é necessário. Para obter mais informações, consulte .NET Downloads.
Implantar o pacote de estrutura de Windows App SDK
O pacote da estrutura Windows App SDK contém os binários de Windows App SDK usados em tempo de execução e é instalado com seu aplicativo. A estrutura tem requisitos de implantação diferentes para diferentes canais do Windows App SDK.
Versão estável
Quando você instala uma versão estável do pacote NuGet Windows App SDK no computador de desenvolvimento e cria um projeto com um dos modelos de projeto WinUI 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 Windows separado, deverá declarar um PackageReference no arquivo Application (package).wapproj, como o seguinte:
<ItemGroup>
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.8.260209005">
<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 Windows App SDK no computador de desenvolvimento, uma versão prévia do pacote de estrutura do Windows App SDK é implantada durante a compilação como uma dependência do pacote NuGet.
Chamar a API de Implantação
Consulte também Initializar o Windows App SDK.
A API de Implantação é fornecida pelo pacote da estrutura Windows App SDK e está disponível no Microsoft.Windows. ApplicationModel.WindowsAppRuntime namespace. O modelo de aplicativo 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
Somente os aplicativos empacotados que têm confiança total ou que possuem a funcionalidade restrita PackageManagement têm permissão de usar a API de Implantação para instalar as dependências de pacote Main e Singleton.
Você deve chamar a API de Implantação depois que o processo do aplicativo for inicializado, mas antes que seu aplicativo use os recursos de runtime do Windows App SDK que utilizam 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 Windows App SDK carregado no momento. Use este método para identificar se há necessidade de trabalho para instalar os pacotes de runtime do Windows App SDK antes que o aplicativo atual possa usar os recursos do Windows App SDK.
- 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 Windows App SDK carregado no momento. Se alguma dependência de pacote estiver ausente, o método tentará registrar esses pacotes ausentes. A partir do Windows App SDK 1.1, o método Initialize também dá suporte à opção de forçar a implantação dos pacotes de runtime Windows App SDK. 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 Initialize para aplicativos implantados por meio dos comandos Start Without Debugging e Start Debugging no Visual Studio.
Important
O valor padrão da propriedade Visual Studio <WindowsAppSdkDeploymentManagerInitialize> é true. Portanto, se você quiser chamar DeploymentManager.Initialize explicitamente, defina <WindowsAppSdkDeploymentManagerInitialize>false</WindowsAppSdkDeploymentManagerInitialize> no arquivo de projeto 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 do Windows App SDK pacotes de runtime, 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 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 pode diagnosticar, registre um problema no WindowsAppSDK GitHub repositório com o código de erro e os logs de eventos para que possamos investigar o problema.
Tópicos relacionados
- arquitetura de implantação para o Windows App SDK
- Guia de implantação do Windows App SDK para apps dependentes de framework empacotados com local externo ou desempacotados
- Canais de lançamento
- Empacotar seu aplicativo usando projeto único MSIX
Windows developer