Executando um aplicativo instalado localmente em um ambiente virtual com aplicativos virtualizados
Aplica-se a: Application Virtualization 5.0, Application Virtualization 5.0 SP1, Application Virtualization 5.0 SP2, Application Virtualization 5.0 SP3
Você pode executar um aplicativo instalado localmente em um ambiente virtual, juntamente com aplicativos que foram virtualizados usando o Microsoft Application Virtualization (App-V). Talvez seja recomendável fazer isso se você:
Deseja instalar e executar um aplicativo localmente nos computadores cliente, mas quer virtualizar e executar plug-ins específicos que funcionam com o aplicativo local.
Estiver solucionando problemas de um pacote do cliente do App-V e quiser abrir um aplicativo local dentro do ambiente virtual do App-V.
Use qualquer um dos seguintes métodos para abrir um aplicativo local dentro do ambiente virtual do App-V:
Chave do Registro RunVirtual
Get-AppvClientPackage PowerShell cmdlet
Comutação da linha de comando /appvpid:<PID>
Comutador de gancho da linha de comando /appvve:<GUID>
Cada método realiza essencialmente a mesma tarefa, mas alguns podem ser mais adequados para certos aplicativos que outros, dependendo de se o aplicativo virtualizado já está em execução.
Chave do Registro RunVirtual
Para adicionar um aplicativo instalado localmente a um pacote ou ambiente virtual do grupo de conexões, adicione uma subchave à chave do Registro do RunVirtual
no Editor do Registro, conforme descrito nas seções a seguir.
Não há nenhuma configuração disponível para gerenciar essa chave do Registro, por isso você precisará usar o System Center Configuration Manager ou outro sistema ESD (distribuição eletrônica de software), ou então editar manualmente o Registro de política de grupo.
Métodos com suporte para publicação de pacotes usando RunVirtual
Versão do App-V | Métodos de publicação com suporte |
---|---|
App-V 5.0 SP3 |
Publicado globalmente ou para o usuário |
App-V 5.0 a App-V 5.0 SP2 |
Publicado globalmente apenas |
Etapas para criar a subchave
Usando as informações na tabela a seguir, crie uma nova chave do Registro usando o nome do arquivo executável, por exemplo, MyApp.exe.
Método de publicação do pacote Onde criar a chave do Registro Publicado globalmente
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual
Exemplo: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual\MyApp.exe
Publicado para o usuário
HKEY_CURRENT_USER\SOFTWARE\Microsoft\AppV\Client\RunVirtual
Exemplo: HKEY_CURRENT_USER \SOFTWARE\Microsoft\AppV\Client\RunVirtual\MyApp.exe
O grupo de conexões pode conter:
- Pacotes que são publicados apenas globalmente ou apenas para o usuário
- Pacotes publicados globalmente e para o usuário
Chaves HKEY_LOCAL_MACHINE ou HKEY_CURRENT_USER, mas todos os itens a seguir devem ser verdadeiros:
- Se você quiser incluir vários pacotes no ambiente virtual, deverá incluí-las em um grupo de conexões habilitado.
- Crie apenas uma subchave para um dos pacotes no grupo de conexões. Se, por exemplo, você tiver um pacote publicado globalmente e outro pacote publicado para o usuário, crie uma subchave para qualquer um desses pacotes, mas não ambos. Embora você crie uma subchave de apenas um dos pacotes, todos os pacotes no grupo de conexões, além do aplicativo local, estarão disponíveis no ambiente virtual.
- A chave de criação da subchave deve corresponder ao método de publicação usado para o pacote.
Por exemplo, se você publicou o pacote para o usuário, você deve criar a subchave emHKEY_CURRENT_USER\SOFTWARE\Microsoft\AppV\Client\RunVirtual
.
- Pacotes que são publicados apenas globalmente ou apenas para o usuário
Defina o valor da nova subchave de Registro para o PackageId e VersionId do pacote, separando-os com um sublinhado.
Sintaxe: <PackageId>_<VersionId>
Exemplo: 4c909996-afc9-4352-b606-0b74542a09c1_be463724-Oct1-48f1-8604-c4bd7ca92fa
O aplicativo no exemplo anterior geraria um arquivo de exportação do Registro (.reg) semelhante ao seguinte:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual] @="" [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual\MyApp.exe] @="aaaaaaaa-bbbb-cccc-dddd-eeeeeeee_11111111-2222-3333-4444-555555555
Get-AppvClientPackage PowerShell cmdlet
Você pode usar o cmdlet Start-AppVVirtualProcess para recuperar o nome do pacote e iniciar um processo no ambiente virtual do pacote especificado. Esse método permite que você inicie qualquer comando dentro do contexto de um pacote do App-V, independentemente do pacote estar sendo executado.
Use a seguinte sintaxe de exemplo e substitua o nome do seu pacote por <Package>:
$AppVName = Get-AppvClientPackage <Package>
Start-AppvVirtualProcess -AppvClientObject $AppVName cmd.exe
Se você não souber o nome exato do pacote, poderá usar a linha de comando Get-AppvClientPackage *executable*, onde o executable é o nome do aplicativo, por exemplo: Get-AppvClientPackage *Word*.
Comutação da linha de comando /appvpid:<PID>
Você pode aplicar o comutador /appvpid:<PID> a qualquer comando, que permite que o comando seja executado em um processo virtual selecionado especificando seu ID de processo (PID). Usar esse método inicia o executável de novo no mesmo ambiente do App-V como um executável que está sendo executado.
Exemplo: cmd.exe /appvpid:8108
Para localizar a ID do processo (PID) do processo do App-V, execute o comando tasklist.exe em um prompt de comandos com privilégios elevados.
Comutador de gancho da linha de comando /appvve:<GUID>
Essa opção permite que você execute um comando local dentro do ambiente virtual de um pacote do App-V. Ao contrário do comutador do /appvid, onde o ambiente virtual já deve estar em execução, essa opção permite que você inicie o ambiente virtual.
Sintaxe: cmd.exe /appvve:<PACKAGEGUID_VERSIONGUID>
Exemplo: cmd.exe /appvve:aaaaaaaa-bbbb-cccc-dddd-eeeeeeee_11111111-2222-3333-4444-55555555
Para obter o pacote e versão GUID do seu aplicativo, execute o cmdlet Get-AppvClientPackage. Concatenar o comutador /appvve com o seguinte:
Dois pontos
GUID do pacote do pacote desejado
Um sublinhado
ID da versão do pacote desejado
Se você não souber o nome exato do seu pacote, use a linha de comando Get-AppvClientPackage *executable*, onde executable é o nome do aplicativo, por exemplo: Get-AppvClientPackage *Word*.
Esse método permite que você inicie qualquer comando dentro do contexto de um pacote do App-V, independentemente do pacote estar sendo executado.
Você tem uma sugestão para o App-V?
Adicione ou vote em sugestões aqui. Para problemas com o App-V, utilize o Fórum App-V TechNet.
Consulte também
Outros recursos
Referência técnica para o App-V 5.0
-----
Você pode saber mais sobre o MDOP na TechNet Library, pesquisar soluções de problemas no TechNet Wiki ou seguir-nos no Facebook ou Twitter.
-----