Ejecución de una aplicación instalada localmente dentro de un entorno virtual con aplicaciones virtualizadas

Se aplica a

  • Windows 7 SP1
  • Windows 10
  • Windows 11
  • Windows Server 2012 R2
  • Windows Server 2016

Puede ejecutar una aplicación instalada localmente en un entorno virtual, junto con las aplicaciones que se han virtualizado mediante Microsoft Application Virtualization (App-V). Es posible que quiera realizar esta tarea si:

  • Quiere instalar y ejecutar una aplicación localmente en equipos cliente, pero quiere virtualizar y ejecutar complementos específicos que funcionen con esa aplicación local.

  • Está solucionando problemas de un paquete de cliente de App-V y quiere abrir una aplicación local en el entorno virtual de App-V.

Use cualquiera de los métodos siguientes para abrir una aplicación local dentro del entorno virtual de App-V:

Cada método realiza esencialmente la misma tarea, pero algunos métodos pueden ser más adecuados para algunas aplicaciones que otras, en función de si la aplicación virtualizada ya se está ejecutando.

RunVirtual Registry Key

Para agregar una aplicación instalada localmente a un paquete o al entorno virtual de un grupo de conexiones, agregue una subclave a la clave del RunVirtual Registro en la Editor del Registro, como se describe en las secciones siguientes.

No hay ninguna configuración de directiva de grupo disponible para administrar esta clave del Registro. Por lo tanto, tiene que usar Microsoft Intune o Configuration Manager, otro sistema de distribución de software electrónico (ESD) o editar manualmente el registro.

A partir de App-V 5.0 SP3, al usar RunVirtual, puede publicar paquetes globalmente o para el usuario.

Pasos para crear la subclave

  1. Con la información de la tabla siguiente, cree una nueva clave del Registro con el nombre del archivo ejecutable, por ejemplo, MyApp.exe.

    • Publicado globalmente: cree la clave del HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual Registro.

      Por ejemplo, cree HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual\MyApp.exe.

    • Publicado para el usuario: cree la clave del HKEY_CURRENT_USER\SOFTWARE\Microsoft\AppV\Client\RunVirtual Registro.

      Por ejemplo, cree HKEY_CURRENT_USER \SOFTWARE\Microsoft\AppV\Client\RunVirtual\MyApp.exe.

    • El grupo de conexiones puede ser:

      • Paquetes que se publican globalmente o solo para el usuario
      • Paquetes que se publican globalmente y para el usuario

      Use la HKEY_LOCAL_MACHINE tecla o HKEY_CURRENT_USER . Sin embargo, se deben cumplir todas las condiciones siguientes:

      • Si desea incluir varios paquetes en el entorno virtual, debe incluirlos en un grupo de conexiones habilitado.

      • Cree solo una subclave para uno de los paquetes del grupo de conexiones. Por ejemplo, tiene un paquete que se publica globalmente y otro que se publica para el usuario. Cree una subclave para cualquiera de estos paquetes, pero no para ambos. Aunque cree una subclave para solo uno de los paquetes, todos los paquetes del grupo de conexiones, más la aplicación local, estarán disponibles en el entorno virtual.

      • La clave en la que se crea la subclave debe coincidir con el método de publicación que usó para el paquete.

        Por ejemplo, si ha publicado el paquete en el usuario, debe crear la subclave en HKEY_CURRENT_USER\SOFTWARE\Microsoft\AppV\Client\RunVirtual. No agregue una clave para la misma aplicación en ambos subárboles.

  2. Establezca el valor de la nueva subclave del Registro en los valores PackageId y VersionId del paquete, separando los valores con un carácter de subrayado.

    Sintaxis: <PackageId>_<VersionId>

    Ejemplo: 4c909996-afc9-4352-b606-0b74542a09c1_be463724-Oct1-48f1-8604-c4bd7ca92fa

    La aplicación del ejemplo anterior generaría un archivo de exportación del Registro (archivo .reg) como el ejemplo siguiente:

    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

Puede usar el cmdlet Start-AppVVirtualProcess para recuperar el nombre del paquete y, a continuación, iniciar un proceso en el entorno virtual del paquete especificado. Este método le permite iniciar cualquier comando dentro del contexto de un paquete de App-V, independientemente de si el paquete se está ejecutando actualmente.

Use la sintaxis de ejemplo siguiente y sustituya el nombre del paquete por <Package>:

$AppVName = Get-AppvClientPackage <Package>

Start-AppvVirtualProcess -AppvClientObject $AppVName cmd.exe

Si no conoce el nombre exacto del paquete, puede usar la línea de comandos Get-AppvClientPackage YourExecutable, donde YourExecutable es el nombre de la aplicación. Por ejemplo, escriba Get-AppvClientPackage Word.

Modificador de línea de comandos /appvpid:<PID>

Puede aplicar el /appvpid:<PID> modificador a cualquier comando, lo que permite que ese comando se ejecute dentro de un proceso virtual que seleccione especificando su identificador de proceso (PID). Con este método se inicia el nuevo ejecutable en el mismo entorno de App-V que un ejecutable que ya se está ejecutando.

Ejemplo: cmd.exe /appvpid:8108

Para buscar el identificador de proceso (PID) del proceso de App-V, ejecute el comando tasklist.exe desde un símbolo del sistema con privilegios elevados.

Modificador de enlace de línea de comandos /appvve:<GUID>

Este modificador le permite ejecutar un comando local dentro del entorno virtual de un paquete de App-V. A diferencia del modificador /appvid , donde el entorno virtual ya debe estar en ejecución, este modificador le permite iniciar el entorno virtual.

Sintaxis: cmd.exe /appvve:<PACKAGEGUID_VERSIONGUID>

Ejemplo: cmd.exe /appvve:aaaaaaaa-bbbb-cccc-dddd-eeeeeeee_11111111-2222-3333-4444-55555555

Para obtener el GUID de paquete y el GUID de versión de la aplicación, ejecute el cmdlet Get-AppvClientPackage . Concatene el modificador /appvve con lo siguiente:

  • Dos puntos

  • GUID del paquete deseado

  • Un carácter de subrayado

  • Id. de versión del paquete deseado

Si no conoce el nombre exacto del paquete, use la línea de comandos Get-AppvClientPackage YourExecutable, donde YourExecutable es el nombre de la aplicación. Por ejemplo, escriba Get-AppvClientPackage Word.

Este método le permite iniciar cualquier comando dentro del contexto de un paquete de App-V, independientemente de si el paquete se está ejecutando actualmente.

Referencia técnica de App-V