Executar uma aplicação instalada localmente num ambiente virtual com aplicações virtualizadas
Aplica-se a: Windows 7 SP1, Windows 10, Windows 11, Windows Server 2012 R2, Windows Server 2016
Pode executar uma aplicação instalada localmente num ambiente virtual, juntamente com aplicações que foram virtualizadas com o Microsoft Application Virtualization (App-V). Poderá querer efetuar esta tarefa se:
Quer instalar e executar uma aplicação localmente em computadores cliente, mas quer virtualizar e executar plug-ins específicos que funcionam com essa aplicação local.
Estão a resolver problemas com um pacote de cliente app-V e querem abrir uma aplicação local no ambiente virtual app-V.
Cada método realiza essencialmente a mesma tarefa, mas alguns métodos podem ser mais adequados para algumas aplicações do que outros, dependendo se a aplicação virtualizada já está em execução.
RunVirtual registry key (Chave de registo RunVirtual)
Para adicionar uma aplicação instalada localmente a um pacote ou ao ambiente virtual de um grupo de ligação, adicione uma subchave à RunVirtual
chave de registo no Editor de Registo, conforme descrito nas secções seguintes.
Não existe nenhuma definição de Política de Grupo disponível para gerir esta chave de registo. Por isso, tem de utilizar o Microsoft Intune ou o Configuration Manager, outro sistema de distribuição de software eletrónico (ESD) ou editar manualmente o registo.
A partir do App-V 5.0 SP3, ao utilizar o RunVirtual, pode publicar pacotes globalmente ou para o utilizador.
Passos para criar a subchave
- Com as informações na tabela seguinte, crie uma nova chave de registo com o nome do ficheiro executável, por exemplo, MyApp.exe.
-
Publicado globalmente: crie a chave de
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual
registo.
Por exemplo, crie HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual\MyApp.exe
.
-
Publicado para o utilizador: crie a chave de
HKEY_CURRENT_USER\SOFTWARE\Microsoft\AppV\Client\RunVirtual
registo.
Por exemplo, crie HKEY_CURRENT_USER \SOFTWARE\Microsoft\AppV\Client\RunVirtual\MyApp.exe
.
- O grupo de ligação pode ser:
- Pacotes publicados globalmente ou apenas para o utilizador
- Pacotes publicados globalmente e para o utilizador
Utilize a HKEY_LOCAL_MACHINE
chave ou HKEY_CURRENT_USER
. No entanto, todas as seguintes condições têm de ser cumpridas:
Se quiser incluir vários pacotes no ambiente virtual, tem de os incluir num grupo de ligação ativado.
Crie apenas uma subchave para um dos pacotes no grupo de ligação. Por exemplo, tem um pacote que é publicado globalmente e outro pacote que é publicado para o utilizador. Pode criar uma subchave para qualquer um destes pacotes, mas não para ambos. Apesar de criar uma subchave apenas para um dos pacotes, todos os pacotes no grupo de ligação, além da aplicação local, estarão disponíveis no ambiente virtual.
A chave sob a qual cria a subchave tem de corresponder ao método de publicação que utilizou para o pacote.
Por exemplo, se publicou o pacote para o utilizador, tem de criar a subchave em
HKEY_CURRENT_USER\SOFTWARE\Microsoft\AppV\Client\RunVirtual
. Não adicione uma chave para a mesma aplicação em ambas as hives.
- Defina o valor da nova subchave de registo como PackageId e VersionId do pacote, separando os valores com um caráter de sublinhado.
Sintaxe: <PackageId>_<VersionId>
Exemplo: 4c909996-afc9-4352-b606-0b74542a09c1_be463724-Out1-48f1-8604-c4bd7ca92fa
A aplicação no exemplo anterior produziria um ficheiro de exportação de registo (.reg ficheiro) como o seguinte exemplo:
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 do Windows PowerShell
Pode utilizar o cmdlet Start-AppVVirtualProcess para obter o nome do pacote e, em seguida, iniciar um processo no ambiente virtual do pacote especificado. Este método permite-lhe iniciar qualquer comando no contexto de um pacote App-V, independentemente de o pacote estar atualmente em execução.
Utilize a seguinte sintaxe de exemplo e substitua o nome do pacote por <Package>
:
$AppVName = Get-AppvClientPackage <Package>
Start-AppvVirtualProcess -AppvClientObject $AppVName cmd.exe
Se não souber o nome exato do pacote, pode utilizar a linha de comandos Get-AppvClientPackage YourExecutable
, em YourExecutable
que é o nome da aplicação. Por exemplo, introduza Get-AppvClientPackage Word
.
Comutador da linha de comandos /appvpid:<PID>
Pode aplicar o /appvpid:<PID>
comutador a qualquer comando, o que permite que esse comando seja executado num processo virtual que selecionar ao especificar o respetivo ID de processo (PID). A utilização deste 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 o ID do processo (PID) do processo app-V, execute o comando tasklist.exe a partir de uma linha de comandos elevada.
Comutador de gancho de linha de comandos /appvve:<GUID>
Este comutador permite-lhe executar um comando local no ambiente virtual de um pacote App-V. Ao contrário do comutador /appvid , onde o ambiente virtual já tem de estar em execução, este comutador permite-lhe 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 o GUID da versão da sua aplicação, execute o cmdlet Get-AppvClientPackage . Concatene o comutador /appvve com o seguinte:
Dois pontos
GUID do pacote pretendido
Um caráter de sublinhado
ID da versão do pacote pretendido
Se não souber o nome exato do pacote, utilize a linha de comandos Get-AppvClientPackage YourExecutable
, em YourExecutable
que é o nome da aplicação. Por exemplo, introduza Get-AppvClientPackage Word
.
Este método permite-lhe iniciar qualquer comando no contexto de um pacote App-V, independentemente de o pacote estar atualmente em execução.