Anexação de aplicativo do Visual Studio
Este artigo explica como criar pacotes prontos para Anexação de Aplicativo usando o Visual Studio 2022 e publicá-los na Área de Trabalho Virtual do Azure.
O que é Anexação de Arquivo?
O anexação de aplicativo MSIX é uma maneira de fornecer aplicativos MSIX para máquinas físicas e virtuais. No entanto, a anexação de aplicativo MSIX é diferente do MSIX normal porque é feito especialmente para produtos com suporte, como a Área de Trabalho Virtual do Azure.
Por que usar a Anexação de Aplicativo?
As empresas preferem a Anexação de Aplicativo para:
- Gerenciamento mais fácil de imagens do Windows
- Melhor capacidade de gerenciamento de aplicativos, incluindo custos de manutenção mais baixos e maior segurança
Os dados do aplicativo transmitido acompanham o usuário. Isso os ajuda a executar aplicativos instantaneamente e a continuar sua experiência onde quer que estejam.
A Anexação de Aplicativo Local permite que você execute aplicativos MSIX sem instalá-los no dispositivo. As APIs que alimentam a Anexação de Aplicativo Local são totalmente compatíveis no Windows 11 Enterprise e no Windows 10 Enterprise, incorporadas ao sistema operacional para montar e desmontar os aplicativos. Você também pode usar cmdlets ou scripts do PowerShell para automatizar o processo.
Etapas de pré-requisitos
- Baixe e instale o Visual Studio 2022.
- Configure o Visual Studio para C#.
- Configure a carga de trabalho "Desenvolvimento do Azure" no Visual Studio da seguinte maneira:
- Abrir o Instalador do Visual Studio
- Clique em Modificar.
- Verifique se o desenvolvimento do Azure está selecionado
- Clique em Modificar na parte inferior para iniciar a atualização.
Uma implantação funcional da Área de Trabalho Virtual do Azure. Para saber como implantar a Área de Trabalho Virtual do Azure (clássico), consulteCriar um locatário na Área de Trabalho Virtual do Azure. Para saber como implantar a Área de Trabalho Virtual do Azure com a integração do Azure Resource Manager, consulteCriar um pool de host com o portal do Azure.
Obtenha a extensão no Visual Studio Marketplace acessando aqui ou pesquisando por "Kit de Ferramentas de Anexação de Aplicativo".
Instale a extensão no Visual Studio clicando duas vezes no arquivo baixado acima.
- Verifique se o sistema está conectado à Internet.
Observação
Essa extensão é compatível apenas com o Visual Studio 2022.
Usar a extensão
Depois que você tiver a extensão instalada no Visual Studio 2022,
- Inicie o Visual Studio em modo elevado clicando com o botão direito do mouse e escolhendo "Executar como administrador".
- Crie um aplicativo de área de trabalho WinUI 3 em C# ou C++ usando o modelo de projeto Aplicativo em Branco, Empacotado (WinUI 3 na área de trabalho) do Visual Studio que acompanha o SDK do Aplicativo Windows.
Observação
No momento, o processo de criação de imagens MSIX só é compatível com aplicativos WinUI3.
- No Gerenciador de Soluções, clique com o botão direito do mouse no projeto e selecione Empacotar e Publicar ->Crie Pacotes de Anexação de Aplicativo
- Agora, você pode configurar o pacote selecionando um local de saída para o pacote MSIX e o arquivo VHDx e selecionando a plataforma de sua preferência.
- Para um pacote MSIX ser instalado em um computador do usuário final, ele deve ser assinado com um certificado confiável na máquina. Você pode selecionar um certificado em seu repositório de certificados local, selecionar um arquivo de certificado ou criar um certificado. Saiba como assinar o pacote de aplicativo aqui.
Recursos da extensão
A extensão permitirá que os desenvolvedores criem pacotes prontos para anexar aplicativos, testem a anexação de aplicativos localmente ou publiquem no pool de hosts AVD diretamente do Visual Studio.
Você deve escolher a opção apropriada e prosseguir.
Criar apenas uma imagem de disco
Isso criará uma imagem de disco do seu aplicativo pronta para a Anexação de Aplicativo, mas não a publicará em nenhum lugar. Ela pode ser usada para transferir ou publicar manualmente em outro lugar. Você pode acessar o caminho da pasta de saída especificada para acessar a imagem.
Anexação de Aplicativo Local
Isso criará um pacote pronto para o Anexação de Aplicativo e o publicará localmente para testes e solução de problemas.
Isso poupará o esforço de conectar-se ao host do AVD para testes. Os usuários podem instalar o aplicativo e ejetar o disco após o teste.
Anexação de Aplicativo do Azure (AVD)
Isso criará um pacote pronto para Anexação de Aplicativo e o publicará no seu pool de hosts do AVD.
- Para publicar seu pacote de Anexação de Aplicativo na Área de Trabalho Virtual do Azure, selecione a opção Azure.
Observação
Essa extensão só permite a publicação em recursos existentes do Azure.
- Selecione os seguintes valores:
- ID da Assinatura – escolha a assinatura do Azure a ser usada em sua implantação.
- Grupo de recursos: usando o menu suspenso, selecione um nome de grupo de recursos existente.
- Conta de armazenamento: selecione o nome da conta de armazenamento que contém o compartilhamento de arquivos implantado.
- Compartilhamento de arquivos: selecione um compartilhamento de arquivos na implantação da Área de Trabalho Virtual do Azure onde o pacote será armazenado.
- Grupo de aplicativos: selecione o grupo de aplicativos no qual você deseja publicar os aplicativos.
- Espaço de trabalho: selecione o nome do espaço de trabalho ao qual você deseja atribuir um grupo de aplicativos.
- Pool de hosts: selecione o nome do pool de hosts para o grupo de aplicativos.
- Clique em Publicar para publicar seu pacote na implantação da área de trabalho virtual do Azure acima.
Perguntas frequentes (FAQs)
P1: Por que a preparação falhou na Anexação de Aplicativo Local, mostrando erros?
R1: O principal motivo da falha de preparação é a ausência das dependências necessárias para o MSIX na máquina. Para resolver isso, examine cuidadosamente os logs de Anexação de Aplicativo, que fornecem informações detalhadas sobre as dependências específicas necessárias para prosseguir.
P2: Área de Trabalho Virtual do Azure: verificação de Anexação de Aplicativo bem-sucedida, mas o aplicativo não é iniciado
R2: O principal problema aqui é a ausência de dependências MSIX na máquina virtual do Azure. Para resolver isso, identifique as dependências necessárias nos logs de Anexação de Aplicativo e certifique-se de que estejam instaladas nas VMs designadas.
P3: Erro: disco virtual não encontrado no <Local de Compartilhamento de Arquivos>?
R3: Esse erro geralmente ocorre quando o Compartilhamento de Arquivos é desconectado de todas as VMs. Para corrigir isso, faça login na VM alocada e verifique se o Compartilhamento de Arquivos relevante está conectado à VM. Depois disso, você poderá montar e desmontar arquivos VHDx com êxito.
P4: Fiz login no Visual Studio por meio de várias contas. Qual delas será selecionada para Anexação de Aplicativo do AVD?
A4: Para a Anexação de Aplicativo do AVD, certifique-se de que apenas o usuário administrador do AVD esteja conectado ao Visual Studio. Remova todas as outras contas antes de iniciar o menu da extensão. Além disso, faça novo login no Visual Studio se as credenciais tiverem expirado.
P5: A extensão modifica minha solução?
R5: Sim, a extensão cria a pasta AppAttachPackages e o arquivo appattach.config
no nível raiz da solução. A pasta AppAttachPackages contém artefatos do MSIX e VHDx, enquanto o arquivo appattach.config
contém metadados de aplicativos essenciais para o processo de Anexação de Aplicativo. Você pode desconsiderar esses itens com segurança.
P6: Posso usar a extensão para republicar o artefato do meu aplicativo no AVD?
R6: Não, essa funcionalidade não é compatível no momento. No entanto, você pode aumentar a versão e tentar republicar. Lembre-se de que isso resultará em dois aplicativos distintos no Aplicativo de Área de Trabalho Remota. Além disso, você pode marcar a versão anterior como inativa na seção Pool de Hosts -> Pacotes MSIX por meio do portal do Azure.
P7: Como faço para desinstalar um aplicativo anexado localmente?
R7: Clique com o botão direito do mouse no aplicativo na barra de pesquisa e selecione Desinstalar. Além disso, ejete a nova unidade adicionada a esse PC. Para uma remoção abrangente, inicie o PowerShell no modo de administrador e execute o seguinte comando:
$msixPackageFullName = <msixPackageFullName>
Remove-AppxPackage $msixPackageFullName -PreserveRoamableApplicationData
P8: Meu processo está atingindo o tempo limite durante a execução.
R8: No appattach.config
, localize a tag <ProcessTimeOut> e aumente o valor do tempo limite. O padrão é 600 segundos (10 minutos), e você pode ajustá-lo com base em suas necessidades.