Sobre o ambiente virtual do grupo de conexões

Aplica-se a:

  • Windows 10
  • Windows 11

Como a prioridade do pacote é determinada

O ambiente virtual e seu estado atual estão associados ao grupo de conexões, não aos pacotes individuais. Se você remover um pacote App-V do grupo de conexões, o estado que existia como parte do grupo de conexões não migrará com o pacote.

Se o mesmo pacote fizer parte de dois grupos de conexão diferentes, você precisará indicar qual grupo de conexões o App-V deve usar. Por exemplo, você pode ter dois pacotes em um grupo de conexão em que cada um define o mesmo valor DWORD do registro.

O grupo de conexão usado baseia-se na ordem em que um pacote é exibido dentro do documento XML do AppConnectionGroup :

  • O primeiro pacote tem a precedência mais alta.
  • O segundo pacote tem a segunda maior precedência.

Considere a seguinte seção de exemplo:

<appv:Packages>
  <appv:Package
    PackageId="A8731008-4523-4713-83A4-CD1363907160"
    VersionId="E889951B-7F30-418B-A69C-B37283BC0DB9"
  />
  <appv:Package
    PackageId="1DC709C8-309F-4AB4-BD47-F75926D04276"
    VersionId="01F1943B-C778-40AD-BFAD-AC34A695DF3C"
  />
  <appv:Package
    PackageId="04220DCA-EE77-42BE-A9F5-96FD8E8593F2"
    VersionId="E15EFFE9-043D-4C01-BC52-AD2BD1E8BAFA"
  />
</appv:Packages>

Suponha que o mesmo valor DWORD ABC (HKEY_LOCAL_MACHINE\software\contoso\finapp\region) é definido no primeiro e terceiro pacote.

Para este exemplo, a definição de valor DWORD seria conforme mostrado abaixo:

  • Pacote 1 (A8731008-4523-4713-83A4-CD1363907160): HKEY_LOCAL_MACHINE\software\contoso\finapp\region=5
  • Pacote 3 (04220DCA-EE77-42BE-A9F5-96FD8E8593F2): HKEY_LOCAL_MACHINE\software\contoso\finapp\region=10

Como o Pacote 1 é exibido primeiro, o ambiente virtual do AppConnectionGroup terá o valor de DWORD único de 5 (HKEY_LOCAL_MACHINE\software\contoso\finapp\region=5). Esse resultado significa que os aplicativos virtuais no Pacote 1, Pacote 2 e Pacote 3 verão o valor 5 quando consultarem HKEY_LOCAL_MACHINE\software\contoso\finapp\region.

Outros recursos de ambiente virtual são resolvidos de maneira semelhante, mas geralmente ocorrem colisões no registro.

Mesclar caminhos de pacote idênticos em um diretório virtual em grupos de conexões

Se dois ou mais pacotes em um grupo de conexão contiverem caminhos de diretório idênticos, os caminhos serão mesclados em um único diretório virtual dentro do ambiente virtual do grupo de conexões. A mesclagem desses caminhos permite que um aplicativo em um pacote acesse arquivos que estão em um pacote diferente.

Quando você remove um pacote de um grupo de conexões, os aplicativos do pacote removido não podem mais acessar arquivos de pacotes no grupo de conexão do qual ele foi removido.

O App-V pesquisa o nome de um arquivo no grupo de conexão na ordem em que os pacotes app-V estão listados no arquivo de manifesto do grupo de conexão.

O exemplo a seguir mostra a ordem e a relação de uma pesquisa de nome de arquivo em um grupo de conexão para Pacote A e Pacote B.

Pacote A Pacote B
C:\Windows\System32 C:\Windows\System32
C:\AppTest C:\AppTest

Quando um aplicativo virtualizado tentar encontrar um arquivo específico, o App-V procurará um caminho de arquivo correspondente no Pacote A. Se ele não encontrar um caminho correspondente no Pacote A, ele pesquisará o Pacote B usando as seguintes regras de mapeamento:

  • Se um arquivo chamado test.txt existir na mesma hierarquia de pasta virtual em ambos os pacotes de aplicativo, o App-V usará o primeiro arquivo correspondente.
  • Se existir um arquivo chamado bar.txt na hierarquia de pasta virtual de um pacote de aplicativo, mas não no outro, o App-V usará o primeiro arquivo correspondente.