Empacotando um aplicativo Win32 isolado com o Visual Studio

Esta página abordará tudo o que é necessário para empacotar um aplicativo para aproveitar o isolamento do aplicativo Win32.

Importante

Esta funcionalidade está em pré-visualização: Algumas informações referem-se a um produto de pré-lançamento que pode ser substancialmente modificado antes de ser lançado comercialmente. A Microsoft não oferece garantias, expressas ou implícitas, em relação às informações fornecidas aqui.

Pré-requisitos

O seguinte é necessário para empacotar um aplicativo em um aplicativo Win32 isolado:

  • Visual Studio versão 17.10.2 ou superior

Etapa 1 - Instalar as cargas de trabalho necessárias no Visual Studio, incluindo o Windows 11 SDK 10.0.26100.0 (ou superior)

Abra o instalador do Visual Studio e modifique a instalação existente. Na aba Trabalhos, marque a caixa de desenvolvimento de aplicativos do Windows (e, opcionalmente, marque a caixa de ferramentas de desenvolvimento de apps WinUI em C++ para desenvolvimento em C++). O Windows 11 SDK 10.0.26100.0 (ou superior) também é necessário.

Uma captura de tela mostrando as cargas de trabalho necessárias a serem instaladas no Visual Studio

Etapa 2 - Criar seu projeto de aplicativo

No Visual Studio, crie um novo projeto C# ou C++ usando o modelo Aplicativo em Branco, Empacotado com Projeto de Empacotamento de Aplicativos do Windows (WinUI 3 na Área de Trabalho). Clique Criar e, em seguida, selecione 10.0.26100.0 (ou posterior) para Versão da Plataforma de Destino (TPV) e Versão Mínima da Plataforma de Destino (TPMinV).

Uma captura de ecrã mostrando um modelo para uma Aplicação Vazia com projeto de Empacotamento para Windows no Visual Studio

Uma captura de tela mostrando a tela Novo Projeto no Visual Studio

Uma captura de tela mostrando a nova tela de projeto WinUI no Visual Studio

Etapa 3 - Instale o Microsoft.Windows.SDK.BuildTools versão 10.0.26100.1742 ou posterior com o NuGet

Vá para Project -> Manage NuGet Packages para instalar Microsoft.Windows.SDK.BuildTools versão 10.0.26100.1 (ou posterior).

Uma captura de ecrã mostrando o ecrã de gestão de pacotes NuGet no Visual Studio

Uma captura de tela mostrando o pacote Microsoft.Windows.SDK.BuildTools na tela NuGet no Visual Studio

Uma captura de tela mostrando as informações do pacote Ferramentas de Compilação na tela NuGet no Visual Studio

Etapa 4 - Editar o Packaging.appxmanifest e os arquivos de projeto

No arquivo de manifesto, as seguintes alterações precisarão ser feitas:

Nota: Aplicativos win32 isolados não são compatíveis com outros tipos de aplicativos dentro do mesmo pacote.

  • Adicione xmlns:uap18="http://schemas.microsoft.com/appx/manifest/uap/windows10/18" ao elemento <Package> se ele ainda não estiver lá.

    • Adicione uap18 a IgnorableNamespaces no final do elemento <Package>.
  • Em <Dependencies> alterar TargetDeviceFamily para <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.26100.0" MaxVersionTested="10.0.26226.0" />.

    Observação

    Nem todos os recursos estão disponíveis na compilação mínima, confira as notas de versão para obter informações mais detalhadas. Além disso, as seguintes alterações de manifesto permitem que o aplicativo se torne um aplicativo isolado, mas ele pode continuar a ser executado como um aplicativo Win32 em sistemas operacionais onde o isolamento de aplicativo Win32 não é suportado.

  • No <Application>, substitua qualquer entrypoint/trustlevel/runtimebehavior existente por EntryPoint="Windows.FullTrustApplication"uap18:EntryPoint="Isolated.App"uap18:TrustLevel="appContainer" uap18:RuntimeBehavior="appSilo".

  • Nas extensões <Application>, remova qualquer EntryPoints=* ou Executable=* que seja herdado de <Application> pai

  • Adicione desktop7:Scope="user" ao elemento de extensão para windows.protocol.

    Observação

    Por padrão, o Visual Studio adicionará automaticamente <rescap:Capability name="runFullTrust"> ao <Capabilities> devido ao aplicativo ser um Win32 empacotado. Isso deve ser removido, a menos que o aplicativo tenha outras extensões manifestadas que possam afetar o estado global do usuário, como comServer ou FirewallRules, uma vez que exigem o recurso runFullTrust.

Uma captura de tela mostrando a configuração do aplicativo de empacotamento no Visual Studio

  • Adicione <AppxOSMaxVersionTestedReplaceManifestVersion>false</AppxOSMaxVersionTestedReplaceManifestVersion> no arquivo wapproj, logo após as linhas da versão da plataforma de destino Uma captura de tela mostrando a configuração do arquivo de projeto no Visual Studio

Etapa 5 - Criar e publicar pacotes de aplicativos

Crie a solução Visual Studio.

Uma captura de tela mostrando a criação de solução no Visual Studio

Publique o pacote de aplicativos usando o assistente Criar pacotes de aplicativos....

Uma captura de tela mostrando o assistente para criar pacotes de aplicativos no Visual Studio

Uma captura de tela mostrando a etapa de criação no assistente de pacotes de aplicativos no Visual Studio

Depois de publicar os Pacotes de Aplicativos, o local de Saída exibido mostra o diretório raiz onde o pacote MSIX é publicado por versão. Abra na pasta version para encontrar o arquivo Install.ps1 para instalar o aplicativo.

Uma captura de tela mostrando que o empacotamento foi criado com êxito pelo assistente no Visual Studio

Visão geral do isolamento de aplicativos

Analisador de Capacidades de Aplicações

Capacidades suportadas