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

  1. 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 ou HKEY_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.

  2. 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 YourExecutablede 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 YourExecutablede 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.

Referência técnica para App-V