Executando uma Aplicação Instalada Localmente Dentro de um Ambiente Virtual com Aplicativos Virtualizados
Aplicável ao
- Windows 7 SP1
- Windows 10
- Windows 11
- Windows Server 2012 R2
- Windows Server 2016
Você pode executar um aplicativo instalado localmente em um ambiente virtual, ao lado de aplicativos que foram virtualizados usando a Virtualização de Aplicativo da Microsoft (App-V). Talvez você queira fazer essa tarefa se quiser:
Deseja instalar e executar um aplicativo localmente em computadores cliente, mas deseja virtualizar e executar plug-ins específicos que funcionam com esse aplicativo local.
Estão solução de problemas de um pacote cliente do App-V e querem abrir um aplicativo local no ambiente virtual do App-V.
Use qualquer um dos seguintes métodos para abrir um aplicativo local dentro do ambiente virtual do App-V:
Cada método realiza essencialmente a mesma tarefa, mas alguns métodos podem ser mais adequados para alguns aplicativos do que outros, dependendo se o aplicativo virtualizado já está em execução.
Chave de registro RunVirtual
Para adicionar um aplicativo instalado localmente a um pacote ou ao ambiente virtual de um grupo de conexões, adicione uma subchave à chave do RunVirtual
registro no Editor do Registro, conforme descrito nas seções a seguir.
Não há nenhuma configuração de Política de Grupo disponível para gerenciar essa chave do registro. Portanto, você precisa usar Microsoft Intune ou Configuration Manager, outro sistema ESD (distribuição de software eletrônico) ou editar manualmente o registro.
A partir do App-V 5.0 SP3, ao usar o RunVirtual, você pode publicar pacotes globalmente ou para o usuário.
Etapas para criar a subchave
Usando as informações na tabela a seguir, crie uma nova chave de registro usando o nome do arquivo executável, por exemplo, MyApp.exe.
Publicado globalmente: crie a chave do
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual
registro.Por exemplo, crie
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual\MyApp.exe
.Publicado no usuário: crie a chave do
HKEY_CURRENT_USER\SOFTWARE\Microsoft\AppV\Client\RunVirtual
registro.Por exemplo, crie
HKEY_CURRENT_USER \SOFTWARE\Microsoft\AppV\Client\RunVirtual\MyApp.exe
.O grupo de conexões pode ser:
- Pacotes que são publicados globalmente ou apenas para o usuário
- Pacotes publicados globalmente e para o usuário
Use a
HKEY_LOCAL_MACHINE
chave ouHKEY_CURRENT_USER
. Mas todas as seguintes condições devem ser atendidas:Se você quiser incluir vários pacotes no ambiente virtual, deverá incluí-los em um grupo de conexão habilitado.
Crie apenas uma subchave para um dos pacotes no grupo de conexões. Por exemplo, você tem um pacote que é publicado globalmente e outro pacote publicado para o usuário. Você cria uma subchave para qualquer um desses pacotes, mas não ambos. Embora você crie uma subchave para apenas um dos pacotes, todos os pacotes no grupo de conexão, além do aplicativo local, estarão disponíveis no ambiente virtual.
A chave sob a qual você cria a subchave deve corresponder ao método de publicação usado para o pacote.
Por exemplo, se você publicou o pacote no usuário, deverá criar a subchave em
HKEY_CURRENT_USER\SOFTWARE\Microsoft\AppV\Client\RunVirtual
. Não adicione uma chave para o mesmo aplicativo em ambos os hives.
Defina o valor da nova subchave de registro como PackageId e VersionId do pacote, separando os valores com um sublinhado.
Sintaxe:
<PackageId>_<VersionId>
Exemplo: 4c909996-afc9-4352-b606-0b74542a09c1_be463724-Oct1-48f1-8604-c4bd7ca92fa
O aplicativo no exemplo anterior produziria um arquivo de exportação de registro (.reg arquivo) como o exemplo a seguir:
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
Cmdlet Get-AppvClientPackage Windows PowerShell
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 iniciar qualquer comando dentro do contexto de um pacote App-V, independentemente de o pacote estiver em execução no momento.
Use a sintaxe de exemplo a seguir e substitua o nome do 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 Get-AppvClientPackage YourExecutable
de comando , em que YourExecutable
é o nome do aplicativo. Por exemplo, insira Get-AppvClientPackage Word
.
Comutador de linha de comando /appvpid:<PID>
Você pode aplicar a opção /appvpid:<PID>
a qualquer comando, o que permite que esse comando seja executado em um processo virtual selecionado especificando sua ID de processo (PID). O uso desse método inicia o novo executável no mesmo ambiente App-V que um executável que já está em execução.
Exemplo: cmd.exe /appvpid:8108
Para localizar a ID do processo (PID) do processo do App-V, execute o comandotasklist.exe de um prompt de comando elevado.
Comutador de gancho de linha de comando /appvve:<GUID>
Essa opção permite executar um comando local no ambiente virtual de um pacote App-V. Ao contrário da opção /appvid , em que o ambiente virtual já deve estar em execução, essa opção permite iniciar 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 GUID do pacote e a versão GUID do seu aplicativo, execute o cmdlet Get-AppvClientPackage . Concatene a opção /appvve com o seguinte:
Um cólon
Guid de pacote do pacote desejado
Um sublinhado
ID da versão do pacote desejado
Se você não souber o nome exato do pacote, use a linha Get-AppvClientPackage YourExecutable
de comando , em que YourExecutable
é o nome do aplicativo. Por exemplo, insira Get-AppvClientPackage Word
.
Esse método permite iniciar qualquer comando dentro do contexto de um pacote App-V, independentemente de o pacote estiver em execução no momento.