Publicação de aplicativos e interação do cliente

Aplica-se a:

  • Windows 10
  • Windows 11

Este artigo fornece informações técnicas sobre operações comuns do Cliente app-V e sua integração com o sistema operacional local.

Arquivos de pacote app-V criados pelo Sequenciador

O Sequenciador cria pacotes app-V e produz um aplicativo virtualizado. O processo de sequenciamento cria os seguintes arquivos:

Arquivo Descrição
.appv - O arquivo de pacote primário, que contém ativos capturados e informações de estado do processo de sequenciamento.
– Arquitetura do arquivo de pacote, publicação de informações e registro em um formulário tokenizado que pode ser reaplicado a um computador e a um usuário específico após a entrega.
.MSI Wrapper de implantação executável que você pode usar para implantar arquivos .appv manualmente ou usando uma plataforma de implantação de terceiros.
_DeploymentConfig.XML Arquivo usado para personalizar os parâmetros de publicação padrão para todos os aplicativos em um pacote que é implantado globalmente para todos os usuários em um computador que está executando o Cliente App-V.
_UserConfig.XML Arquivo usado para personalizar os parâmetros de publicação para todos os aplicativos em um pacote que é um implantado para um usuário específico em um computador que está executando o Cliente App-V.
Report.xml Resumo das mensagens resultantes do processo de sequenciamento, incluindo drivers, arquivos e locais de registro omitidos.
.CAB Opcional: arquivo de acelerador de pacote usado para recompilar automaticamente um pacote de aplicativo virtual sequenciado anteriormente.
.appvt Opcional: arquivo de modelo de sequenciador usado para manter configurações do Sequenciador normalmente reutilizados.

Para saber mais sobre o sequenciamento, confira Como sequenciar um novo aplicativo com o App-V.

O que há no arquivo appv?

O arquivo appv é um contêiner que armazena arquivos XML e não XML juntos em uma única entidade. Esse arquivo é criado a partir do formato AppX, que se baseia no padrão OPC (Open Packaging Conventions).

Para exibir o conteúdo do arquivo appv, faça uma cópia do pacote e renomeie o arquivo copiado para uma extensão .zip.

O arquivo appv contém a seguinte pasta e arquivos, que são usados ao criar e publicar um aplicativo virtual:

Nome Tipo Descrição
Root Pasta de arquivos Diretório que contém o sistema de arquivos do aplicativo virtualizado capturado durante o sequenciamento.
[Content_Types].xml Arquivo XML Lista dos principais tipos de conteúdo no arquivo appv (por exemplo, DLL, EXE, BIN).
AppxBlockMap.xml Arquivo XML Layout do arquivo appv, que usa elementos File, Block e BlockMap que habilitam a localização e a validação de arquivos no pacote App-V.
AppxManifest.xml Arquivo XML Metadados para o pacote que contém as informações necessárias para adicionar, publicar e iniciar o pacote. Inclui pontos de extensão (associações de tipo de arquivo e atalhos) e os nomes e GUIDs associados ao pacote.
FilesystemMetadata.xml Arquivo XML Lista dos arquivos capturados durante o sequenciamento, incluindo atributos (como diretórios, arquivos, diretórios opacos, diretórios vazios e nomes longos e curtos).
PackageHistory.xml Arquivo XML Informações sobre o computador de sequenciamento (versão do sistema operacional, versão do internet Explorer, versão do .Net Framework) e processo (atualização, versão do pacote).
Registry.dat Arquivo DAT Chaves e valores do registro capturados durante o processo de sequenciamento do pacote.
StreamMap.xml Arquivo XML Lista de arquivos para o bloco de recursos primário e de publicação. O bloco de recursos de publicação contém os arquivos ICO e partes necessárias de arquivos (EXE e DLL) para publicar o pacote. Quando presente, o bloco de recursos primário inclui arquivos que foram otimizados para streaming durante o processo de sequenciamento.

Locais de armazenamento de dados do cliente do App-V

O Cliente App-V executa tarefas para manter os aplicativos virtuais em execução corretamente e funcionando como aplicativos instalados localmente. O processo de abertura e execução de aplicativos virtuais requer mapeamento do sistema de arquivos virtuais e do registro para garantir que o aplicativo tenha os componentes necessários de um aplicativo tradicional esperado pelos usuários. Esta seção descreve os ativos necessários para executar aplicativos virtuais e lista o local em que o App-V armazena os ativos.

Nome Localização Descrição
Repositório de Pacotes %ProgramData%\App-V Local padrão para arquivos de pacote somente leitura.
Catálogo de Máquinas %ProgramData%\Microsoft\AppV\Client\Catalog Contém documentos de configuração por computador.
Catálogo de Usuários %AppData%\Microsoft\AppV\Client\Catalog Contém documentos de configuração por usuário.
Backups de atalho %AppData%\Microsoft\AppV\Client\Integration\ShortCutBackups Armazena pontos de integração anteriores que permitem a restauração no pacote não publicado.
Copiar em Roaming de Gravação (COW) %AppData%\Microsoft\AppV\Client\VFS Local de roaming gravável para modificação de pacote.
Copiar em Gravação (COW) Local %LocalAppData%\Microsoft\AppV\Client\VFS Local de não roaming gravável para modificação de pacote.
Registro de Máquina HKLM\Software\Microsoft\AppV Contém informações de estado do pacote, incluindo VReg para computadores ou pacotes publicados globalmente (Hive de máquina).
Registro de Usuário HKCU\Software\Microsoft\AppV Contém informações de estado do pacote de usuário, incluindo VReg.
Classes do Registro de Usuário HKCU\Software\Classes\AppV Contém mais informações de estado do pacote de usuário.

Mais detalhes para a tabela são fornecidos na seção abaixo e em todo o documento.

Repositório de pacotes

O Cliente App-V gerencia os ativos de aplicativos montados no repositório de pacotes. Esse local de armazenamento padrão é %ProgramData%\App-V, mas você pode configurá-lo durante ou após a instalação usando o cmdlet Set-AppVClientConfiguration Windows PowerShell, que modifica o registro local (valor PackageInstallationRoot sob a chave HKLM\Software\Microsoft\AppV\Client\Streaming). O repositório de pacotes deve estar localizado em um caminho local no sistema operacional cliente. Os pacotes individuais são armazenados no repositório de pacotes em subdiretórios nomeados em homenagem ao GUID do Pacote e ao GUID de Versão.

A seguir está um exemplo de um caminho para um aplicativo específico:

C:\ProgramData\App-V\PackGUID\VersionGUID

Para alterar o local padrão do repositório de pacotes durante a instalação, consulte Habilitar o cliente da área de trabalho do App-V.

Repositório de conteúdo compartilhado

Se o Cliente App-V estiver configurado no modo Armazenamento de Conteúdo Compartilhado, nenhum dado será gravado em disco quando ocorrer uma falha de fluxo, o que significa que os pacotes exigem espaço mínimo em disco local (publicando dados). Em ambientes VDI em que o armazenamento local pode ser limitado, é importante usar o mínimo de espaço em disco possível. Você pode minimizar o uso de espaço em disco por meio de aplicativos de streaming de um local de rede de alto desempenho (como uma SAN). Para obter mais informações, confira Armazenamento de Conteúdo Compartilhado no Microsoft App-V 5.0 – Bastidores.

Observação

O computador e o repositório de pacotes devem estar localizados em uma unidade local, mesmo quando você estiver usando configurações da Repositório de Conteúdo Compartilhado para o Cliente App-V.

Catálogos de pacotes

O Cliente App-V gerencia os seguintes locais baseados em arquivo:

  • Catálogos (usuário e computador).
  • Locais do registro — depende de como o pacote é direcionado para publicação. Há um Catálogo (armazenamento de dados) para o computador e um catálogo para cada usuário individual. O catálogo do Machine armazena informações globais aplicáveis a todos os usuários ou usuários específicos, e o catálogo de usuários armazena informações aplicáveis a um usuário específico. O catálogo é uma coleção de Configurações Dinâmicas e arquivos de manifesto; há dados discretos para a versão de arquivo e registro por pacote.

Catálogo de máquinas

Os locais descritos nesta tabela podem ser encontrados na pasta %programdata%\Microsoft\AppV\Client\Catalog\.

Localização
Descrição Armazena documentos de pacote que estão disponíveis para usuários no computador quando os pacotes são adicionados e publicados. No entanto, se um pacote for "global" na hora da publicação, as integrações estarão disponíveis para todos os usuários.

Se um pacote não for global, as integrações serão publicadas apenas para usuários específicos, mas ainda há recursos globais modificados e visíveis para qualquer pessoa no computador cliente (como quando o diretório do pacote está em um local de disco compartilhado).

Se um pacote estiver disponível para um usuário no computador (global ou não global), o manifesto será armazenado no Catálogo de Máquinas. Quando um pacote é publicado globalmente, há um arquivo de Configuração Dinâmica, armazenado no Catálogo de Máquinas; Portanto, a determinação de se um pacote é global é definida de acordo com se há um arquivo de política (arquivo UserDeploymentConfiguration) no Catálogo de Máquinas.
Local de armazenamento padrão %programdata%\Microsoft\AppV\Client\Catalog<br>
Esse local não é o mesmo que o local da Repositório de Pacotes. O Repositório de Pacotes é a cópia dourada ou impecável dos arquivos de pacote.
Arquivos no catálogo do computador - Manifest.xml
- DeploymentConfiguration.xml
- UserManifest.xml (pacote publicado globalmente)
- UserDeploymentConfiguration.xml (pacote publicado globalmente)
Local adicional do catálogo de máquinas, usado quando o pacote faz parte de um grupo de conexão O local a seguir é além do local do pacote específico mencionado anteriormente como o local de armazenamento padrão:

%programdata%\Microsoft\AppV\Client\Catalog\PackageGroups\ConGroupGUID\ConGroupVerGUID
Arquivos adicionais no catálogo do computador quando o pacote faz parte de um grupo de conexões - PackageGroupDescriptor.xml
- UserPackageGroupDescriptor.xml (grupo de conexões publicado globalmente)

Catálogo de usuários

Os locais descritos nesta tabela podem ser encontrados na pasta appdata\roaming\Microsoft\AppV\Client\Catalog\.

Localização
Descrição Criado durante o processo de publicação. Contém informações usadas para publicar o pacote e para garantir que um pacote seja provisionado para um usuário específico no início. Criado em um local de roaming e inclui informações de publicação específicas do usuário.

Quando um pacote é publicado para um usuário, o arquivo de política é armazenado no Catálogo de Usuários. Ao mesmo tempo, uma cópia do manifesto também é armazenada no Catálogo de Usuários. Quando um direito de pacote é removido para um usuário, os arquivos de pacote relevantes são removidos do Catálogo de Usuários. Olhando para o catálogo de usuários, um administrador pode exibir a presença de um arquivo de Configuração Dinâmica, o que indica que o pacote tem direito para esse usuário.

Para usuários roaming, o Catálogo de Usuários precisa estar em um local móvel ou compartilhado para preservar o comportamento herdado do App-V de direcionar usuários por padrão. O direito e a política estão vinculados a um usuário, não a um computador, portanto, eles devem vagar com o usuário depois de provisionados.
Local de armazenamento padrão appdata\roaming\Microsoft\AppV\Client\Catalog\Packages\PkgGUID\VerGUID
Arquivos no catálogo de usuários - UserManifest.xml
- DynamicConfiguration.xml ou UserDeploymentConfiguration.xml
Local adicional do catálogo de usuários, usado quando o pacote faz parte de um grupo de conexão O local a seguir é além do local do pacote específico mencionado acima:

appdata\roaming\Microsoft\AppV\Client\Catalog\PackageGroups\PkgGroupGUID\PkgGroupVerGUID
Arquivo adicional no catálogo do computador quando o pacote faz parte de um grupo de conexões UserPackageGroupDescriptor.xml

Backups de atalho

Durante o processo de publicação, o Cliente App-V faz backup de quaisquer atalhos e pontos de integração para %AppData%\Microsoft\AppV\Client\Integration\ShortCutBackups. Esse backup permite que os pontos de integração sejam restaurados para as versões anteriores quando o pacote não for publicado.

Copiar em arquivos de gravação

O Repositório de Pacotes contém uma cópia impecável dos arquivos de pacote que foram transmitidos do servidor de publicação. Durante a operação normal de um aplicativo App-V, o usuário ou serviço pode exigir alterações nos arquivos. No entanto, essas alterações não são feitas no repositório de pacotes para preservar sua capacidade de reparar o aplicativo, o que remove essas alterações. Esses locais, chamados de Cow (Copiar na Gravação), dão suporte a locais roaming e não roaming. O local em que as modificações são armazenadas depende de onde o aplicativo foi programado para gravar alterações em uma experiência nativa.

ROAMING DE VACA

O local do COW Roaming descrito acima armazena alterações em arquivos e diretórios que são direcionados para o local típico %AppData% ou \Users\<username>\AppData\Roaming local. Esses diretórios e arquivos são então perambulados com base nas configurações do sistema operacional.

COW local

O local DO COW Local é semelhante ao local de roaming, mas os diretórios e arquivos não são vagados para outros computadores, mesmo que o suporte de roaming tenha sido configurado. O local LOCAL da COW descrito acima armazena alterações aplicáveis às janelas típicas e não ao local %AppData%. Os diretórios listados variam, mas haverá dois locais para quaisquer locais típicos do Windows (por exemplo, Common AppData e Common AppDataS). O S significa o local restrito quando o serviço virtual solicita a alteração como um usuário elevado diferente dos usuários conectados. A localização não S armazena alterações baseadas no usuário.

Registro de pacotes

Antes que um aplicativo possa acessar os dados do registro do pacote, o Cliente App-V deve disponibilizar os dados do registro de pacote para os aplicativos. O Cliente App-V usa o registro real como um repositório de backup para todos os dados do registro.

Quando um novo pacote é adicionado ao Cliente App-V, uma cópia do REGISTRY. O arquivo DAT do pacote é criado em %ProgramData%\Microsoft\AppV\Client\VREG{Version GUID}.dat. O nome do arquivo é a versão GUID com o . Extensão DAT. A razão pela qual essa cópia é feita é para garantir que o arquivo hive real no pacote nunca esteja em uso, o que impediria a remoção do pacote posteriormente.

Registry.dat da Repositório de Pacotes>%ProgramData%\Microsoft\AppV\Client\Vreg\{VersionGUID}.dat

Quando o primeiro aplicativo do pacote é iniciado no cliente, o cliente encena ou copia o conteúdo do arquivo hive, recriando os dados do registro de pacote em um local alternativo em HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\Packages\PackageGuid\Versions\VersionGUID\REGISTRY. Os dados do registro em etapas têm dois tipos distintos de dados de computador e dados de usuário. Os dados do computador são compartilhados entre todos os usuários no computador. Os dados do usuário são encenados para cada usuário para um local específico do usuário HKCU\Software\Microsoft\AppV\Client\Packages\PackageGUID\Registry\User. Os dados do computador são finalmente removidos na hora da remoção do pacote e os dados do usuário são removidos em uma operação não publicada pelo usuário.

Preparo do registro de pacote versus preparo do registro de grupo de conexão

Quando os grupos de conexão estão presentes, o processo anterior de preparo do registro é verdadeiro, mas, em vez de ter um arquivo hive para processar, há mais de um. Os arquivos são processados na ordem em que eles aparecem no grupo de conexão XML, com o primeiro escritor vencendo quaisquer conflitos.

O registro em etapas persiste da mesma forma que no caso do pacote único. Os dados do registro de usuário em estágio permanecem para o grupo de conexão até que sejam desabilitados; os dados do registro do computador foram removidos na remoção do grupo de conexões.

Registro virtual

A finalidade do VREG (registro virtual) é fornecer uma única exibição mesclada do registro de pacote e do registro nativo para aplicativos. Ele também fornece a funcionalidade COW (cópia na gravação), ou seja, todas as alterações feitas no registro a partir do contexto de um processo virtual são feitas em um local cow separado. Essa funcionalidade significa que o VREG deve combinar até três locais de registro separados em uma única exibição com base nos locais preenchidos nopacote>COW> do registronativo. Quando uma solicitação é feita para um registro de dados, ela será localizada em ordem até encontrar os dados que estava solicitando. Ou seja, se houver um valor armazenado em um local cow, ele não prosseguirá para outros locais, no entanto, se não houver dados no local cow, ele continuará para o Pacote e, em seguida, local nativo até encontrar os dados apropriados.

Locais do Registro

Há dois locais de registro de pacote e dois locais de grupo de conexão em que o Cliente app-V armazena informações de registro, dependendo se o Pacote é publicado individualmente ou como parte de um grupo de conexões. Há três locais COW para pacotes e três para grupos de conexão, que são criados e gerenciados pela VREG. As configurações para pacotes e grupos de conexão não são compartilhadas:

VReg de Pacote Único

Os registros na tabela a seguir estão localizados na pasta Registry\Client\Packages\PkgGUID\.

Localização Descrição
VACA - Registro de Máquina\Cliente\Pacotes\PkgGUID\REGISTRY (Somente o processo de elevação pode gravar)
- Registro de Usuário\Cliente\Pacotes\PkgGUID\REGISTRY (Roaming de Usuário qualquer coisa escrita em HKCU, exceto Software\Classes
– Classes do Registro de Usuário\Client\Packages\PkgGUID\REGISTRY (gravações HKCU\Software\Classes e HKLM para processo não elevado)
Pacote - Registro de Máquina\Cliente\Pacotes\PkgGUID\Versões\VerGuid\Registry\Machine
– Classes do Registro de Usuário\Client\Packages\PkgGUID\Versions\VerGUID\Registry
Nativo - Local do registro de aplicativo nativo

VReg do Grupo de Conexões

Os registros na tabela a seguir estão localizados nas pastas Registro de Máquina\Client\PackageGroups\GrpGUID\ e Registro de Usuário\Client\PackageGroups\GrpGUID\.

Localização Descrição
VACA - Registro de Máquina\Cliente\PackageGroups\GrpGUID\REGISTRY (somente o processo de elevação pode gravar)
- Registro de Usuário\Client\PackageGroups\GrpGUID\REGISTRY (Qualquer coisa escrita no HKCU, exceto Software\Classes)
– Classes do Registro de Usuário\Client\PackageGroups\GrpGUID\REGISTRY
Pacote - Registro de Máquina\Cliente\PackageGroups\GrpGUID\Versions\VerGUID\REGISTRY
– Classes do Registro de Usuário\Client\PackageGroups\GrpGUID\Versions\VerGUID\REGISTRY
Nativo - Local do registro de aplicativo nativo

Há dois locais COW para HKLM: processos elevados e não elevados. Processos elevados sempre gravam alterações HKLM na COW segura em HKLM. Processos não elevados sempre gravam alterações de HKLM no COW não seguro em HKCU\Software\Classes. Quando um aplicativo lê alterações do HKLM, os processos elevados lerão as alterações da COW segura em HKLM. Leituras não elevadas de ambos, favorecendo as alterações feitas no COW não seguro primeiro.

Chaves de passagem

Um administrador pode usar chaves de passagem para configurar determinadas chaves a serem lidas apenas no registro nativo, ignorando os locais de Pacote e COW. Os locais de passagem são globais para o computador (não específicos do pacote) e podem ser configurados adicionando o caminho à chave, que deve ser tratada como passagem para o valor REG_MULTI_SZ chamado PassThroughPaths da chave HKLM\Software\Microsoft\AppV\Subsystem\VirtualRegistry. Qualquer chave que aparece sob esse valor de várias cadeias de caracteres (e seus filhos) será tratada como passagem.

Os seguintes locais são configurados como locais de passagem por padrão:

  • HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel

  • HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\Autologger

  • HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib

  • HKEY_LOCAL_MACHINE\SOFTWARE\Policies

  • HKEY_CURRENT_USER\SOFTWARE\Policies

A finalidade das chaves de passagem é garantir que um aplicativo virtual não escreva dados de registro no VReg necessários para aplicativos não virtuais para uma operação ou integração bem-sucedida. A chave Políticas garante que as configurações baseadas em Política de Grupo definidas pelo administrador sejam utilizadas e não por configurações de pacote. A chave AppModel é necessária para integração com aplicativos baseados em interface do usuário moderna do Windows. O ideal é que a administração não modifique nenhuma das chaves de passagem padrão, mas, em algumas instâncias, o administrador pode precisar adicionar mais chaves de passagem para ajustar o comportamento do aplicativo.

Comportamento do repositório de pacotes App-V

O App-V gerencia a Repositório de Pacotes, que é o local em que os arquivos de ativos expandidos do arquivo appv são armazenados. Por padrão, esse local é armazenado em %ProgramData%\App-V e é limitado em termos de recursos de armazenamento apenas por espaço em disco gratuito. O repositório de pacotes é organizado pelos GUIDs para o pacote e a versão, conforme mencionado na seção anterior.

Adicionar pacotes

Pacotes app-V são encenados após a adição ao computador com o Cliente App-V. O Cliente App-V fornece preparo sob demanda. Ao publicar ou inserir manualmente o cmdlet Add-AppVClientPackage , a estrutura de dados é criada no repositório de pacotes (C:\programdata\App-V\{PkgGUID}\{VerGUID}). Os arquivos de pacote identificados no bloco de publicação definido no arquivo StreamMap.xml são adicionados ao sistema e as pastas de nível superior e os arquivos filho são encenados para garantir que os ativos de aplicativo adequados existam no início.

Montagem de pacotes

Os pacotes podem ser carregados explicitamente inserindo o cmdlet Mount-AppVClientPackage PowerShell ou usando a interface do usuário do cliente do App-V para baixar um pacote. Essa operação carrega completamente todo o pacote no repositório de pacotes.

Pacotes de streaming

O Cliente App-V pode ser configurado para alterar o comportamento padrão do streaming. Todas as políticas de streaming são armazenadas sob a seguinte chave do registro: HKEY_LOCAL_MACHINE\Software\Microsoft\AppV\Client\Streaming. As políticas são definidas inserindo o cmdlet Set-AppvClientConfiguration PowerShell. As seguintes políticas se aplicam ao streaming:

Política Descrição
AllowHighCostLaunch Permite streaming em redes 3G e celulares
Autoload Especifica a configuração carga em segundo plano:
0 – Desabilitado
1 – Somente pacotes usados anteriormente
2 – Todos os pacotes
PackageInstallationRoot A pasta raiz do repositório de pacotes no computador local
PackageSourceRoot A substituição raiz de onde os pacotes devem ser transmitidos
SharedContentStoreMode Habilita o uso do Repositório de Conteúdo Compartilhado para cenários de VDI

Essas configurações afetam o comportamento do streaming de ativos de pacote App-V para o cliente. Por padrão, o App-V só baixa os ativos necessários depois de baixar os blocos de recursos primários e de publicação inicial. Há três comportamentos específicos em pacotes de streaming que são importantes para entender:

  • Streaming em segundo plano
  • Streaming otimizado
  • Stream Falhas

Streaming em segundo plano

O cmdlet get-AppvClientConfiguration Windows PowerShell pode ser usado para determinar o modo atual para streaming em segundo plano com a configuração AutoLoad e modificado com o cmdlet Set-AppvClientConfiguration ou do registro (HKLM\SOFTWARE\Microsoft\AppV\ClientStreaming). O streaming em segundo plano é uma configuração padrão em que a configuração de carregamento automático está definida para baixar pacotes usados anteriormente. O comportamento com base na configuração padrão (value=1) baixa os blocos de dados do App-V em segundo plano após o lançamento do aplicativo. Essa configuração pode ser desabilitada completamente (valor=0) ou habilitada para todos os pacotes (value=2), independentemente de terem sido iniciados.

Streaming otimizado

Pacotes app-V podem ser configurados com um bloco de recursos primário durante o sequenciamento. Essa configuração permite que o engenheiro de sequenciamento monitore os arquivos de inicialização de um aplicativo ou aplicativos específicos e marque os blocos de dados no pacote App-V para streaming no início de qualquer aplicativo no pacote.

Stream falhas

Após o fluxo inicial de todos os dados de publicação e o bloco de recursos primário, as solicitações de mais arquivos executam falhas de fluxo. Esses blocos de dados são baixados no repositório de pacotes conforme necessário. Essa flexibilidade permite que um usuário baixe apenas uma pequena parte do pacote, normalmente o suficiente para iniciar o pacote e executar tarefas normais. Todos os outros blocos são baixados quando um usuário inicia uma operação que exige dados que não estão atualmente no repositório de pacotes.

Atualizações de pacote

Pacotes app-V exigem atualização durante todo o ciclo de vida do aplicativo. As atualizações do pacote app-V são como a operação de publicação de pacotes, pois cada versão será criada em seu próprio local PackageRoot: %ProgramData%\App-V{PkgGUID}{newVerGUID}. A operação de atualização é otimizada criando links rígidos para arquivos idênticos e transmitidos de outras versões do mesmo pacote.

Remoção de pacote

O comportamento do Cliente App-V quando os pacotes são removidos depende do método de remoção de pacote. Usando uma infraestrutura completa do App-V para desmarcar o aplicativo, os arquivos do catálogo de usuários (catálogo de máquinas para aplicativos publicados globalmente) são removidos, mas o local do repositório de pacotes e os locais COW permanecem. Quando o cmdlet Remove-AppVClientPackge Windows PowerShell é usado para remover um Pacote App-V, o local do repositório de pacotes é limpo. Lembre-se de que a não publicação de um Pacote app-V do Servidor de Gerenciamento não executa uma operação Remover. Nenhuma das operações removerá os arquivos de pacote da Repositório de Pacotes.

Registro e dados de roaming

O App-V é capaz de fornecer uma experiência quase nativa ao roaming, dependendo de como o aplicativo que está sendo usado é gravado. Por padrão, o App-V percorre o AppData que é armazenado no local de roaming, com base na configuração de roaming do sistema operacional. Outros locais para armazenamento de dados baseados em arquivos não vagam de computador para computador, pois estão em locais que não são perambulados.

Requisitos de roaming e armazenamento de dados do catálogo de usuários

O App-V armazena dados, que representa o estado do catálogo do usuário, na forma de:

  • Arquivos em %appdata%\Microsoft\AppV\Client\Catalog
  • Configurações do registro em HKEY_CURRENT_USER\Software\Microsoft\AppV\Client\Packages

Juntos, esses arquivos e as configurações de registro representam o catálogo do usuário, portanto, ambos devem ser perambulados ou nenhum deles deve ser perambulado para um determinado usuário. O App-V não dá suporte a roaming %AppData%, mas não perambula pelo perfil do usuário (registro) ou vice-versa.

Observação

O cmdlet Repair-AppvClientPackage não repara o estado de publicação de pacotes em que o estado app-V do usuário em HKEY_CURRENT_USER está ausente ou incompatível com os dados em %appdata%.

Dados baseados em registro

O roaming do registro do App-V se enquadra em dois cenários, conforme mostrado na tabela a seguir.

Cenário Descrição
Aplicativos executados como usuários padrão Quando um usuário padrão inicia um aplicativo App-V, os aplicativos HKLM e HKCU para App-V são armazenados no hive HKCU no computador. Este cenário apresenta dois caminhos distintos:

- A localização do HKLM é HKCU\SOFTWARE\Classes\AppV\Client\Packages\{PkgGUID}\REGISTRY\MACHINE\SOFTWARE
- A localização do HKCU é HKCU\SOFTWARE\Microsoft\AppV\Client\Packages\{PkgGUID}\REGISTRY\USER\{UserSID}\SOFTWARE

Os locais estão habilitados para roaming com base nas configurações do sistema operacional.
Aplicativos executados com elevação Quando um aplicativo é iniciado com elevação:

- Os dados HKLM são armazenados no hive HKLM no computador local
- Os dados do HKCU são armazenados no local do Registro de Usuário

Nesse cenário, essas configurações não são vagadas com configurações normais de roaming do sistema operacional e as chaves e valores de registro resultantes são armazenados nos seguintes locais:

- A localização do HKLM é HKLM\SOFTWARE\Microsoft\AppV\Client\Packages\{PkgGUID}\{UserSID}\REGISTRY\MACHINE\SOFTWARE
- A localização do HKCU é HKCU\SOFTWARE\Microsoft\AppV\Client\Packages\{PkgGUID}\Registry\User\{UserSID}\SOFTWARE

Redirecionamento de pastas e app-V

O App-V dá suporte ao redirecionamento de pasta da pasta AppData roaming (%AppData%). Quando o ambiente virtual é iniciado, o estado do AppData roaming do diretório AppData móvel do usuário é copiado para o cache local. Por outro lado, quando o ambiente virtual é desligado, o cache local associado ao AppData móvel de um usuário específico é transferido para o local real do diretório AppData móvel desse usuário.

Um pacote típico tem vários locais mapeados no repositório de suporte do usuário para configurações em AppData\Local e AppData\Roaming. Esses locais são os locais Copiar em Gravação armazenados por usuário no perfil do usuário e que são usados para armazenar alterações feitas nos diretórios VFS do pacote e para proteger o VFS do pacote padrão.

A tabela a seguir mostra locais e locais de roaming quando o redirecionamento de pastas não foi implementado.

Diretório VFS no pacote Local mapeado do repositório de backup
ProgramFilesX86 C:\Users\Local\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\ProgramFilesX86
SystemX86 C:\Users\username\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\SystemX86
Windows C:\Users\username\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\Windows
appv_ROOT C:\Users\username\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\appv_ROOT
Appdata C:\Users\username\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\AppData

A tabela a seguir mostra locais e locais de roaming quando o redirecionamento de pastas foi implementado para %AppData% e o local foi redirecionado (normalmente para um local de rede).

Diretório VFS no pacote Local mapeado do repositório de backup
ProgramFilesX86 C:\Users\Local\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\ProgramFilesX86
SystemX86 C:\Users\Local\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\SystemX86
Windows C:\Users\Local\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\Windows
appv_ROOT C:\Users\Local\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\appv_ROOT
Appdata \Fileserver\users\Local\roaming\Microsoft\AppV\Client\VFS\<GUID>\AppData

O driver VFS cliente do App-V atual não pode gravar em locais de rede, portanto, o Cliente App-V detecta a presença de redirecionamento de pasta e copia os dados na unidade local durante a publicação e quando o ambiente virtual é iniciado. Depois que o usuário fecha o aplicativo App-V e o Cliente App-V fecha o ambiente virtual, o armazenamento local do VFS AppData é copiado de volta para a rede, permitindo roaming para mais máquinas, onde o processo será repetido. Veja o que acontece durante o processo:

  1. Durante a publicação ou inicialização do ambiente virtual, o Cliente App-V detecta a localização do diretório AppData.
  2. Se o caminho do AppData móvel for local ou nenhum local appData\Roaming for mapeado, nada acontecerá.
  3. Se o caminho do AppData roaming não for local, o diretório VFS AppData será mapeado para o diretório AppData local.

Esse processo resolve o problema de um %AppData% não local que não é compatível com o driver VFS cliente do App-V. No entanto, os dados armazenados neste novo local não são perambulados com redirecionamento de pasta. Todas as alterações durante a execução do aplicativo ocorrem no local appData local e devem ser copiadas para o local redirecionado. O processo faz as seguintes coisas:

  1. Desliga o aplicativo App-V, que também desliga o ambiente virtual.
  2. Compacta o cache local do local do AppData móvel e o armazena em um arquivo .zip.
  3. Usa o carimbo de hora no final do processo de empacotamento .zip para nomear o arquivo.
  4. Registra o carimbo de hora no registro GUID>\AppDataTime do HKEY_CURRENT_USER\Software\Microsoft\AppV\Client\Packages\<como o último carimbo de hora appData conhecido.
  5. Chama o processo de redirecionamento de pasta para avaliar e iniciar o arquivo .zip carregado no diretório AppData móvel.

O carimbo de hora é usado para determinar um cenário de "último escritor ganha" se houver um conflito e for usado para otimizar o download dos dados quando o aplicativo App-V for publicado ou o ambiente virtual for iniciado. O redirecionamento de pasta disponibilizará os dados de outros clientes cobertos pela política de suporte e iniciará o processo de armazenamento dos dados AppData\Roaming para o local AppData local no cliente. Veja o que acontece durante o processo:

  1. O usuário inicia um aplicativo, que também inicia o ambiente virtual.
  2. O ambiente virtual do aplicativo verifica o arquivo de .zip carimbado mais recente, se estiver presente.
  3. O ambiente virtual verifica o registro do último carimbo de hora carregado conhecido, se estiver presente.
  4. O ambiente virtual baixa o arquivo de .zip mais recente, a menos que o carimbo de hora de carregamento conhecido local seja maior ou igual ao carimbo de hora do arquivo .zip.
  5. Se o carimbo de hora de carregamento conhecido local for anterior ao do arquivo de .zip mais recente no local do AppData móvel, o ambiente virtual extrairá o arquivo .zip para o diretório temporário local no perfil do usuário.
  6. Depois que o arquivo .zip for extraído com êxito, o cache local do diretório AppData móvel será renomeado e os novos dados são movidos para o local.
  7. O diretório renomeado é excluído e o aplicativo é aberto com os dados de AppData de roaming salvos mais recentemente.

Esse processo conclui o roaming bem-sucedido das configurações de aplicativo presentes em locais AppData\Roaming. A única outra condição que deve ser tratada é uma operação de reparo de pacote. O processo faz as seguintes coisas:

  1. Durante o reparo, detecta se o caminho para o diretório AppData móvel do usuário não é local.
  2. Mapeia os destinos de caminho do AppData que não são locais, recriando os locais de Roaming e AppData locais esperados.
  3. Exclui o carimbo de hora armazenado no registro, se estiver presente.

Esse processo recriará os locais locais e de rede do AppData e removerá o registro do registro do carimbo de hora.

Gerenciamento do ciclo de vida do aplicativo Cliente app-V

Em uma Infraestrutura Completa do App-V, depois que os aplicativos são sequenciados, eles são gerenciados e publicados para usuários ou computadores por meio dos servidores de Gerenciamento e Publicação do App-V. Esta seção detalha as operações que ocorrem durante as operações comuns do ciclo de vida do aplicativo App-V (Adicionar, publicar, iniciar, atualizar e remover) e os locais de arquivo e registro que são alterados e modificados da perspectiva cliente do App-V. As operações cliente do App-V são entrada como comandos do PowerShell no computador que executa o Cliente App-V.

Este documento se concentra em soluções de Infraestrutura Completa do App-V. Para obter informações específicas sobre a Integração do App-V com Microsoft Configuration Manager, consulte Implantar aplicativos virtuais App-V com Configuration Manager.

As tarefas de ciclo de vida do aplicativo App-V são disparadas na entrada do usuário (padrão), na inicialização do computador ou como operações em tempo de segundo plano. As configurações para as operações cliente do App-V, incluindo Servidores de Publicação, intervalos de atualização, habilitação de script de pacote e outras, são configuradas (depois que o cliente está habilitado) com comandos Windows PowerShell. Consulte Configurações de configuração do cliente do App-V: Windows PowerShell.

Atualização de publicação

O processo de atualização de publicação compreende várias operações menores executadas no Cliente App-V. Como o App-V é uma tecnologia de virtualização de aplicativo e não uma tecnologia de agendamento de tarefas, o Agendador de Tarefas do Windows é utilizado para habilitar o processo quando o usuário entra, o computador é ativado e em intervalos agendados. A configuração do cliente durante a configuração listada na seção anterior é o método preferencial ao distribuir o cliente para um grande grupo de computadores com as configurações corretas. Essas configurações de cliente podem ser configuradas com os seguintes cmdlets Windows PowerShell:

  • Add-AppVPublishingServer configura o cliente com um Servidor de Publicação do App-V que fornece pacotes de App-V.
  • Set-AppVPublishingServer modifica as configurações atuais do Servidor de Publicação do App-V.
  • Set-AppVClientConfiguration modifica as configurações de correntes para o Cliente App-V.
  • Sync-AppVPublishingServer inicia manualmente um processo de Atualização de Publicação do App-V. Esse processo também é utilizado nas tarefas agendadas criadas durante a configuração do servidor de publicação.

As seções a seguir elaborarão o que se passa durante o processo de atualização de publicação.

Adicionar um pacote App-V

Adicionar um pacote App-V ao cliente é a primeira etapa do processo de atualização de publicação. O resultado final é o mesmo que o cmdlet Add-AppVClientPackage em Windows PowerShell, exceto que o processo de adição de atualização de publicação entra em contato com o servidor de publicação configurado e passa uma lista de aplicativos de alto nível de volta para o cliente para obter informações mais detalhadas, em vez de apenas fazer uma única operação de adição de pacote.

Em seguida, o processo configura o cliente para adições ou atualizações de grupo de conexões ou pacotes de conexão e acessa o arquivo appv. Em seguida, o conteúdo do arquivo appv é expandido e colocado no sistema operacional local nos locais apropriados. As etapas a seguir são um fluxo de trabalho detalhado do processo, supondo que o pacote esteja configurado para Streaming de Falhas.

Como adicionar um pacote App-V

  1. Inicie a instalação manualmente por meio de Windows PowerShell ou início da Sequência de Tarefas do processo de Atualização de Publicação.

    1. O Cliente App-V faz uma conexão HTTP e solicita uma lista de aplicativos com base no destino. O processo de atualização de publicação dá suporte a computadores ou usuários de destino.

    2. O Servidor de Publicação do App-V usa a identidade do destino de início, usuário ou computador e consulta o banco de dados para uma lista de aplicativos intitulados. A lista de aplicativos é fornecida como uma resposta XML, que o cliente usa para enviar mais solicitações ao servidor para obter mais informações por pacote.

  2. O Agente de Publicação no Cliente App-V avaliará todos os grupos de conexão não publicados ou desabilitados, uma vez que as atualizações de versão do pacote que fazem parte do grupo de conexões não podem ser processadas.

  3. Configure os pacotes identificando as operações Adicionar ou Atualizar .

    1. O Cliente App-V utiliza a API do AppX do Windows e acessa o arquivo appv do servidor de publicação.

    2. O arquivo de pacote é aberto e os arquivos AppXManifest.xml e StreamMap.xml são baixados na Repositório de Pacotes.

    3. Transmita completamente os dados de bloco de publicação definidos no arquivo StreamMap.xml . A publicação de dados do bloco é armazenada no Repositório de Pacotes\PkgGUID\VerGUID\Raiz.

      • Ícones: destinos de pontos de extensão.
      • Cabeçalhos executáveis portáteis (cabeçalhos pe): destinos de pontos de extensão que contêm as informações base sobre a necessidade de imagem em disco, acessados diretamente ou por meio de tipos de arquivo.
      • Scripts: baixe o diretório de scripts para uso durante todo o processo de publicação.
    4. Preencha o Repositório de Pacotes executando as seguintes sub-etapas:

      1. Crie arquivos esparsos em disco que representem o pacote extraído para quaisquer diretórios listados.

      2. Estágio de arquivos e diretórios de nível superior na raiz.

        Todos os outros arquivos são criados quando o diretório é listado como esparso em disco e transmitido sob demanda.

    5. Crie as entradas do catálogo do computador. Crie os arquivos Manifest.xml e DeploymentConfiguration.xml dos arquivos de pacote (se nenhum arquivo DeploymentConfiguration.xml no pacote um espaço reservado for criado).

    6. Crie o local do repositório de pacotes no registro HKLM\Software\Microsoft\AppV\Client\Packages\PkgGUID\Versions\VerGUID\Catalog.

    7. Crie o arquivo Registry.dat do repositório de pacotes para %ProgramData%\Microsoft\AppV\Client\VReg\{VersionGUID}.dat.

    8. Registre o pacote com o Driver de Modo kernel do App-V em HKLM\Microsoft\Software\AppV\MAV.

    9. Invocar scripts do arquivoAppxManifest.xml ou DeploymentConfig.xml para o tempo de Adição de Pacote.

  4. Configure Grupos de Conexão adicionando e habilitando ou desabilitando.

  5. Remova objetos que não são publicados no destino (usuário ou computador).

    Observação

    Isso não executará uma exclusão de pacote, mas removerá pontos de integração para o destino específico (usuário ou computador) e removerá arquivos do catálogo de usuários (arquivos de catálogo de máquinas para publicados globalmente).

  6. Invoque a montagem de carga em segundo plano com base na configuração do cliente.

  7. Pacotes que já têm informações de publicação para o computador ou usuário são imediatamente restaurados.

    Observação

    Essa condição ocorre como um produto de remoção sem a publicação com adição em segundo plano do pacote.

Esse processo conclui um suplemento de pacote do App-V para o processo de atualização de publicação. A próxima etapa é publicar o pacote em um destino específico (computador ou usuário).

Pacote adicionar dados de arquivo e registro.

Pacote adicionar dados de arquivo e registro

Publicando um pacote App-V

Durante a operação Atualização de Publicação, a operação de publicação específica, Publish-AppVClientPackage, adiciona entradas ao catálogo de usuários, mapeia o direito ao usuário, identifica o repositório local e termina concluindo todas as etapas de integração.

Como publicar um pacote App-V

  1. Entradas de pacote são adicionadas ao catálogo de usuários

    1. Pacotes direcionados ao usuário: os arquivos UserDeploymentConfiguration.xml e UserManifest.xml são colocados no computador no Catálogo de Usuários.

    2. Pacotes de destino do computador (global): o UserDeploymentConfiguration.xml é colocado no Catálogo de Máquinas.

  2. Registre o pacote com o driver de modo kernel para o usuário em HKLM\Software\Microsoft\AppV\MAV.

  3. Execute tarefas de integração.

    1. Crie pontos de extensão.

    2. Armazene informações de backup no registro do usuário e no perfil de roaming (Backups de Atalho).

      Observação

      Isso permite restaurar pontos de extensão se o pacote não for publicado.

    3. Execute scripts direcionados para o tempo de publicação.

A publicação de um Pacote App-V que faz parte de um Grupo de Conexões é semelhante ao processo acima. Para grupos de conexão, o caminho que armazena as informações específicas do catálogo inclui PackageGroups como filho do Diretório de Catálogo. Examine as informações do Catálogo de Máquinas e Usuários nas seções anteriores para obter detalhes.

pacote adicionar dados de arquivo e registro – global.

Pacote adicionar dados de arquivo e registro — global

Lançamento de aplicativo

Após o processo de Atualização de Publicação, o usuário inicia e, em seguida, relauniza um aplicativo App-V. O Cliente App-V verifica o caminho para o catálogo de usuários em busca de arquivos criados durante a publicação. Depois de estabelecer os direitos para iniciar o pacote, o Cliente App-V cria um ambiente virtual, começa a transmitir todos os dados necessários e aplica os arquivos de configuração de manifesto e implantação apropriados durante a criação do ambiente virtual. Depois que o ambiente virtual foi criado e configurado para o pacote e o aplicativo específicos, o aplicativo será iniciado. Isso pode parecer muito, mas o processo em ação é rápido e é otimizado para minimizar o tráfego de rede.

Como iniciar aplicativos App-V

  1. O usuário inicia o aplicativo selecionando um atalho ou invocação de tipo de arquivo.

  2. O cliente App-V verifica a existência no Catálogo de Usuários para os arquivos a seguir

    • UserDeploymentConfiguration.xml
    • UserManifest.xml
  3. Se os arquivos estiverem presentes, o aplicativo terá direito a esse usuário específico e o aplicativo iniciará o processo de lançamento. Não há tráfego de rede neste momento.

  4. Em seguida, o Cliente App-V verifica se o caminho do pacote registrado para o serviço Cliente do App-V é encontrado no registro.

  5. Ao encontrar o caminho para o repositório de pacotes, o ambiente virtual é criado.

    Se essa execução do processo for a primeira inicialização, o Bloco de Recursos Primário será baixado se estiver presente.

  6. Após o download, o serviço Cliente do App-V consome os arquivos de configuração de manifesto e implantação para configurar o ambiente virtual e todos os subsistemas do App-V são carregados.

  7. O aplicativo é iniciado. Para quaisquer arquivos ausentes no repositório de pacotes (arquivos esparsos), o App-V transmitirá a falha dos arquivos conforme necessário.

    pacote adicionar dados de arquivo e registro – fluxo.

    Pacote adicionar dados de arquivo e registro — fluxo

Atualizar um pacote App-V

A versão atual do processo de atualização de pacote do App-V difere das versões mais antigas em sua otimização de armazenamento. O App-V dá suporte a várias versões do mesmo pacote em um computador com direito a usuários diferentes. As versões do pacote podem ser adicionadas a qualquer momento, pois o repositório de pacotes e catálogos são atualizados com os novos recursos. Durante uma atualização na nova versão, apenas novos arquivos são adicionados ao novo local do repositório de versões e links rígidos são criados para arquivos inalterados. Esses resultados reduzem o armazenamento geral apenas apresentando o arquivo em um local de disco e projetando-o em todas as pastas com uma entrada de local de arquivo no disco.

Como atualizar um pacote App-V

  1. O Cliente App-V executa uma Atualização de Publicação e descobre uma versão mais recente de um Pacote App-V.

  2. As entradas do pacote são adicionadas ao catálogo apropriado para a nova versão.

    1. Pacotes direcionados ao usuário: os arquivos UserDeploymentConfiguration.xml e UserManifest.xml são colocados no computador no catálogo de usuários em appdata\roaming\Microsoft\AppV\Client\Catalog\Packages\PkgGUID\VerGUID.

    2. Pacotes de destino do computador (global): o UserDeploymentConfiguration.xml é colocado no catálogo do computador em %programdata%\Microsoft\AppV\Client\Catalog\Packages\PkgGUID\VerGUID.

  3. Registre o pacote com o driver de modo kernel para o usuário em HKLM\Software\Microsoft\AppV\MAV.

  4. Execute tarefas de integração.

    1. Integre os pontos de extensões (EP) dos arquivos Manifest e Configuração Dinâmica.

    2. Os dados EP baseados em arquivo são armazenados na pasta AppData que utiliza pontos de junção do repositório de pacotes.

    3. Os EPs da versão 1 já existem quando uma nova versão fica disponível.

    4. Os pontos de extensão são alternados para o local da Versão 2 em catálogos de máquinas ou usuários para quaisquer pontos de extensão mais recentes ou atualizados.

  5. Execute scripts direcionados para o tempo de publicação.

  6. Instale assemblies lado a lado conforme necessário.

Atualizar um pacote de App-V em uso

Se você tentar atualizar um pacote que está em uso no momento, a tarefa de atualização será colocada em um estado pendente. A atualização será executada posteriormente, de acordo com as seguintes regras:

Tipo de tarefa Regra aplicável
Tarefas baseadas no usuário, como publicar um pacote em um usuário A tarefa pendente será executada depois que o usuário sair e entrar novamente.
Tarefas baseadas globalmente, como habilitar um grupo de conexão globalmente A tarefa pendente será executada quando o computador for desligado e reiniciado.

Quando uma tarefa é colocada em um estado pendente, o Cliente App-V também gera uma chave de registro para a tarefa pendente, da seguinte maneira:

Tarefa baseada no usuário ou globalmente Onde a chave do registro é gerada
Tarefas baseadas no usuário HKEY_CURRENT_USER\Software\Microsoft\AppV\Client\PendingTasks
Tarefas baseadas globalmente HKEY_LOCAL_MACHINE\Software\Microsoft\AppV\Client\PendingTasks

As operações a seguir devem ser concluídas antes que os usuários possam usar a versão mais recente do pacote:

Tarefa Detalhes
Adicionar o pacote ao computador Essa tarefa é específica do computador e você pode executá-la a qualquer momento concluindo as etapas em Como adicionar um pacote App-V.
Publicar o pacote Consulte a seção Publicação de Pacotes acima para ver as etapas. Esse processo exige que você atualize pontos de extensão no sistema. Você não pode concluir essa tarefa enquanto o aplicativo estiver em uso.

Use os cenários de exemplo a seguir como um guia para atualizar pacotes.

Cenário Requisitos
O pacote App-V não está em uso quando você tenta atualizar Nenhum dos seguintes componentes do pacote pode estar em uso: aplicativo virtual, servidor COM ou extensões de shell.

O administrador publica uma versão mais recente do pacote e a atualização funciona na próxima vez que um componente ou aplicativo dentro do pacote for iniciado. A nova versão do pacote é transmitida e executada.
O pacote App-V está em uso quando o administrador publica uma versão mais recente do pacote O Cliente App-V define a operação como "pendente", o que significa que ela está na fila e será realizada posteriormente quando o pacote não estiver em uso.

Se o aplicativo de pacote estiver em uso, o usuário desligará o aplicativo virtual, após o qual a atualização poderá ocorrer.

Se o pacote tiver extensões de shell, que são carregadas permanentemente pelo Windows Explorer, o usuário não poderá entrar. Os usuários devem sair e entrar novamente para iniciar a atualização do pacote do App-V.

Publicação global versus usuário

Pacotes app-V podem ser publicados de duas maneiras; como usuário, que dá direito a um pacote App-V a um usuário ou grupo específico de usuários, ou como global, que dá direito ao pacote App-V para todo o computador para todos os usuários do computador. Depois que uma atualização de pacote tiver sido pendente e o pacote App-V não estiver em uso, considere os dois tipos de publicação:

  • A publicação global é quando o aplicativo é publicado em um computador; todos os usuários desse computador podem usá-lo. A atualização acontecerá quando o Serviço de Cliente do App-V for iniciado, o que significa efetivamente uma reinicialização do computador.
  • A publicação do usuário é quando o aplicativo é publicado em um usuário. Se houver vários usuários no computador, o aplicativo poderá ser publicado em um subconjunto dos usuários. A atualização acontecerá quando o usuário entrar ou quando for publicado novamente (periodicamente, ConfigMgr Atualização e avaliação de política, ou uma publicação/atualização periódica do App-V ou explicitamente por meio de comandos Windows PowerShell).

Removendo um pacote App-V

A remoção de aplicativos App-V em uma Infraestrutura Completa é uma operação não publicada e não executa uma remoção de pacote. O processo é o mesmo que o processo de publicação acima, mas, em vez de adicionar o processo de remoção, inverte as alterações feitas para pacotes App-V.

Reparar um pacote App-V

A operação de reparo é fácil de fazer, mas pode afetar muitos locais no computador. Os locais de Cópia na Gravação (COW) mencionados anteriormente são removidos e os pontos de extensão são integrados e, em seguida, reintegrados. Antes de reparar, examine onde os locais de posicionamento de dados cow são registrados no registro. Para executar uma operação de reparo, tudo o que você precisa fazer é iniciá-la no Console do Cliente do App-V ou por meio do cmdlet Repair-AppVClientPackage PowerShell. Depois disso, a operação é concluída automaticamente.

Integração de pacotes de App-V

A arquitetura de pacotes e cliente do App-V fornece uma integração específica com o sistema operacional local durante a adição e publicação de pacotes. Três arquivos definem os pontos de integração ou extensão de um Pacote App-V:

  • AppXManifest.xml é armazenado dentro do pacote com cópias de fallback armazenadas no repositório de pacotes e no perfil do usuário. Contém as opções criadas durante o processo de sequenciamento.
  • DeploymentConfig.xml fornece informações de configuração de pontos de extensão de integração baseados no computador e no usuário.
  • UserConfig.xml é um subconjunto do arquivo Deploymentconfig.xml que fornece apenas configurações baseadas no usuário e visa apenas pontos de extensão baseados no usuário.

Regras de integração

Quando aplicativos App-V são publicados em um computador com o Cliente App-V, algumas ações específicas ocorrem conforme descrito na lista a seguir:

  • Publicação Global: os atalhos são armazenados no local do perfil Todos os Usuários e outros pontos de extensão são armazenados no registro no hive HKLM.

  • Publicação do usuário: os atalhos são armazenados no perfil da conta de usuário atual e outros pontos de extensão são armazenados no registro no hive HKCU.

  • Backup e Restauração: os dados e o registro de aplicativos nativos existentes (como registros FTA) são backup durante a publicação.

    1. Os pacotes app-V recebem propriedade com base no último pacote integrado em que a propriedade é passada para o aplicativo App-V publicado mais recente.
    2. A propriedade é transferida de um pacote App-V para outro quando o pacote de App-V é não publicado. Essa transferência não iniciará uma restauração dos dados ou do registro.
    3. Restaure os dados de backup quando o último pacote não for publicado ou removido por ponto de extensão.

Pontos de extensão

Os arquivos de publicação do App-V (manifesto e configuração dinâmica) fornecem vários pontos de extensão para integrar o aplicativo ao sistema operacional local. Esses pontos de extensão executam tarefas típicas de instalação do aplicativo, como colocar atalhos, criar associações de tipo de arquivo e registrar componentes. Como são aplicativos virtualizados que não são instalados da mesma maneira que um aplicativo tradicional, há algumas diferenças. Veja a seguir uma lista de pontos de extensão abordados nesta seção:

  • Atalhos
  • Associações de tipo de arquivo
  • Extensões de shell
  • COM
  • Clientes de software
  • Funcionalidades do aplicativo
  • Manipulador de Protocolo de URL
  • AppPath
  • Aplicativo virtual

Atalhos

O atalho é um dos elementos básicos de integração com o sistema operacional e é a interface para o lançamento direto do usuário de um aplicativo App-V. Durante a publicação e a impublicação de aplicativos App-V.

No manifesto do pacote e nos arquivos XML de configuração dinâmica, o caminho para um executável de aplicativo específico pode ser encontrado em uma seção, conforme mostrado no exemplo a seguir:

<Extension Category="AppV.Shortcut">
          <Shortcut>
            <File>[{Common Desktop}]\Adobe Reader.lnk</File>
            <Target>[{AppVPackageRoot}]\Reader\AcroRd32.exe</Target>
            <Icon>[{Windows}]\Installer\{AC76BA86-7AD7-1033-7B44-A94000000001}\SC_Reader.ico</Icon>
            <Arguments />
            <WorkingDirectory />
            <ShowCommand>1</ShowCommand>
            <ApplicationId>[{AppVPackageRoot}]\Reader\AcroRd32.exe</ApplicationId>
          </Shortcut>
        </Extension>

Conforme mencionado anteriormente, os atalhos do App-V são colocados por padrão no perfil do usuário com base na operação de atualização. A atualização global coloca atalhos no perfil Todos os Usuários e a atualização do usuário os armazena no perfil do usuário específico. O executável real é armazenado na Repositório de Pacotes. O local do arquivo ICO é um local tokenizado no pacote App-V.

Associações de tipo de arquivo

Os usuários podem usar invocações de tipo de arquivo ou abrir um arquivo com uma extensão registrada (.docx) para iniciar um aplicativo App-V porque o Cliente App-V gerencia as Associações de Tipo de Arquivo do sistema operacional local durante a publicação. As associações de tipo de arquivo estão presentes nos arquivos de configuração dinâmica e de manifesto, conforme mostrado no exemplo a seguir:

<Extension Category="AppV.FileTypeAssociation">
          <FileTypeAssociation>
            <FileExtension MimeAssociation="true">
              <Name>.xdp</Name>
              <ProgId>AcroExch.XDPDoc</ProgId>
              <ContentType>application/vnd.adobe.xdp+xml</ContentType>
            </FileExtension>
            <ProgId>
              <Name>AcroExch.XDPDoc</Name>
              <Description>Adobe Acrobat XML Data Package File</Description>
              <EditFlags>65536</EditFlags>
              <DefaultIcon>[{Windows}]\Installer\{AC76BA86-7AD7-1033-7B44-A94000000001}\XDPFile_8.ico</DefaultIcon>
              <ShellCommands>
                <DefaultCommand>Read</DefaultCommand>
                <ShellCommand>
                  <ApplicationId>[{AppVPackageRoot}]\Reader\AcroRd32.exe</ApplicationId>
                  <Name>Open</Name>
                  <CommandLine>"[{AppVPackageRoot}]\Reader\AcroRd32.exe" "%1"</CommandLine>
                </ShellCommand>
                <ShellCommand>
                  <ApplicationId>[{AppVPackageRoot}]\Reader\AcroRd32.exe</ApplicationId>
                  <Name>Printto</Name>
                  <CommandLine>"[{AppVPackageRoot}]\Reader\AcroRd32.exe"  /t "%1" "%2" "%3" "%4"</CommandLine>
                </ShellCommand>
                <ShellCommand>
                  <ApplicationId>[{AppVPackageRoot}]\Reader\AcroRd32.exe</ApplicationId>
                  <Name>Read</Name>
                  <FriendlyName>Open with Adobe Reader</FriendlyName>
                  <CommandLine>"[{AppVPackageRoot}]\Reader\AcroRd32.exe" "%1"</CommandLine>
                </ShellCommand>
              </ShellCommands>
            </ProgId>
          </FileTypeAssociation>
        </Extension>

Observação

Neste exemplo:

  • <Name>.xdp</Name> é a extensão
  • <Name>AcroExch.XDPDoc</Name> é o valor ProgId (que aponta para o ProgId adjacente)
  • <CommandLine>"[{AppVPackageRoot}]\Reader\AcroRd32.exe" "%1"</CommandLine> é a linha de comando, que aponta para o executável do aplicativo

Extensões de shell

As extensões shell são inseridas no pacote automaticamente durante o processo de sequenciamento. Quando o pacote é publicado globalmente, a extensão shell fornece aos usuários a mesma funcionalidade que se o aplicativo estivesse instalado localmente. O aplicativo não requer nenhuma configuração ou configuração extra no cliente para habilitar a funcionalidade de extensão do shell.

Requisitos para usar extensões de shell

  • Pacotes que contêm extensões de shell inseridas devem ser publicados globalmente.
  • A "bit" do aplicativo, do Sequenciador e do Cliente app-V deve corresponder ou as extensões de shell não funcionarão. A seguinte configuração de exemplo atende ao requisito correspondente:
    • A versão do aplicativo é de 64 bits.
    • O Sequencer está em execução em um computador de 64 bits.
    • O pacote está sendo entregue em um computador Cliente App-V de 64 bits.

A tabela a seguir exibe as extensões de shell com suporte.

Manipulador Descrição
Manipulador de menus de contexto Adiciona itens de menu ao menu de contexto. é chamado antes que o menu de contexto seja exibido.
Manipulador de arrastar e soltar Controla a ação ao clicar com o botão direito do mouse em arrastar e soltar e modifica o menu de contexto exibido.
Remover manipulador de destino Controla a ação depois que um objeto de dados é arrastado e derrubado sobre um destino suspenso, como um arquivo.
Manipulador de objetos de dados Controla a ação depois que um arquivo é copiado para a área de transferência ou arrastado e derrubado sobre um destino suspenso. Ele pode fornecer mais formatos de área de transferência para o destino suspenso.
Manipulador de planilhas de propriedades Substitui ou adiciona páginas à caixa de diálogo folha de propriedades de um objeto.
Manipulador de dicas de informações Permite recuperar sinalizadores e informações de dica de informações para um item e exibi-lo dentro de uma dica de ferramenta pop-up ao passar o mouse.
Manipulador de colunas Permite criar e exibir colunas personalizadas no modo de exibição Detalhes do Windows Explorer. Ele pode ser usado para estender a classificação e o agrupamento.
Manipulador de visualização Permite que uma visualização de um arquivo seja exibida no Painel de Visualização do Windows Explorer.

COM

O Cliente App-V dá suporte à publicação de aplicativos com suporte para integração e virtualização com COM. A integração COM permite que o Cliente App-V registre objetos COM no sistema operacional local e virtualização dos objetos. Para fins deste documento, a integração de objetos COM requer mais detalhes.

O App-V dá suporte ao registro de objetos COM do pacote para o sistema operacional local com dois tipos de processo: fora de processo e em processo. O registro de objetos COM é feito com uma ou uma combinação de vários modos de operação para um pacote específico do App-V que inclui Off, Isolated e Integrated. O modo integrado é configurado para o tipo fora de processo ou em processo. A configuração de modos e tipos COM é realizada com arquivos de configuração dinâmica (deploymentconfig.xml ou userconfig.xml).

Para obter detalhes sobre a integração do App-V, confira Integração do Microsoft Application Virtualization 5.0.

Recursos de aplicativos e clientes de software

O App-V dá suporte a clientes de software específicos e pontos de extensão de recursos de aplicativo para registrar aplicativos virtualizados com o cliente de software do sistema operacional. Esse suporte específico significa que os usuários podem selecionar programas padrão para operações como email, mensagens instantâneas e usar o player de mídia. Essa operação é executada no painel de controle com Definir Acesso ao Programa e Padrões de Computador e é configurada durante o sequenciamento nos arquivos de configuração dinâmica ou manifesto. Os recursos do aplicativo só têm suporte quando os aplicativos App-V são publicados globalmente.

O exemplo a seguir ilustra um registro de cliente de software de um cliente de email baseado em App-V.

    <SoftwareClients Enabled="true">
      <ClientConfiguration EmailEnabled="true" />
      <Extensions>
        <Extension Category="AppV.SoftwareClient">
          <SoftwareClients>
            <EMail MakeDefault="true">
              <Name>Mozilla Thunderbird</Name>
              <Description>Mozilla Thunderbird</Description>
              <DefaultIcon>[{ProgramFilesX86}]\Mozilla Thunderbird\thunderbird.exe,0</DefaultIcon>
              <InstallationInformation>
                <RegistrationCommands>
                  <Reinstall>"[{ProgramFilesX86}]\Mozilla Thunderbird\uninstall\helper.exe" /SetAsDefaultAppGlobal</Reinstall>
                  <HideIcons>"[{ProgramFilesX86}]\Mozilla Thunderbird\uninstall\helper.exe" /HideShortcuts</HideIcons>
                  <ShowIcons>"[{ProgramFilesX86}]\Mozilla Thunderbird\uninstall\helper.exe" /ShowShortcuts</ShowIcons>
                </RegistrationCommands>
                <IconsVisible>1</IconsVisible>
                <OEMSettings />
              </InstallationInformation>
              <ShellCommands>
                <ApplicationId>[{ProgramFilesX86}]\Mozilla Thunderbird\thunderbird.exe</ApplicationId>
                <Open>"[{ProgramFilesX86}]\Mozilla Thunderbird\thunderbird.exe" -mail</Open>
              </ShellCommands>
              <MAPILibrary>[{ProgramFilesX86}]\Mozilla Thunderbird\mozMapi32_InUse.dll</MAPILibrary>
              <MailToProtocol>
                <Description>Thunderbird URL</Description>
                <EditFlags>2</EditFlags>
                <DefaultIcon>[{ProgramFilesX86}]\Mozilla Thunderbird\thunderbird.exe,0</DefaultIcon>
                <ShellCommands>
                  <ApplicationId>[{ProgramFilesX86}]\Mozilla Thunderbird\thunderbird.exe</ApplicationId>
                  <Open>"[{ProgramFilesX86}]\Mozilla Thunderbird\thunderbird.exe" -osint -compose "%1"</Open>
                </ShellCommands>
              </MailToProtocol>
            </EMail>
          </SoftwareClients>
        </Extension>
      </Extensions>
    </SoftwareClients>

Observação

Neste exemplo:

  • <ClientConfiguration EmailEnabled="true" />é a configuração geral de Clientes de Software para integrar Email clientes.
  • <EMail MakeDefault="true">é o sinalizador para definir um cliente Email específico como o cliente Email padrão.
  • <MAPILibrary>[{ProgramFilesX86}]\Mozilla Thunderbird\mozMapi32_InUse.dll</MAPILibrary> é o registro de dll MAPI.

Manipulador de Protocolo de URL

Os aplicativos virtuais nem sempre utilizam especificamente a invocação de tipo de arquivo. Por exemplo, em um aplicativo que dá suporte à inserção de um mailto: link dentro de um documento ou página da Web, o usuário seleciona o link que espera acessar seu cliente de email registrado. O App-V dá suporte a manipuladores de protocolo de URL que podem ser registrados por pacote com o sistema operacional local. Durante o sequenciamento, os manipuladores de Protocolo de URL são adicionados automaticamente ao pacote.

Para situações em que há mais de um aplicativo que pode registrar o manipulador de protocolo de URL específico, os arquivos de configuração dinâmica podem ser usados para modificar o comportamento e suprimir ou desabilitar esse recurso para um aplicativo que não deve ser o aplicativo principal iniciado.

AppPath

O ponto de extensão AppPath dá suporte à chamada de aplicativos App-V diretamente do sistema operacional. Os administradores podem fornecer acesso a aplicativos App-V de comandos ou scripts do sistema operacional sem chamar o caminho específico para o executável da Tela de Execução ou Iniciar, dependendo do sistema operacional. Portanto, evita modificar a variável de ambiente de caminho do sistema em todos os sistemas, conforme é realizado durante a publicação.

O ponto de extensão AppPath é configurado no manifesto ou nos arquivos de configuração dinâmica e é armazenado no registro no computador local durante a publicação para o usuário. Para obter mais informações sobre a revisão do AppPath: Caminhos do Aplicativo – Uma Extensão de Aplicativo Virtual no App-V 5.0.

Aplicativo virtual

Esse subsistema fornece uma lista de aplicativos capturados durante o sequenciamento que é consumido por outros componentes do App-V. A integração de pontos de extensão pertencentes a um aplicativo específico pode ser desabilitada usando arquivos de configuração dinâmica. Por exemplo, se um pacote contiver dois aplicativos, você poderá desabilitar todos os pontos de extensão pertencentes a um aplicativo para permitir apenas a integração de pontos de extensão para o outro aplicativo.

Regras de ponto de extensão

Os pontos de extensão descritos anteriormente são integrados ao sistema operacional com base em como os pacotes foram publicados. A publicação global coloca pontos de extensão em locais de máquina pública, em que a publicação de usuários coloca pontos de extensão em locais de usuário. Por exemplo, um atalho criado na área de trabalho e publicado globalmente resultará nos dados do arquivo para o atalho (%Public%\Desktop) e os dados do registro (HKLM\Software\Classes). O mesmo atalho teria dados de arquivo (%UserProfile%\Desktop) e dados do registro (HKCU\Software\Classes).

Os pontos de extensão não são todos publicados da mesma maneira, em que alguns pontos de extensão exigirão publicação global e outros exigem sequenciamento no sistema operacional específico e na arquitetura em que são entregues. Veja abaixo uma tabela que descreve essas duas regras-chave.

Extensão Virtual Requer sequenciamento do sistema operacional de destino Requer publicação global
Atalho
Associação de Tipo de Arquivo
Protocolos de URL X
AppPaths X
Modo COM
Cliente de Software X
Funcionalidades do aplicativo X X
Manipulador de Menus de Contexto X X
Manipulador de arrastar e soltar X
Manipulador de Objetos de Dados X
Manipulador de Planilha de Propriedades X
Manipulador de Dicas de Informações X
Manipulador de Colunas X
Extensões shell X
Objeto Auxiliar do Navegador X X
Objeto Active X X X

Processamento de configuração dinâmica

A implantação de pacotes do App-V em um único computador ou usuário é simples. No entanto, à medida que as organizações implantam aplicativos App-V em linhas de negócios e limites geográficos e políticos, torna-se impossível sequenciar todos os aplicativos com as mesmas configurações. O App-V foi projetado para superar esse problema capturando configurações e configurações específicas durante o sequenciamento no arquivo Manifest, ao mesmo tempo em que dá suporte à modificação com arquivos de Configuração Dinâmica.

A configuração dinâmica do App-V permite especificar uma política de pacote nos níveis do computador ou do usuário. Os engenheiros de sequenciamento podem usar arquivos de Configuração Dinâmica para modificar a configuração de um pacote pós-sequenciamento para atender às necessidades de grupos individuais de usuários ou computadores. Em algumas instâncias, talvez seja necessário modificar o aplicativo para fornecer a funcionalidade adequada no ambiente do App-V. Por exemplo, talvez seja necessário modificar os arquivos _*config.xml para permitir que determinadas ações sejam executadas em um momento especificado durante a execução do aplicativo, como desabilitar uma extensão mailto para impedir que um aplicativo virtualizado substitua essa extensão de outro aplicativo.

Os pacotes do App-V contêm o arquivo Manifest dentro do arquivo pacote App-V, que é representativo das operações de sequenciamento e é a política de escolha, a menos que os arquivos de Configuração Dinâmica sejam atribuídos a um pacote específico. Após o sequenciamento, os arquivos de Configuração Dinâmica podem ser modificados para permitir que um aplicativo seja publicado em diferentes áreas de trabalho ou usuários com diferentes pontos de extensão. Os dois arquivos de Configuração Dinâmica são os arquivos DDC (Configuração de Implantação Dinâmica) e DUC (Configuração Dinâmica do Usuário). Esta seção se concentra na combinação dos arquivos de configuração dinâmica e de manifesto.

Exemplos de arquivos de configuração dinâmica

O exemplo a seguir mostra a combinação dos arquivos Manifesto, Configuração de Implantação e Configuração de Usuário após a publicação e durante a operação normal. Esses exemplos são exemplos abreviados de cada um dos arquivos. A finalidade é mostrar apenas a combinação dos arquivos, não ser uma descrição completa das categorias específicas disponíveis em cada arquivo. Para obter mais informações, baixe o Guia de Sequenciamento do App-V.

Manifesto

<appv:Extension Category="AppV.Shortcut">
     <appv:Shortcut>
          <appv:File>[{Common Programs}]\7-Zip\7-Zip File Manager.lnk</appv:File>
          <appv:Target>[{AppVPackageRoot}]\7zFM.exe</appv:Target>
          <appv:Icon>[{AppVPackageRoot}]\7zFM exe.O.ico</appv:Icon>
     </appv:Shortcut>
</appv:Extension>

Configuração de implantação

<MachineConfiguration>
     <Subsystems>
          <Registry>
               <Include>
                    <Key Path= "\REGISTRY\Machine\Software\7zip">
                    <Value Type="REG_SZ" Name="Config" Data="1234"/>
                    </Key>
               </Include>
          </Registry>
     </Subsystems>

Configuração do usuário

<UserConfiguration>
     <Subsystems>
<appv:ExtensionCategory="AppV.Shortcut">
     <appv:Shortcut>
          <appv:File>[{Desktop}]\7-Zip\7-Zip File Manager.lnk</appv:File>
          <appv:Target>[{AppVPackageRoot}]\7zFM.exe</appv:Target>
          <appv:Icon>[{AppVPackageRoot}]\7zFM exe.O.ico</appv:Icon>
     </appv:Shortcut>
</appv:Extension>
     </Subsystems>
<UserConfiguration>
     <Subsystems>
<appv:Extension Category="AppV.Shortcut">
     <appv:Shortcut>
          <appv:Fìle>[{Desktop}]\7-Zip\7-Zip File Manager.lnk</appv:File>
          <appv:Target>[{AppVPackageRoot}]\7zFM.exe</appv:Target>
          <appv:Icon>[{AppVPackageRoot}]\7zFM.exe.O.ico</appv:Icon>
     </appv:Shortcut>
     <appv:Shortcut>
          <appv:File>[{Common Programs}]\7-Zip\7-Zip File Manager.Ink</appv:File>
          <appv:Target>[{AppVPackageRoot}]\7zFM.exe</appv:Target>
          <appv:Icon>[{AppVPackageRoot)]\7zFM.exe.O.ico</appv: Icon>
     </appv:Shortcut>
</appv:Extension>
     </Subsystems>
<MachineConfiguration>
     <Subsystems>
          <Registry>
               <Include>
                    <Key Path="\REGISTRY\Machine\Software\7zip">
                    <Value Type=”REG_SZ" Name="Config" Data="1234"/>
               </Include>
          </Registry>
     </Subsystems>

Assemblies lado a lado

O App-V dá suporte ao empacotamento automático de assemblies lado a lado durante o sequenciamento e a implantação no cliente durante a publicação de aplicativos virtuais. O App-V também dá suporte à captura de assemblies lado a lado durante o sequenciamento para assemblies não presentes no computador de sequenciamento. Para assemblies que consistem em Visual C++ (versão 8 e mais recente) ou tempo de execução MSXML, o Sequencer detectará e capturará automaticamente essas dependências, mesmo que não tenham sido instaladas durante o monitoramento.

O recurso assemblies lado a lado remove as limitações das versões anteriores do App-V, em que o Sequenciador App-V não capturou assemblies já presentes na estação de trabalho de sequenciamento e privatizou os assemblies, o que o limitou a uma versão de bit por pacote. Esse comportamento resultou na implantação de aplicativos App-V para clientes que não eram os assemblies lado a lado necessários, o que levou a falhas de inicialização do aplicativo. Essa falha forçou o processo de empacotamento a documentar e garantir que todos os assemblies necessários para pacotes fossem instalados localmente no sistema operacional cliente do usuário. Essa tarefa foi um desafio de gerenciamento e implementação devido ao número de assemblies e à falta de documentação do aplicativo para as dependências necessárias.

O suporte ao assembly lado a lado no App-V tem os seguintes recursos:

  • Capturas automáticas do assembly lado a lado durante o sequenciamento, independentemente de o assembly já estar instalado na estação de trabalho de sequenciamento.
  • O Cliente App-V instala automaticamente assemblies obrigatórios lado a lado no computador cliente na hora da publicação se eles ainda não estiverem instalados.
  • O Sequenciador relata a dependência de tempo de execução de VC no mecanismo de relatório do Sequencer.
  • O Sequencer permite optar por não empacotar assemblies já instalados no Sequencer, dando suporte a cenários em que os assemblies foram instalados anteriormente nos computadores de destino.

Publicação automática de assemblies lado a lado

Durante a publicação de um pacote App-V com assemblies lado a lado, o Cliente App-V marcar para a presença do assembly no computador. Se ele não detectar um assembly, o cliente implantará o assembly no computador. Os pacotes que fazem parte dos grupos de conexão contarão com as instalações de assembly lado a lado nos pacotes base, pois os grupos de conexão não contêm nenhuma informação sobre a instalação do assembly.

Observação

A não publicação ou remoção de um pacote com um assembly não remove os assemblies desse pacote.

Log do cliente

O Cliente do App-V registra informações no log de eventos do Windows no formato ETW padrão. Os eventos específicos do App-V podem ser encontrados no visualizador de eventos em Logs de Aplicativos e Serviços\Microsoft\AppV\Client.

Há três categorias específicas de eventos registrados:

  • Administração registra eventos para configurações aplicadas ao Cliente App-V e também contém os avisos e erros primários.
  • A operação registra a execução geral do App-V e o uso de componentes individuais, criando um log de auditoria das operações concluídas do App-V Client App-V.
  • O aplicativo virtual registra lançamentos de aplicativos virtuais e o uso de subsistemas de virtualização.