Compartilhar via


Empacotando um aplicativo Win32 isolado com MSIX

O empacotamento de um aplicativo MSIX ou Win32 existente em um aplicativo de isolamento de aplicativos Win32 será feito por meio da MPT (Ferramenta de Empacotamento MSIX). Observe que a versão da MPT que dá suporte ao isolamento de aplicativo Win32 é v1.2023.517.0, disponível nos ativos da versão deste projeto. A versão do repositório da MPT está desatualizada para fins do recurso de isolamento de aplicativos Win32. Você pode encontrar documentação adicional para MPT aqui.

Você pode encontrar o download da MPT, bem como o criador de perfil, na seção de versões do repositório GitHub de isolamento de aplicativos Win32.

Importante

Esse recurso está em versão preliminar: algumas informações estão relacionadas ao produto em pré-lançamento, o qual poderá ser modificado substancialmente antes do lançamento comercial. A Microsoft não oferece nenhuma garantia, explícita ou implícita, quanto às informações fornecidas aqui.

Converter um instalador Win32 existente em um aplicativo MSIX

  1. Selecione "Pacote de Aplicativos" à esquerda e escolha onde o pacote será criado. Esse fluxo seguirá a opção "Criar pacote neste computador".

    Observação

    Isso resultará na instalação do aplicativo como um aplicativo Win32 normal após a conclusão da etapa 5.

    Uma captura de tela mostrando a página principal da Ferramenta de Empacotamento MSIX

  2. Aguarde até que o campo "Driver da Ferramenta de Empacotamento MSIX" conclua a verificação.

    Uma captura de tela mostrando a página Criar Pacote da Ferramenta de Empacotamento MSIX

  3. Use o botão Procurar para navegar e selecionar o instalador do Win32. Deixe a preferência de assinatura em branco, pois precisaremos editar o manifesto e assiná-lo novamente.

    Uma captura de tela mostrando a página Selecionar Instalador na Ferramenta de Empacotamento MSIX

  4. Insira as informações do pacote.

    Uma captura de tela mostrando a página Informações do Pacote na Ferramenta de Empacotamento MSIX

  5. Execute as etapas do instalador do Win32 normalmente

  6. Se houver pontos de entrada adicionais além do principal, inicie ou navegue até eles. Se o aplicativo tiver opções para Associação de Tipo de Arquivo em configurações/config/preferências, alterne-as nesta etapa para que o MSIX as selecione.

  7. Repita o mesmo processo se houver serviços no pacote.

  8. Clicar em Criar salvará o pacote como um pacote de confiança total. Clique no botão "Editor de Pacotes" para acessar o fluxo "Editor de Pacotes" no menu principal. Esse processo poderá levar vários minutos dependendo do tamanho do pacote.

    Uma captura de tela mostrando a página final Criar Pacote ao criar um pacote na Ferramenta de Empacotamento MSIX

Converter um aplicativo MSIX existente para ser executado isoladamente

  1. Selecione a opção à direita "Editor de pacotes", navegue até o arquivo .msix e clique no botão "Abrir pacote".

    Uma captura de tela mostrando a página principal antes de clicar em Abrir Pacote na Ferramenta de Empacotamento MSIX

  2. Role para baixo até a seção "Arquivo de manifesto" e clique em "Abrir arquivo".

    Uma captura de tela mostrando a página Informações do Pacote depois de clicar em Abrir Pacote na Ferramenta de Empacotamento MSIX

    No manifesto, deverão ser feitas as seguintes alterações:

    Observação

    os aplicativos Win32 isolados não são compatíveis com outros tipos de aplicativos dentro do mesmo pacote.

    • Adicione xmlns:previewsecurity2="http://schemas.microsoft.com/appx/manifest/preview/windows10/security/2" ao elemento <Package> se ainda não estiver presente.
      • Adicione previewsecurity2 a IgnorableNamespaces ao final do elemento <Package>.
    • Adicione xmlns:uap10="http://schemas.microsoft.com/appx/manifest/uap/windows10/10" ao elemento <Package> se ainda não estiver presente.
      • Adicione uap10 a IgnorableNamespaces ao final do elemento <Package>.
    • Em <Dependencies>, altere TargetDeviceFamily para <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.25357.0" MaxVersionTested="10.0.25357.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.

    • Em <Application>, substitua qualquer ponto de entrada/nível de confiança/comportamento de runtime existente por uap10:TrustLevel="appContainer" previewsecurity2:RuntimeBehavior="appSilo".
    • Nas extensões <Application>, remova qualquer EntryPoints=* ou Executable=* porque são herdados do pai <Application>
    • Adicione desktop7:Scope="user" ao elemento de extensão para windows.protocol.

    Observação

    Por padrão, a MPT adicionará automaticamente <rescap:Capability name="runFullTrust"><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, pois elas exigem o recurso runFullTrust.

    Uma captura de tela mostrando os conteúdos do arquivo de manifesto do aplicativo.

  3. O aplicativo pode precisar de recursos adicionais para funcionar corretamente agora que foi isolado.

    Esses recursos adicionam funcionalidade diretamente de volta a aplicativos isolados.

    • isolatedWin32-print- Imprimir documentos
    • isolatedWin32-sysTrayIcon - Exibir notificações da bandeja do sistema
    • isolatedWin32-shellExtensionContextMenu - Exibir entradas de menu de contexto baseadas em COM
    • isolatedWin32-promptForAccess - Solicitar acesso aos arquivos aos usuários
    • isolatedWin32-accessToPublisherDirectory - Acesso a diretórios que terminam com a ID do editor

    Esses recursos permitem acesso mínimo a bibliotecas, como o runtime do MSVC ou outras DLLs do Windows/de terceiros para aplicativos que não dão suporte à solicitação.

    • isolatedWin32-dotNetBreadcrumbStore
    • isolatedWin32-profilesRootMinimal
    • isolatedWin32-userProfileMinimal
    • isolatedWin32-volumeRootMinimal
  4. Salve e feche a janela do manifesto. Se houver erros no manifesto, a MPT os exibirá. Selecione Criar/Salvar para gerar o arquivo .msix. Isso poderá levar vários minutos dependendo do tamanho do pacote

    • Se houver erros com o manifesto, uma mensagem de erro mais acionável poderá ser encontrada no Visualizador de Eventos em Application and Services/Microsoft/Windows/AppxPackagingOM/Microsoft-Windows-AppxPackaging/Operational
  5. Consulte criador de perfil de recursos do aplicativo para obter informações sobre como identificar recursos que podem precisar ser declarados no manifesto do pacote de aplicativos.

Visão geral do isolamento do aplicativo Win32

Criador de perfil de recursos do aplicativo

Empacotar um aplicativo de isolamento de aplicativos Win32 com o Visual Studio