Compartir a través de


Publicación de aplicaciones e interacción con el cliente

Se aplica a:

  • Windows 10
  • Windows 11

En este artículo se proporciona información técnica sobre las operaciones comunes del cliente de App-V y su integración con el sistema operativo local.

Archivos de paquete de App-V creados por Sequencer

Sequencer crea paquetes de App-V y genera una aplicación virtualizada. El proceso de secuenciación crea los siguientes archivos:

Archivo Descripción
.appv - El archivo de paquete principal, que contiene los recursos capturados y la información de estado del proceso de secuenciación.
- Arquitectura del archivo de paquete, la información de publicación y el registro en un formulario tokenizado que se puede volver a aplicar a una máquina y a un usuario específico tras la entrega.
.MSI Contenedor de implementación ejecutable que puede usar para implementar archivos .appv manualmente o mediante una plataforma de implementación de terceros.
_DeploymentConfig.XML Archivo que se usa para personalizar los parámetros de publicación predeterminados para todas las aplicaciones de un paquete que se implementa globalmente para todos los usuarios de un equipo que ejecuta el cliente de App-V.
_UserConfig.XML Archivo que se usa para personalizar los parámetros de publicación para todas las aplicaciones de un paquete que es un implementado para un usuario específico en un equipo que ejecuta el cliente de App-V.
Report.xml Resumen de los mensajes resultantes del proceso de secuenciación, incluidos los controladores, archivos y ubicaciones del Registro omitidos.
.CAB Opcional: archivo del acelerador de paquetes que se usa para volver a generar automáticamente un paquete de aplicación virtual previamente secuenciado.
.appvt Opcional: archivo de plantilla de Secuenciador que se usa para conservar la configuración de Secuenciador que se reutiliza habitualmente.

Para más información sobre la secuenciación, consulte Secuenciación de una nueva aplicación con App-V.

¿Qué hay en el archivo appv?

El archivo appv es un contenedor que almacena archivos XML y no XML juntos en una sola entidad. Este archivo se compila a partir del formato AppX, que se basa en el estándar De convenciones de empaquetado abierto (OPC).

Para ver el contenido del archivo appv, realice una copia del paquete y cambie el nombre del archivo copiado a una extensión de .zip.

El archivo appv contiene la carpeta y los archivos siguientes, que se usan al crear y publicar una aplicación virtual:

Nombre Tipo Descripción
Raíz Carpeta de archivos Directorio que contiene el sistema de archivos de la aplicación virtualizada capturada durante la secuenciación.
[Content_Types].xml Archivo XML Lista de los tipos de contenido principales del archivo appv (por ejemplo, DLL, EXE, BIN).
AppxBlockMap.xml Archivo XML Diseño del archivo appv, que usa los elementos File, Block y BlockMap que habilitan la ubicación y validación de los archivos en el paquete de App-V.
AppxManifest.xml Archivo XML Metadatos del paquete que contiene la información necesaria para agregar, publicar e iniciar el paquete. Incluye puntos de extensión (asociaciones de tipos de archivo y accesos directos) y los nombres y GUID asociados al paquete.
FilesystemMetadata.xml Archivo XML Lista de los archivos capturados durante la secuenciación, incluidos los atributos (como directorios, archivos, directorios opacos, directorios vacíos y nombres largos y cortos).
PackageHistory.xml Archivo XML Información sobre el equipo de secuenciación (versión del sistema operativo, versión de Internet Explorer, versión de .Net Framework) y proceso (actualización, versión del paquete).
Registry.dat Archivo DAT Claves y valores del Registro capturados durante el proceso de secuenciación del paquete.
StreamMap.xml Archivo XML Lista de archivos para el bloque de características principal y de publicación. El bloque de características de publicación contiene los archivos ICO y las partes necesarias de los archivos (EXE y DLL) para publicar el paquete. Cuando está presente, el bloque de características principal incluye archivos que se han optimizado para el streaming durante el proceso de secuenciación.

Ubicaciones de almacenamiento de datos de cliente de App-V

El cliente de App-V realiza tareas para que las aplicaciones virtuales se ejecuten correctamente y funcionen como las aplicaciones instaladas localmente. El proceso de apertura y ejecución de aplicaciones virtuales requiere la asignación desde el sistema de archivos virtual y el registro para asegurarse de que la aplicación tiene los componentes necesarios de una aplicación tradicional esperada por los usuarios. En esta sección se describen los recursos necesarios para ejecutar aplicaciones virtuales y se muestra la ubicación donde App-V almacena los recursos.

Nombre Ubicación Descripción
Almacén de paquetes %ProgramData%\App-V Ubicación predeterminada para los archivos de paquete de solo lectura.
Catálogo de máquinas %ProgramData%\Microsoft\AppV\Client\Catalog Contiene documentos de configuración por máquina.
Catálogo de usuarios %AppData%\Microsoft\AppV\Client\Catalog Contiene documentos de configuración por usuario.
Copias de seguridad de accesos directos %AppData%\Microsoft\AppV\Client\Integration\ShortCutBackups Almacena puntos de integración anteriores que habilitan la restauración en el paquete sin publicar.
Copiar en itinerancia de escritura (COW) %AppData%\Microsoft\AppV\Client\VFS Ubicación móvil que se puede escribir para la modificación del paquete.
Copiar en escritura (COW) local %LocalAppData%\Microsoft\AppV\Client\VFS Ubicación no móvil que se puede escribir para la modificación del paquete.
Registro de máquina HKLM\Software\Microsoft\AppV Contiene información de estado del paquete, incluido VReg para la máquina o los paquetes publicados globalmente (Subárbol de la máquina).
Registro de usuarios HKCU\Software\Microsoft\AppV Contiene información de estado del paquete de usuario, incluido VReg.
Clases del Registro de usuario HKCU\Software\Classes\AppV Contiene más información de estado del paquete de usuario.

En la sección siguiente y en todo el documento se proporcionan más detalles de la tabla.

Almacén de paquetes

El cliente de App-V administra los recursos de aplicaciones montados en el almacén de paquetes. Esta ubicación de almacenamiento predeterminada es %ProgramData%\App-V, pero puede configurarla durante o después de la instalación mediante el cmdlet Set-AppVClientConfiguration Windows PowerShell, que modifica el registro local (valor PackageInstallationRoot en la clave HKLM\Software\Microsoft\AppV\Client\Streaming). El almacén de paquetes debe encontrarse en una ruta de acceso local en el sistema operativo cliente. Los paquetes individuales se almacenan en el almacén de paquetes en subdirectorios denominados con el GUID del paquete y el GUID de versión.

A continuación se muestra un ejemplo de una ruta de acceso a una aplicación específica:

C:\ProgramData\App-V\PackGUID\VersionGUID

Para cambiar la ubicación predeterminada del almacén de paquetes durante la instalación, consulte Habilitar el cliente de escritorio de App-V.

Almacén de contenido compartido

Si el cliente de App-V está configurado en modo almacén de contenido compartido, no se escribe ningún dato en el disco cuando se produce un error de secuencia, lo que significa que los paquetes requieren un espacio mínimo en disco local (publicación de datos). En entornos de VDI en los que el almacenamiento local se puede limitar, es importante usar el menor espacio posible en disco. Puede minimizar el uso del espacio en disco mediante el streaming de aplicaciones desde una ubicación de red de alto rendimiento (como una SAN). Para obtener más información, vea Almacén de contenido compartido en Microsoft App-V 5.0 - En segundo plano.

Nota

La máquina y el almacén de paquetes deben encontrarse en una unidad local, incluso cuando se usan configuraciones del Almacén de contenido compartido para el cliente de App-V.

Catálogos de paquetes

El cliente de App-V administra las siguientes ubicaciones basadas en archivos:

  • Catálogos (usuario y máquina).
  • Ubicaciones del Registro: depende de cómo se dirija el paquete a la publicación. Hay un catálogo (almacén de datos) para el equipo y un catálogo para cada usuario individual. El catálogo de máquinas almacena información global aplicable a todos los usuarios o a cualquier usuario específico, y el catálogo De usuarios almacena la información aplicable a un usuario específico. El catálogo es una colección de configuraciones dinámicas y archivos de manifiesto; hay datos discretos para el archivo y el registro por versión del paquete.

Catálogo de máquinas

Las ubicaciones descritas en esta tabla se pueden encontrar en la carpeta %programdata%\Microsoft\AppV\Client\Catalog\.

Ubicación
Descripción Almacena los documentos de paquete que están disponibles para los usuarios en el equipo cuando se agregan y publican paquetes. Sin embargo, si un paquete es "global" en tiempo de publicación, las integraciones están disponibles para todos los usuarios.

Si un paquete no es global, las integraciones solo se publican para usuarios específicos, pero todavía hay recursos globales que se modifican y son visibles para cualquier usuario del equipo cliente (por ejemplo, cuando el directorio del paquete está en una ubicación de disco compartido).

Si un paquete está disponible para un usuario en el equipo (global o no global), el manifiesto se almacena en el catálogo de máquinas. Cuando un paquete se publica globalmente, hay un archivo de configuración dinámica, almacenado en el catálogo de máquinas; por lo tanto, la determinación de si un paquete es global se define según si hay un archivo de directiva (archivo UserDeploymentConfiguration) en el catálogo de máquinas.
Ubicación de almacenamiento predeterminada %programdata%\Microsoft\AppV\Client\Catalog<br>
Esta ubicación no es la misma que la ubicación del Almacén de paquetes. El Almacén de paquetes es la copia dorada o prístina de los archivos del paquete.
Archivos del catálogo de máquinas - Manifest.xml
- DeploymentConfiguration.xml
- UserManifest.xml (paquete publicado globalmente)
- UserDeploymentConfiguration.xml (paquete publicado globalmente)
Ubicación de catálogo de máquinas adicional, que se usa cuando el paquete forma parte de un grupo de conexiones La siguiente ubicación se suma a la ubicación específica del paquete mencionada anteriormente como ubicación de almacenamiento predeterminada:

%programdata%\Microsoft\AppV\Client\Catalog\PackageGroups\ConGroupGUID\ConGroupVerGUID
Archivos adicionales en el catálogo de máquinas cuando el paquete forma parte de un grupo de conexiones - PackageGroupDescriptor.xml
- UserPackageGroupDescriptor.xml (grupo de conexiones publicado globalmente)

Catálogo de usuarios

Las ubicaciones descritas en esta tabla se pueden encontrar en la carpeta appdata\roaming\Microsoft\AppV\Client\Catalog\.

Ubicación
Descripción Creado durante el proceso de publicación. Contiene información que se usa para publicar el paquete y para asegurarse de que un paquete se aprovisiona a un usuario específico en el inicio. Se crea en una ubicación móvil e incluye información de publicación específica del usuario.

Cuando se publica un paquete para un usuario, el archivo de directiva se almacena en el Catálogo de usuarios. Al mismo tiempo, también se almacena una copia del manifiesto en el Catálogo de usuarios. Cuando se quita un derecho de paquete para un usuario, los archivos de paquete correspondientes se quitan del Catálogo de usuarios. Al examinar el catálogo de usuarios, un administrador puede ver la presencia de un archivo de configuración dinámica, lo que indica que el paquete tiene derecho para ese usuario.

Para los usuarios móviles, el Catálogo de usuarios debe estar en una ubicación móvil o compartida para conservar el comportamiento heredado de App-V de dirigirse a los usuarios de forma predeterminada. Los derechos y la directiva están asociados a un usuario, no a un equipo, por lo que deben ir con el usuario una vez aprovisionados.
Ubicación de almacenamiento predeterminada appdata\roaming\Microsoft\AppV\Client\Catalog\Packages\PkgGUID\VerGUID
Archivos en el catálogo de usuarios - UserManifest.xml
- DynamicConfiguration.xml o UserDeploymentConfiguration.xml
Ubicación de catálogo de usuarios adicional, que se usa cuando el paquete forma parte de un grupo de conexiones La siguiente ubicación se suma a la ubicación específica del paquete mencionada anteriormente:

appdata\roaming\Microsoft\AppV\Client\Catalog\PackageGroups\PkgGroupGUID\PkgGroupVerGUID
Archivo adicional en el catálogo de máquinas cuando el paquete forma parte de un grupo de conexiones UserPackageGroupDescriptor.xml

Copias de seguridad de acceso directo

Durante el proceso de publicación, el cliente de App-V realiza una copia de seguridad de los accesos directos y los puntos de integración en %AppData%\Microsoft\AppV\Client\Integration\ShortCutBackups. Esta copia de seguridad permite que los puntos de integración se restauren a las versiones anteriores cuando el paquete no se haya publicado.

Copiar en archivos de escritura

El Almacén de paquetes contiene una copia inmaculada de los archivos de paquete que se han transmitido desde el servidor de publicación. Durante el funcionamiento normal de una aplicación de App-V, el usuario o el servicio pueden requerir cambios en los archivos. Sin embargo, estos cambios no se realizan en el almacén de paquetes para conservar la capacidad de reparar la aplicación, lo que quita estos cambios. Estas ubicaciones, denominadas Copiar en escritura (COW), admiten ubicaciones móviles y no móviles. La ubicación en la que se almacenan las modificaciones depende de dónde se haya programado la aplicación para escribir los cambios en en una experiencia nativa.

Itinerancia de COW

La ubicación de COW Roaming descrita anteriormente almacena los cambios en archivos y directorios destinados a la ubicación típica %AppData% o \Users\<username>\AppData\Roaming location. A continuación, estos directorios y archivos se recorren en función de la configuración del sistema operativo.

COW local

La ubicación de COW Local es similar a la ubicación de itinerancia, pero los directorios y archivos no se mueven a otros equipos, incluso si se ha configurado la compatibilidad con itinerancia. La ubicación de COW Local descrita anteriormente almacena los cambios aplicables a las ventanas típicas y no a la ubicación %AppData%. Los directorios enumerados variarán, pero habrá dos ubicaciones para las ubicaciones típicas de Windows (por ejemplo, Common AppData y Common AppDataS). S indica la ubicación restringida cuando el servicio virtual solicita el cambio como un usuario con privilegios elevados diferente de los usuarios que han iniciado sesión. La ubicación que no es S almacena los cambios basados en el usuario.

Registro de paquetes

Antes de que una aplicación pueda acceder a los datos del Registro de paquetes, el cliente de App-V debe hacer que los datos del Registro de paquetes estén disponibles para las aplicaciones. El cliente de App-V usa el registro real como almacén de respaldo para todos los datos del Registro.

Cuando se agrega un nuevo paquete al cliente de App-V, una copia de REGISTRY. El archivo DAT del paquete se crea en %ProgramData%\Microsoft\AppV\Client\VREG{Version GUID}.dat. El nombre del archivo es el GUID de versión con . Extensión DAT. La razón por la que se realiza esta copia es asegurarse de que el archivo de Hive real del paquete nunca está en uso, lo que impediría la eliminación del paquete más adelante.

Registry.dat del Almacén de paquetes>%ProgramData%\Microsoft\AppV\Client\Vreg\{VersionGUID}.dat

Cuando se inicia la primera aplicación del paquete en el cliente, el cliente realiza o copia el contenido fuera del archivo de Hive y vuelve a crear los datos del Registro del paquete en una ubicación alternativa en HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\Packages\PackageGuid\Versions\VersionGUID\REGISTRY. Los datos del Registro almacenados provisionalmente tienen dos tipos distintos de datos de máquina y datos de usuario. Los datos de la máquina se comparten entre todos los usuarios de la máquina. Los datos de usuario se preconfigura para cada usuario en una ubicación específica del usuario HKCU\Software\Microsoft\AppV\Client\Packages\PackageGUID\Registry\User. Los datos de la máquina se quitan en última instancia en el momento de la eliminación del paquete y los datos de usuario se quitan en una operación de no publicación del usuario.

Almacenamiento provisional del registro de paquetes frente a almacenamiento provisional del registro de grupo de conexiones

Cuando hay grupos de conexión presentes, el proceso anterior de almacenamiento provisional del registro es true, pero en lugar de tener un archivo de Hive que procesar, hay más de uno. Los archivos se procesan en el orden en que aparecen en el xml del grupo de conexiones, con el primer escritor ganando cualquier conflicto.

El registro almacenado provisionalmente se conserva de la misma manera que en el caso del paquete único. Los datos del Registro de usuario almacenados provisionalmente permanecen para el grupo de conexiones hasta que se deshabilitan; Los datos del Registro de máquina preconfigurados se quitan en la eliminación del grupo de conexiones.

Registro virtual

El propósito del registro virtual (VREG) es proporcionar una única vista combinada del registro de paquetes y el registro nativo a las aplicaciones. También proporciona funcionalidad de copia en escritura (COW), es decir, los cambios realizados en el registro desde el contexto de un proceso virtual se realizan en una ubicación de COW independiente. Esta funcionalidad significa que el VREG debe combinar hasta tres ubicaciones del Registro independientes en una sola vista en función de las ubicaciones rellenadas en elpaquete> COW >del registronativo. Cuando se realiza una solicitud para los datos del Registro, se buscará en orden hasta que encuentre los datos que estaba solicitando. Lo que significa que si hay un valor almacenado en una ubicación de COW, no pasará a otras ubicaciones, pero si no hay datos en la ubicación cow, pasará al paquete y, a continuación, a la ubicación nativa hasta que encuentre los datos adecuados.

Ubicaciones del Registro

Hay dos ubicaciones del Registro de paquetes y dos ubicaciones de grupo de conexiones donde el cliente de App-V almacena información del Registro, en función de si el paquete se publica individualmente o como parte de un grupo de conexiones. Hay tres ubicaciones COW para los paquetes y tres para los grupos de conexiones, que se crean y administran mediante VREG. La configuración de paquetes y grupos de conexiones no se comparte:

VReg de paquete único

Los registros de la tabla siguiente se encuentran en la carpeta Registry\Client\Packages\PkgGUID\.

Ubicación Descripción
VACA - Machine Registry\Client\Packages\PkgGUID\REGISTRY (solo se puede escribir el proceso de elevación)
- User Registry\Client\Packages\PkgGUID\REGISTRY (User Roaming anything written under HKCU except Software\Classes
- User Registry Classes\Client\Packages\PkgGUID\REGISTRY (HKCU\Software\Classes writes y HKLM para procesos sin privilegios elevados)
Paquete - Machine Registry\Client\Packages\PkgGUID\Versions\VerGuid\Registry\Machine
- Clases del Registro de usuarios\Client\Packages\PkgGUID\Versions\VerGUID\Registry
Nativo - Ubicación nativa del Registro de aplicaciones

VReg del grupo de conexiones

Los registros de la tabla siguiente se encuentran en las carpetas Machine Registry\Client\PackageGroups\GrpGUID\ y User Registry Classes\Client\PackageGroups\GrpGUID\.

Ubicación Descripción
VACA - Machine Registry\Client\PackageGroups\GrpGUID\REGISTRY (solo el proceso de elevación puede escribir)
- User Registry\Client\PackageGroups\GrpGUID\REGISTRY (cualquier cosa escrita en HKCU excepto Software\Classes)
- Clases del Registro de usuarios\Client\PackageGroups\GrpGUID\REGISTRY
Paquete - Machine Registry\Client\PackageGroups\GrpGUID\Versions\VerGUID\REGISTRY
- Clases del Registro de usuarios\Client\PackageGroups\GrpGUID\Versions\VerGUID\REGISTRY
Nativo - Ubicación nativa del Registro de aplicaciones

Hay dos ubicaciones COW para HKLM: procesos elevados y no elevados. Los procesos con privilegios elevados siempre escriben cambios HKLM en la VACA segura en HKLM. Los procesos sin privilegios elevados siempre escriben cambios HKLM en LA VACA no segura en HKCU\Software\Classes. Cuando una aplicación lee los cambios de HKLM, los procesos elevados leerán los cambios de la VACA segura en HKLM. Lecturas no elevadas de ambas, favorecidas primero por los cambios realizados en la VACA no segura.

Claves de paso a través

Un administrador puede usar claves de paso a través para configurar ciertas claves para que solo se lean desde el registro nativo, omitiendo las ubicaciones Package y COW. Las ubicaciones de paso a través son globales para la máquina (no específicas del paquete) y se pueden configurar agregando la ruta de acceso a la clave, que debe tratarse como paso a través del valor REG_MULTI_SZ denominado PassThroughPaths de la clave HKLM\Software\Microsoft\AppV\Subsystem\VirtualRegistry. Cualquier clave que aparezca bajo este valor de cadena múltiple (y sus elementos secundarios) se tratará como paso a través.

Las siguientes ubicaciones se configuran como ubicaciones de paso a través de forma predeterminada:

  • HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel

  • HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\Autologger

  • HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib

  • HKEY_LOCAL_MACHINE\SOFTWARE\Policies

  • HKEY_CURRENT_USER\SOFTWARE\Policies

El propósito de las claves de paso a través es asegurarse de que una aplicación virtual no escribe datos del Registro en el VReg necesarios para aplicaciones no virtuales para una operación o integración correctas. La clave Directivas garantiza que se utilice la configuración basada en directiva de grupo establecida por el administrador y no por la configuración del paquete. La clave AppModel es necesaria para la integración con aplicaciones basadas en la interfaz de usuario moderna de Windows. Lo ideal es que los administradores no modifiquen ninguna de las claves de paso a través predeterminadas, pero en algunos casos, es posible que el administrador tenga que agregar más claves de paso a través para ajustar el comportamiento de la aplicación.

Comportamiento del almacén de paquetes de App-V

App-V administra el Almacén de paquetes, que es la ubicación donde se almacenan los archivos de recursos expandidos del archivo appv. De forma predeterminada, esta ubicación se almacena en %ProgramData%\App-V y está limitada en términos de capacidades de almacenamiento solo por espacio libre en disco. Los GUID organizan el almacén de paquetes para el paquete y la versión, como se mencionó en la sección anterior.

Agregar paquetes

Los paquetes de App-V se almacenan provisionalmente tras la adición al equipo con el cliente de App-V. El cliente de App-V proporciona almacenamiento provisional a petición. Al publicar o escribir manualmente el cmdlet Add-AppVClientPackage , la estructura de datos se compila en el almacén de paquetes (C:\programdata\App-V\{PkgGUID}\{VerGUID}). Los archivos de paquete identificados en el bloque de publicación definido en el archivo StreamMap.xml se agregan al sistema y las carpetas de nivel superior y los archivos secundarios se almacenan provisionalmente para asegurarse de que existen recursos de aplicación adecuados en el inicio.

Paquetes de montaje

Los paquetes se pueden cargar explícitamente escribiendo el cmdlet Mount-AppVClientPackage de PowerShell o mediante la interfaz de usuario de cliente de App-V para descargar un paquete. Esta operación carga por completo todo el paquete en el almacén de paquetes.

Paquetes de streaming

El cliente de App-V se puede configurar para cambiar el comportamiento predeterminado de streaming. Todas las directivas de streaming se almacenan en la siguiente clave del Registro: HKEY_LOCAL_MACHINE\Software\Microsoft\AppV\Client\Streaming. Las directivas se establecen escribiendo el cmdlet Set-AppvClientConfiguration de PowerShell. Las directivas siguientes se aplican al streaming:

Directiva Descripción
AllowHighCostLaunch Permite el streaming a través de redes 3G y móviles
Autoload Especifica la configuración De carga en segundo plano:
0 – Deshabilitada
1: solo paquetes usados anteriormente
2: Todos los paquetes
PackageInstallationRoot La carpeta raíz del almacén de paquetes en el equipo local
PackageSourceRoot Invalidación raíz desde la que se deben transmitir paquetes
SharedContentStoreMode Habilita el uso del Almacén de contenido compartido para escenarios de VDI

Esta configuración afecta al comportamiento de transmisión de recursos de paquetes de App-V al cliente. De forma predeterminada, App-V solo descarga los recursos necesarios después de descargar los bloques de características principal y de publicación iniciales. Hay tres comportamientos específicos en los paquetes de streaming que son importantes para comprender:

  • Streaming en segundo plano
  • Streaming optimizado
  • errores de Stream

Streaming en segundo plano

El cmdlet Windows PowerShell Get-AppvClientConfiguration se puede usar para determinar el modo actual de streaming en segundo plano con la configuración AutoLoad y modificarse con el cmdlet Set-AppvClientConfiguration o desde el Registro (HKLM\SOFTWARE\Microsoft\AppV\ClientStreaming key). El streaming en segundo plano es una configuración predeterminada en la que la configuración De carga automática está establecida para descargar los paquetes usados anteriormente. El comportamiento basado en la configuración predeterminada (value=1) descarga los bloques de datos de App-V en segundo plano después de iniciar la aplicación. Esta configuración se puede deshabilitar por completo (value=0) o habilitarse para todos los paquetes (value=2), independientemente de si se han iniciado.

Streaming optimizado

Los paquetes de App-V se pueden configurar con un bloque de características principal durante la secuenciación. Esta configuración permite al ingeniero de secuenciación supervisar los archivos de inicio de una aplicación o aplicaciones específicas y marcar los bloques de datos del paquete de App-V para el streaming en el primer inicio de cualquier aplicación del paquete.

Stream errores

Después de la secuencia inicial de los datos de publicación y el bloque de características principal, las solicitudes de más archivos realizan errores de secuencia. Estos bloques de datos se descargan en el almacén de paquetes según sea necesario. Esta flexibilidad permite a un usuario descargar solo una pequeña parte del paquete, normalmente suficiente para iniciar el paquete y ejecutar tareas normales. Todos los demás bloques se descargan cuando un usuario inicia una operación que requiere datos que no están actualmente en el almacén de paquetes.

Actualizaciones de paquetes

Los paquetes de App-V requieren la actualización durante todo el ciclo de vida de la aplicación. Las actualizaciones del paquete de App-V son como la operación de publicación de paquetes, ya que cada versión se creará en su propia ubicación PackageRoot: %ProgramData%\App-V{PkgGUID}{newVerGUID}. La operación de actualización se optimiza mediante la creación de vínculos duros a archivos idénticos y transmitidos desde otras versiones del mismo paquete.

Eliminación de paquetes

El comportamiento del cliente de App-V cuando se quitan los paquetes depende del método de eliminación de paquetes. Con una infraestructura completa de App-V para anular la publicación de la aplicación, se quitan los archivos de catálogo de usuarios (catálogo de máquinas para aplicaciones publicadas globalmente), pero la ubicación del almacén de paquetes y las ubicaciones de COW permanecen. Cuando se usa el cmdlet Remove-AppVClientPackge Windows PowerShell para quitar un paquete de App-V, se limpia la ubicación del almacén de paquetes. Recuerde que la eliminación de la publicación de un paquete de App-V desde el servidor de administración no realiza una operación de eliminación. Ninguna operación quitará los archivos de paquete del Almacén de paquetes.

Registro y datos móviles

App-V puede proporcionar una experiencia casi nativa en itinerancia, en función de cómo se escriba la aplicación que se usa. De forma predeterminada, App-V recorre AppData almacenado en la ubicación móvil, en función de la configuración móvil del sistema operativo. Otras ubicaciones para el almacenamiento de datos basados en archivos no se mueven de un equipo a otro, ya que están en ubicaciones que no se mueven.

Requisitos de itinerancia y almacenamiento de datos del catálogo de usuarios

App-V almacena datos, que representan el estado del catálogo del usuario, en forma de:

  • Archivos en %appdata%\Microsoft\AppV\Client\Catalog
  • Configuración del Registro en HKEY_CURRENT_USER\Software\Microsoft\AppV\Client\Packages

Juntos, estos archivos y la configuración del Registro representan el catálogo del usuario, por lo que ambos deben recorrerse o ninguno debe recorrerse para un usuario determinado. App-V no admite la itinerancia %AppData%, pero no itinerancia del perfil del usuario (registro) ni viceversa.

Nota

El cmdlet Repair-AppvClientPackage no repara el estado de publicación de los paquetes en los que falta el estado de App-V del usuario en HKEY_CURRENT_USER o no coincide con los datos de %appdata%.

Datos basados en el Registro

La itinerancia del Registro de App-V se divide en dos escenarios, como se muestra en la tabla siguiente.

Escenario Descripción
Aplicaciones que se ejecutan como usuarios estándar Cuando un usuario estándar inicia una aplicación de App-V, las aplicaciones HKLM y HKCU para App-V se almacenan en el subárbol HKCU de la máquina. Este escenario presenta dos rutas de acceso distintas:

- La ubicación de HKLM es HKCU\SOFTWARE\Classes\AppV\Client\Packages\{PkgGUID}\REGISTRY\MACHINE\SOFTWARE
- La ubicación de HKCU es HKCU\SOFTWARE\Microsoft\AppV\Client\Packages\{PkgGUID}\REGISTRY\USER\{UserSID}\SOFTWARE

Las ubicaciones están habilitadas para la itinerancia en función de la configuración del sistema operativo.
Aplicaciones que se ejecutan con elevación Cuando se inicia una aplicación con elevación:

- Los datos HKLM se almacenan en el subárbol HKLM en el equipo local.
- Los datos HKCU se almacenan en la ubicación del Registro de usuarios

En este escenario, esta configuración no se mueve con configuraciones móviles normales del sistema operativo y las claves y valores del Registro resultantes se almacenan en las siguientes ubicaciones:

- La ubicación de HKLM es HKLM\SOFTWARE\Microsoft\AppV\Client\Packages\{PkgGUID}\{UserSID}\REGISTRY\MACHINE\SOFTWARE
- La ubicación de HKCU es HKCU\SOFTWARE\Microsoft\AppV\Client\Packages\{PkgGUID}\Registry\User\{UserSID}\SOFTWARE

App-V y redirección de carpetas

App-V admite el redireccionamiento de carpetas de la carpeta AppData móvil (%AppData%). Cuando se inicia el entorno virtual, el estado de AppData móvil del directorio appData móvil del usuario se copia en la caché local. Por el contrario, cuando se cierra el entorno virtual, la memoria caché local asociada a appData móvil de un usuario específico se transfiere a la ubicación real del directorio AppData móvil de ese usuario.

Un paquete típico tiene varias ubicaciones asignadas en el almacén de respaldo del usuario para la configuración de AppData\Local y AppData\Roaming. Estas ubicaciones son las ubicaciones de copia en escritura que se almacenan por usuario en el perfil del usuario y que se usan para almacenar los cambios realizados en los directorios vfs del paquete y para proteger el vfs del paquete predeterminado.

En la tabla siguiente se muestran las ubicaciones locales y móviles cuando no se ha implementado el redireccionamiento de carpetas.

Directorio VFS en el paquete Ubicación asignada del almacén de respaldo
ProgramFilesX86 C:\Users\Local\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\ProgramFilesX86
SystemX86 C:\Users\username\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\SystemX86
Windows C:\Users\username\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\Windows
appv_ROOT C:\Users\username\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\appv_ROOT
Appdata C:\Users\username\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\AppData

En la tabla siguiente se muestran las ubicaciones locales y móviles cuando se ha implementado el redireccionamiento de carpetas para %AppData% y se ha redirigido la ubicación (normalmente a una ubicación de red).

Directorio VFS en el paquete Ubicación asignada del almacén de respaldo
ProgramFilesX86 C:\Users\Local\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\ProgramFilesX86
SystemX86 C:\Users\Local\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\SystemX86
Windows C:\Users\Local\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\Windows
appv_ROOT C:\Users\Local\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\appv_ROOT
Appdata \Fileserver\users\Local\roaming\Microsoft\AppV\Client\VFS\<GUID>\AppData

El controlador VFS de cliente de App-V actual no puede escribir en ubicaciones de red, por lo que el cliente de App-V detecta la presencia del redireccionamiento de carpetas y copia los datos en la unidad local durante la publicación y cuando se inicia el entorno virtual. Una vez que el usuario cierra la aplicación App-V y el cliente de App-V cierra el entorno virtual, el almacenamiento local de VFS AppData se copia de nuevo en la red, lo que permite la itinerancia a más máquinas, donde se repetirá el proceso. Esto es lo que ocurre durante el proceso:

  1. Durante la publicación o el inicio del entorno virtual, el cliente de App-V detecta la ubicación del directorio AppData.
  2. Si la ruta de acceso móvil de AppData es local o no se asigna ninguna ubicación de AppData\Roaming, no ocurre nada.
  3. Si la ruta de acceso móvil de AppData no es local, el directorio VFS AppData se asigna al directorio AppData local.

Este proceso resuelve el problema de un %AppData% no local que no es compatible con el controlador VFS de cliente de App-V. Sin embargo, los datos almacenados en esta nueva ubicación no se mueven con el redireccionamiento de carpetas. Todos los cambios durante la ejecución de la aplicación se producen en la ubicación local de AppData y se deben copiar en la ubicación redirigida. El proceso hace lo siguiente:

  1. Apaga la aplicación de App-V, que también apaga el entorno virtual.
  2. Comprime la caché local de la ubicación móvil de AppData y la almacena en un archivo .zip.
  3. Usa la marca de tiempo al final del proceso de empaquetado de .zip para asignar el nombre al archivo.
  4. Registra la marca de tiempo en el registro GUID>\AppDataTime de HKEY_CURRENT_USER\Software\Microsoft\AppV\Client\Packages\<como la última marca de tiempo de AppData conocida.
  5. Llama al proceso de redireccionamiento de carpetas para evaluar e iniciar el archivo .zip cargado en el directorio AppData móvil.

La marca de tiempo se usa para determinar un escenario de "el último escritor gana" si hay un conflicto y se usa para optimizar la descarga de los datos cuando se publica la aplicación de App-V o se inicia el entorno virtual. El redireccionamiento de carpetas hará que los datos estén disponibles desde cualquier otro cliente cubierto por la directiva auxiliar e iniciará el proceso de almacenamiento de los datos de AppData\Roaming en la ubicación local de AppData en el cliente. Esto es lo que ocurre durante el proceso:

  1. El usuario inicia una aplicación, que también inicia el entorno virtual.
  2. El entorno virtual de la aplicación comprueba si el archivo de .zip marca de tiempo más reciente, si está presente.
  3. El entorno virtual comprueba el registro de la última marca de tiempo cargada conocida, si está presente.
  4. El entorno virtual descarga el archivo de .zip más reciente a menos que la marca de tiempo de carga conocida local sea mayor o igual que la marca de tiempo del archivo .zip.
  5. Si la marca de tiempo de carga conocida local es anterior a la del archivo de .zip más reciente en la ubicación móvil de AppData, el entorno virtual extrae el archivo .zip en el directorio temporal local del perfil del usuario.
  6. Una vez que el archivo .zip se extrae correctamente, se cambia el nombre de la caché local del directorio AppData móvil y se mueven los nuevos datos a su lugar.
  7. El directorio cuyo nombre se ha cambiado se elimina y la aplicación se abre con los datos móviles de AppData guardados más recientemente.

Este proceso completa la itinerancia correcta de la configuración de la aplicación que está presente en las ubicaciones AppData\Roaming. La única otra condición que se debe abordar es una operación de reparación de paquetes. El proceso hace lo siguiente:

  1. Durante la reparación, detecta si la ruta de acceso al directorio AppData móvil del usuario no es local.
  2. Asigna los destinos de ruta de acceso de AppData móviles no locales, lo que recrea las ubicaciones de AppData locales y móviles esperadas.
  3. Elimina la marca de tiempo almacenada en el Registro, si está presente.

Este proceso volverá a crear las ubicaciones locales y de red de AppData y quitará el registro de la marca de tiempo.

Administración del ciclo de vida de la aplicación cliente de App-V

En una infraestructura completa de App-V, una vez secuenciadas las aplicaciones, se administran y publican en usuarios o equipos a través de los servidores de administración y publicación de App-V. En esta sección se detallan las operaciones que se producen durante las operaciones comunes del ciclo de vida de la aplicación de App-V (agregar, publicar, iniciar, actualizar y eliminar) y las ubicaciones de archivo y registro que se cambian y modifican desde la perspectiva del cliente de App-V. Las operaciones de cliente de App-V se introducen como comandos de PowerShell en el equipo que ejecuta el cliente de App-V.

Este documento se centra en las soluciones de infraestructura completa de App-V. Para obtener información específica sobre la integración de App-V con Microsoft Configuration Manager, consulte Implementación de aplicaciones virtuales de App-V con Configuration Manager.

Las tareas del ciclo de vida de la aplicación de App-V se desencadenan al iniciar sesión del usuario (valor predeterminado), iniciar la máquina o como operaciones con tiempo en segundo plano. La configuración de las operaciones de cliente de App-V, incluidos los servidores de publicación, los intervalos de actualización, la habilitación de scripts de paquete, etc., se configura (una vez habilitado el cliente) con Windows PowerShell comandos. Consulte Configuración de cliente de App-V: Windows PowerShell.

Actualización de publicación

El proceso de actualización de publicación consta de varias operaciones más pequeñas que se realizan en el cliente de App-V. Dado que App-V es una tecnología de virtualización de aplicaciones y no una tecnología de programación de tareas, el Programador de tareas de Windows se usa para habilitar el proceso cuando el usuario inicia sesión, la máquina se activa y a intervalos programados. La configuración del cliente durante la instalación que se muestra en la sección anterior es el método preferido al distribuir el cliente a un grupo grande de equipos con la configuración correcta. Esta configuración de cliente se puede configurar con los siguientes cmdlets de Windows PowerShell:

  • Add-AppVPublishingServer configura el cliente con un servidor de publicación de App-V que proporciona paquetes de App-V.
  • Set-AppVPublishingServer modifica la configuración actual del servidor de publicación de App-V.
  • Set-AppVClientConfiguration modifica la configuración actual del cliente de App-V.
  • Sync-AppVPublishingServer inicia un proceso de actualización de publicación de App-V manualmente. Este proceso también se utiliza en las tareas programadas creadas durante la configuración del servidor de publicación.

En las secciones siguientes se detallará lo que sucede durante el proceso de actualización de publicación.

Adición de un paquete de App-V

Agregar un paquete de App-V al cliente es el primer paso del proceso de actualización de publicación. El resultado final es el mismo que el cmdlet Add-AppVClientPackage en Windows PowerShell, excepto que el proceso de adición de actualización de publicación se pone en contacto con el servidor de publicación configurado y pasa una lista de alto nivel de aplicaciones al cliente para extraer información más detallada, en lugar de simplemente realizar una sola operación de adición de paquetes.

A continuación, el proceso configura el cliente para las adiciones o actualizaciones de paquetes o grupos de conexiones y, a continuación, accede al archivo appv. A continuación, el contenido del archivo appv se expande y se coloca en el sistema operativo local en las ubicaciones adecuadas. Los pasos siguientes son un flujo de trabajo detallado del proceso, suponiendo que el paquete está configurado para Fault Streaming.

Cómo agregar un paquete de App-V

  1. Inicie la instalación manualmente mediante Windows PowerShell o secuencia de tareas iniciando el proceso de actualización de publicación.

    1. El cliente de App-V realiza una conexión HTTP y solicita una lista de aplicaciones basada en el destino. El proceso de actualización de publicación admite la selección de equipos o usuarios de destino.

    2. El servidor de publicación de App-V usa la identidad del destino inicial, el usuario o la máquina, y consulta la base de datos para obtener una lista de las aplicaciones autorizadas. La lista de aplicaciones se proporciona como una respuesta XML, que el cliente usa para enviar más solicitudes al servidor para obtener más información por paquete.

  2. El Agente de publicación en el cliente de App-V evaluará los grupos de conexiones que no se publiquen o deshabiliten, ya que no se pueden procesar las actualizaciones de la versión del paquete que forman parte del grupo de conexiones.

  3. Configure los paquetes mediante la identificación de las operaciones Agregar o Actualizar .

    1. El cliente de App-V usa la API de AppX desde Windows y accede al archivo appv desde el servidor de publicación.

    2. Se abre el archivo de paquete y los archivos AppXManifest.xml y StreamMap.xml se descargan en el Almacén de paquetes.

    3. Transmitir por completo los datos del bloque de publicación definidos en el archivo StreamMap.xml . Los datos de bloque de publicación se almacenan en El almacén de paquetes\PkgGUID\VerGUID\Root.

      • Iconos: destinos de puntos de extensión.
      • Encabezados ejecutables portátiles (encabezados PE): destinos de puntos de extensión que contienen la información base sobre la imagen necesaria en el disco, a los que se accede directamente o a través de tipos de archivo.
      • Scripts: descargue el directorio scripts para usarlo a lo largo del proceso de publicación.
    4. Rellene el almacén de paquetes realizando los siguientes pasos secundarios:

      1. Create archivos dispersos en el disco que representan el paquete extraído para los directorios enumerados.

      2. Almacenar en fase los archivos y directorios de nivel superior en la raíz.

        Todos los demás archivos se crean cuando el directorio aparece como disperso en el disco y se transmite a petición.

    5. Create las entradas del catálogo de máquinas. Create los archivos Manifest.xml y DeploymentConfiguration.xml de los archivos de paquete (si no se crea ningún archivo DeploymentConfiguration.xml en el paquete, se crea un marcador de posición).

    6. Create ubicación del almacén de paquetes en el registro HKLM\Software\Microsoft\AppV\Client\Packages\PkgGUID\Versions\VerGUID\Catalog.

    7. Create el archivo Registry.dat del almacén de paquetes a %ProgramData%\Microsoft\AppV\Client\VReg\{VersionGUID}.dat.

    8. Registre el paquete con el controlador de modo kernel de App-V en HKLM\Microsoft\Software\AppV\MAV.

    9. Invoque el scripting desde el archivo AppxManifest.xml o DeploymentConfig.xml para el tiempo de agregar paquete.

  4. Configure la Grupos de conexión agregando y habilitando o deshabilitando.

  5. Quite los objetos que no se publican en el destino (usuario o equipo).

    Nota

    Esto no realizará una eliminación de paquetes, sino que quitará puntos de integración para el destino específico (usuario o equipo) y quitará archivos de catálogo de usuarios (archivos de catálogo de máquinas para publicación global).

  6. Invoque el montaje de carga en segundo plano en función de la configuración del cliente.

  7. Los paquetes que ya tienen información de publicación para la máquina o el usuario se restauran inmediatamente.

    Nota

    Esta condición se produce como un producto de eliminación sin publicar con la adición en segundo plano del paquete.

Este proceso completa un paquete de App-V agregado para el proceso de actualización de publicación. El siguiente paso es publicar el paquete en un destino específico (equipo o usuario).

Agregar archivos y datos del Registro del paquete.

Agregar archivos y datos del Registro del paquete

Publicación de un paquete de App-V

Durante la operación de actualización de publicación, la operación de publicación específica, Publish-AppVClientPackage, agrega entradas al catálogo de usuarios, asigna derechos al usuario, identifica el almacén local y finaliza completando los pasos de integración.

Publicación de un paquete de App-V

  1. Las entradas del paquete se agregan al catálogo de usuarios

    1. Paquetes de destino de usuario: los archivos UserDeploymentConfiguration.xml y UserManifest.xml se colocan en la máquina en el Catálogo de usuarios.

    2. Paquetes de destino de máquina (global): el UserDeploymentConfiguration.xml se coloca en el catálogo de máquinas.

  2. Registre el paquete con el controlador de modo kernel para el usuario en HKLM\Software\Microsoft\AppV\MAV.

  3. Realice tareas de integración.

    1. Create puntos de extensión.

    2. Almacene la información de copia de seguridad en el registro del usuario y el perfil móvil (copias de seguridad de acceso directo).

      Nota

      Esto habilita los puntos de extensión de restauración si el paquete no está publicado.

    3. Ejecute scripts destinados a la temporización de publicación.

La publicación de un paquete de App-V que forma parte de un grupo de conexiones es similar al proceso anterior. En el caso de los grupos de conexiones, la ruta de acceso que almacena la información de catálogo específica incluye PackageGroups como elemento secundario del directorio de catálogo. Revise la información del catálogo de usuarios y máquinas de las secciones anteriores para obtener más información.

agregar archivos y datos del Registro: globales.

Agregar paquete de datos de archivo y registro: global

Inicio de la aplicación

Después del proceso de actualización de publicación, el usuario inicia y, a continuación, vuelve a iniciar una aplicación de App-V. El cliente de App-V comprueba la ruta de acceso al catálogo de usuarios en busca de archivos creados durante la publicación. Después de establecer los derechos para iniciar el paquete, el cliente de App-V crea un entorno virtual, comienza a transmitir los datos necesarios y aplica los archivos de configuración de manifiesto e implementación adecuados durante la creación del entorno virtual. Una vez creado y configurado el entorno virtual para el paquete y la aplicación específicos, se inicia la aplicación. Esto puede parecer mucho, pero el proceso en acción es rápido y está optimizado para minimizar el tráfico de red.

Cómo iniciar aplicaciones de App-V

  1. El usuario inicia la aplicación seleccionando un acceso directo o una invocación de tipo de archivo.

  2. El cliente de App-V comprueba la existencia en el catálogo de usuarios de los siguientes archivos.

    • UserDeploymentConfiguration.xml
    • UserManifest.xml
  3. Si los archivos están presentes, la aplicación tiene derecho a ese usuario específico y la aplicación iniciará el proceso de inicio. No hay tráfico de red en este momento.

  4. A continuación, el cliente de App-V comprueba que la ruta de acceso del paquete registrado para el servicio cliente de App-V se encuentra en el Registro.

  5. Tras buscar la ruta de acceso al almacén de paquetes, se crea el entorno virtual.

    Si la ejecución de este proceso es el primer inicio, el bloque de características principal se descarga si está presente.

  6. Después de la descarga, el servicio cliente de App-V consume los archivos de configuración de manifiesto e implementación para configurar el entorno virtual y se cargan todos los subsistemas de App-V.

  7. Se inicia la aplicación. En el caso de los archivos que falten en el almacén de paquetes (archivos dispersos), App-V transmitirá los archivos de error según sea necesario.

    package add file and Registry data ( agregar archivos y datos del Registro: stream).

    Agregar archivos y datos del Registro del paquete: flujo

Actualización de un paquete de App-V

La versión actual del proceso de actualización de paquetes de App-V difiere de las versiones anteriores en su optimización de almacenamiento. App-V admite varias versiones del mismo paquete en una máquina con derecho a usuarios diferentes. Las versiones del paquete se pueden agregar en cualquier momento, ya que el almacén de paquetes y los catálogos se actualizan con los nuevos recursos. Durante una actualización en la nueva versión, solo se agregan nuevos archivos a la nueva ubicación del almacén de versiones y se crean vínculos duros para los archivos sin cambios. Estos resultados reducen el almacenamiento general al presentar solo el archivo en una ubicación de disco y, a continuación, proyectarlo en todas las carpetas con una entrada de ubicación de archivo en el disco.

Actualización de un paquete de App-V

  1. El cliente de App-V realiza una actualización de publicación y detecta una versión más reciente de un paquete de App-V.

  2. Las entradas del paquete se agregan al catálogo adecuado para la nueva versión.

    1. Paquetes de destino de usuario: los archivos UserDeploymentConfiguration.xml y UserManifest.xml se colocan en la máquina del catálogo de usuarios en appdata\roaming\Microsoft\AppV\Client\Catalog\Packages\PkgGUID\VerGUID.

    2. Paquetes de destino de máquina (global): el UserDeploymentConfiguration.xml se coloca en el catálogo de máquinas en %programdata%\Microsoft\AppV\Client\Catalog\Packages\PkgGUID\VerGUID.

  3. Registre el paquete con el controlador de modo kernel para el usuario en HKLM\Software\Microsoft\AppV\MAV.

  4. Realice tareas de integración.

    1. Integre puntos de extensiones (EP) desde los archivos de manifiesto y configuración dinámica.

    2. Los datos ep basados en archivos se almacenan en la carpeta AppData mediante puntos de unión del almacén de paquetes.

    3. Las direcciones IP de la versión 1 ya existen cuando está disponible una nueva versión.

    4. Los puntos de extensión se cambian a la ubicación de la versión 2 en los catálogos de equipos o usuarios para cualquier punto de extensión más reciente o actualizado.

  5. Ejecute scripts destinados a la temporización de publicación.

  6. Instale ensamblados en paralelo según sea necesario.

Actualización de un paquete de App-V en uso

Si intenta actualizar un paquete que está actualmente en uso, la tarea de actualización se coloca en un estado pendiente. La actualización se ejecutará más adelante, según las reglas siguientes:

Tipo de tarea Regla aplicable
Tareas basadas en el usuario, como publicar un paquete en un usuario La tarea pendiente se realizará después de que el usuario cierre la sesión y vuelva a iniciar sesión.
Tareas basadas globalmente, como habilitar un grupo de conexiones globalmente La tarea pendiente se realizará cuando el equipo se apague y, a continuación, se reinicie.

Cuando una tarea se coloca en un estado pendiente, el cliente de App-V también genera una clave del Registro para la tarea pendiente, como se indica a continuación:

Tarea basada en el usuario o globalmente Dónde se genera la clave del Registro
Tareas basadas en el usuario HKEY_CURRENT_USER\Software\Microsoft\AppV\Client\PendingTasks
Tareas basadas globalmente HKEY_LOCAL_MACHINE\Software\Microsoft\AppV\Client\PendingTasks

Las siguientes operaciones deben completarse para que los usuarios puedan usar la versión más reciente del paquete:

Tarea Detalles
Agregar el paquete al equipo Esta tarea es específica del equipo y puede realizarla en cualquier momento completando los pasos descritos en Cómo agregar un paquete de App-V.
Publicación del paquete Consulte la sección Publicación de paquetes anterior para ver los pasos. Este proceso requiere que actualice los puntos de extensión en el sistema. No puede completar esta tarea mientras la aplicación está en uso.

Use los escenarios de ejemplo siguientes como guía para actualizar paquetes.

Escenario Requisitos
El paquete de App-V no está en uso al intentar actualizar Ninguno de los siguientes componentes del paquete puede estar en uso: aplicación virtual, servidor COM o extensiones de shell.

El administrador publica una versión más reciente del paquete y la actualización funciona la próxima vez que se inicia un componente o aplicación dentro del paquete. La nueva versión del paquete se transmite y se ejecuta.
El paquete de App-V está en uso cuando el administrador publica una versión más reciente del paquete. El cliente de App-V establece la operación en "pendiente", lo que significa que está en cola y se llevará a cabo más adelante cuando el paquete no esté en uso.

Si la aplicación de paquete está en uso, el usuario cierra la aplicación virtual, después de lo cual puede producirse la actualización.

Si el paquete tiene extensiones de shell, que el Explorador de Windows carga permanentemente, el usuario no podrá iniciar sesión. Los usuarios deben cerrar la sesión y, a continuación, volver a iniciar sesión para iniciar la actualización del paquete de App-V.

Publicación global frente a la publicación de usuarios

Los paquetes de App-V se pueden publicar de dos maneras; como usuario, que da derecho a un paquete de App-V a un usuario o grupo de usuarios específico, o como global, lo que da derecho al paquete de App-V a toda la máquina para todos los usuarios de la máquina. Una vez que se ha pended una actualización del paquete y el paquete de App-V no está en uso, tenga en cuenta los dos tipos de publicación:

  • La publicación global es cuando la aplicación se publica en una máquina; todos los usuarios de esa máquina pueden usarlo. La actualización se producirá cuando se inicie el servicio cliente de App-V, lo que significa de forma eficaz un reinicio de la máquina.
  • La publicación de usuarios es cuando la aplicación se publica en un usuario. Si hay varios usuarios en la máquina, la aplicación se puede publicar en un subconjunto de los usuarios. La actualización se producirá cuando el usuario inicie sesión o cuando se publique de nuevo (periódicamente, ConfigMgr actualización y evaluación de directivas, o una publicación o actualización periódicas de App-V o explícitamente a través de comandos de Windows PowerShell).

Eliminación de un paquete de App-V

Quitar aplicaciones de App-V en una infraestructura completa es una operación de no publicación y no realiza una eliminación de paquetes. El proceso es el mismo que el proceso de publicación anterior, pero en lugar de agregar el proceso de eliminación, invierte los cambios realizados para los paquetes de App-V.

Reparación de un paquete de App-V

La operación de reparación es fácil de realizar, pero puede afectar a muchas ubicaciones de la máquina. Se quitan las ubicaciones de copia en escritura (COW) mencionadas anteriormente y los puntos de extensión se desintegran y, a continuación, se redistribuyen. Antes de reparar, revise dónde están registradas las ubicaciones de colocación de datos COW en el registro. Para realizar una operación de reparación, todo lo que debe hacer es iniciarla desde la consola de cliente de App-V o a través del cmdlet Repair-AppVClientPackage de PowerShell. Después de eso, la operación se completa automáticamente.

Integración de paquetes de App-V

El cliente de App-V y la arquitectura de paquetes proporcionan una integración específica con el sistema operativo local durante la adición y publicación de paquetes. Tres archivos definen los puntos de integración o extensión de un paquete de App-V:

  • AppXManifest.xml se almacena dentro del paquete con copias de reserva almacenadas en el almacén de paquetes y el perfil de usuario. Contiene las opciones creadas durante el proceso de secuenciación.
  • DeploymentConfig.xml proporciona información de configuración de los puntos de extensión de integración basados en equipos y usuarios.
  • UserConfig.xml es un subconjunto del archivo Deploymentconfig.xml que solo proporciona configuraciones basadas en el usuario y solo tiene como destino puntos de extensión basados en el usuario.

Reglas de integración

Cuando las aplicaciones de App-V se publican en un equipo con el cliente de App-V, se llevan a cabo algunas acciones específicas como se describe en la lista siguiente:

  • Publicación global: los accesos directos se almacenan en la ubicación del perfil Todos los usuarios y otros puntos de extensión se almacenan en el Registro en el subárbol HKLM.

  • Publicación de usuarios: los accesos directos se almacenan en el perfil de cuenta de usuario actual y otros puntos de extensión se almacenan en el registro en el subárbol HKCU.

  • Copia de seguridad y restauración: se realiza una copia de seguridad de los datos y el registro de aplicaciones nativas existentes (como registros de FTA) durante la publicación.

    1. A los paquetes de App-V se les asigna la propiedad en función del último paquete integrado en el que la propiedad se pasa a la aplicación de App-V publicada más reciente.
    2. La propiedad se transfiere de un paquete de App-V a otro cuando el paquete de App-V propietario no está publicado. Esta transferencia no iniciará una restauración de los datos o el registro.
    3. Restaure los datos de copia de seguridad cuando el último paquete no se haya publicado o quitado por punto de extensión.

Puntos de extensión

Los archivos de publicación de App-V (manifiesto y configuración dinámica) proporcionan varios puntos de extensión para integrar la aplicación con el sistema operativo local. Estos puntos de extensión realizan tareas de instalación de aplicaciones típicas, como la colocación de accesos directos, la creación de asociaciones de tipos de archivo y el registro de componentes. Como se trata de aplicaciones virtualizadas que no se instalan de la misma manera que una aplicación tradicional, hay algunas diferencias. A continuación se muestra una lista de puntos de extensión que se tratan en esta sección:

  • Accesos directos
  • Asociaciones de tipos de archivo
  • Extensiones de Shell de :
  • COM
  • Clientes de software
  • Funcionalidades de la aplicación
  • Controlador de protocolo de dirección URL
  • AppPath
  • Aplicación virtual

Accesos directos

El acceso directo es uno de los elementos básicos de la integración con el sistema operativo y es la interfaz para el inicio directo del usuario de una aplicación de App-V. Durante la publicación y la publicación de aplicaciones de App-V.

Desde el manifiesto del paquete y los archivos XML de configuración dinámica, la ruta de acceso a un ejecutable de aplicación específico se puede encontrar en una sección como se muestra en el ejemplo siguiente:

<Extension Category="AppV.Shortcut">
          <Shortcut>
            <File>[{Common Desktop}]\Adobe Reader.lnk</File>
            <Target>[{AppVPackageRoot}]\Reader\AcroRd32.exe</Target>
            <Icon>[{Windows}]\Installer\{AC76BA86-7AD7-1033-7B44-A94000000001}\SC_Reader.ico</Icon>
            <Arguments />
            <WorkingDirectory />
            <ShowCommand>1</ShowCommand>
            <ApplicationId>[{AppVPackageRoot}]\Reader\AcroRd32.exe</ApplicationId>
          </Shortcut>
        </Extension>

Como se mencionó anteriormente, los accesos directos de App-V se colocan de forma predeterminada en el perfil del usuario en función de la operación de actualización. La actualización global coloca los accesos directos en el perfil Todos los usuarios y la actualización del usuario los almacena en el perfil del usuario específico. El ejecutable real se almacena en el Almacén de paquetes. La ubicación del archivo ICO es una ubicación tokenizada en el paquete de App-V.

Asociaciones de tipos de archivo

Los usuarios pueden usar invocaciones de tipo de archivo o abrir un archivo con una extensión registrada (.docx) para iniciar una aplicación de App-V porque el cliente de App-V administra las asociaciones de tipos de archivo del sistema operativo local durante la publicación. Las asociaciones de tipos de archivo están presentes en los archivos de configuración dinámica y de manifiesto, como se muestra en el ejemplo siguiente:

<Extension Category="AppV.FileTypeAssociation">
          <FileTypeAssociation>
            <FileExtension MimeAssociation="true">
              <Name>.xdp</Name>
              <ProgId>AcroExch.XDPDoc</ProgId>
              <ContentType>application/vnd.adobe.xdp+xml</ContentType>
            </FileExtension>
            <ProgId>
              <Name>AcroExch.XDPDoc</Name>
              <Description>Adobe Acrobat XML Data Package File</Description>
              <EditFlags>65536</EditFlags>
              <DefaultIcon>[{Windows}]\Installer\{AC76BA86-7AD7-1033-7B44-A94000000001}\XDPFile_8.ico</DefaultIcon>
              <ShellCommands>
                <DefaultCommand>Read</DefaultCommand>
                <ShellCommand>
                  <ApplicationId>[{AppVPackageRoot}]\Reader\AcroRd32.exe</ApplicationId>
                  <Name>Open</Name>
                  <CommandLine>"[{AppVPackageRoot}]\Reader\AcroRd32.exe" "%1"</CommandLine>
                </ShellCommand>
                <ShellCommand>
                  <ApplicationId>[{AppVPackageRoot}]\Reader\AcroRd32.exe</ApplicationId>
                  <Name>Printto</Name>
                  <CommandLine>"[{AppVPackageRoot}]\Reader\AcroRd32.exe"  /t "%1" "%2" "%3" "%4"</CommandLine>
                </ShellCommand>
                <ShellCommand>
                  <ApplicationId>[{AppVPackageRoot}]\Reader\AcroRd32.exe</ApplicationId>
                  <Name>Read</Name>
                  <FriendlyName>Open with Adobe Reader</FriendlyName>
                  <CommandLine>"[{AppVPackageRoot}]\Reader\AcroRd32.exe" "%1"</CommandLine>
                </ShellCommand>
              </ShellCommands>
            </ProgId>
          </FileTypeAssociation>
        </Extension>

Nota

En este ejemplo:

  • <Name>.xdp</Name> es la extensión
  • <Name>AcroExch.XDPDoc</Name> es el valor de ProgId (que apunta al ProgId adyacente)
  • <CommandLine>"[{AppVPackageRoot}]\Reader\AcroRd32.exe" "%1"</CommandLine> es la línea de comandos, que apunta al archivo ejecutable de la aplicación.

Extensiones de Shell de :

Las extensiones de shell se insertan automáticamente en el paquete durante el proceso de secuenciación. Cuando el paquete se publica globalmente, la extensión de shell proporciona a los usuarios la misma funcionalidad que si la aplicación estuviera instalada localmente. La aplicación no requiere ninguna configuración o configuración adicional en el cliente para habilitar la funcionalidad de extensión de shell.

Requisitos para usar extensiones de shell

  • Los paquetes que contienen extensiones de shell insertadas deben publicarse globalmente.
  • La "bitness" de la aplicación, Sequencer y App-V Client debe coincidir o las extensiones de shell no funcionarán. La configuración de ejemplo siguiente cumple el requisito de coincidencia:
    • La versión de la aplicación es de 64 bits.
    • Sequencer se ejecuta en un equipo de 64 bits.
    • El paquete se entrega a un equipo cliente de App-V de 64 bits.

En la tabla siguiente se muestran las extensiones de shell admitidas.

Controlador Descripción
Controlador de menú contextual Agrega elementos de menú al menú contextual. se llama antes de que se muestre el menú contextual.
Controlador de arrastrar y colocar Controla la acción al hacer clic con el botón derecho en arrastrar y colocar y modifica el menú contextual que aparece.
Quitar controlador de destino Controla la acción después de arrastrar y colocar un objeto de datos sobre un destino de colocación, como un archivo.
Controlador de objetos de datos Controla la acción después de copiar un archivo en el Portapapeles o arrastrarlo y colocarlo sobre un destino de colocación. Puede proporcionar más formatos de portapapeles al destino de colocación.
Controlador de hoja de propiedades Reemplaza o agrega páginas al cuadro de diálogo de hoja de propiedades de un objeto.
Controlador de información sobre información Permite recuperar marcas e información sobre información sobre un elemento y mostrarlo dentro de una información sobre herramientas emergente al mantener el mouse sobre la pantalla.
Controlador de columnas Permite crear y mostrar columnas personalizadas en la vista Detalles del Explorador de Windows. Se puede usar para ampliar la ordenación y la agrupación.
Controlador de vista previa Permite mostrar una vista previa de un archivo en el panel vista previa del Explorador de Windows.

COM

El cliente de App-V admite la publicación de aplicaciones con compatibilidad con la integración y virtualización COM. La integración COM permite al cliente de App-V registrar objetos COM en el sistema operativo local y la virtualización de los objetos. Para los fines de este documento, la integración de objetos COM requiere más detalles.

App-V admite el registro de objetos COM desde el paquete al sistema operativo local con dos tipos de proceso: Fuera de proceso y En proceso. El registro de objetos COM se realiza con uno o una combinación de varios modos de operación para un paquete específico de App-V que incluye Desactivado, Aislado e Integrado. El modo integrado está configurado para el tipo Fuera de proceso o En proceso. La configuración de los modos y tipos COM se realiza con archivos de configuración dinámica (deploymentconfig.xml o userconfig.xml).

Para obtener más información sobre la integración de App-V, consulte Integración de Microsoft Application Virtualization 5.0.

Funcionalidades de aplicaciones y clientes de software

App-V admite clientes de software específicos y puntos de extensión de funcionalidades de aplicación para registrar aplicaciones virtualizadas con el cliente de software del sistema operativo. Esta compatibilidad específica significa que los usuarios pueden seleccionar programas predeterminados para operaciones como el correo electrónico, la mensajería instantánea y el uso del reproductor multimedia. Esta operación se realiza en el panel de control con Establecer el acceso al programa y los valores predeterminados del equipo, y se configura durante la secuenciación en los archivos de configuración dinámica o de manifiesto. Las funcionalidades de la aplicación solo se admiten cuando las aplicaciones de App-V se publican globalmente.

En el ejemplo siguiente se muestra un registro de cliente de software de un cliente de correo basado en App-V.

    <SoftwareClients Enabled="true">
      <ClientConfiguration EmailEnabled="true" />
      <Extensions>
        <Extension Category="AppV.SoftwareClient">
          <SoftwareClients>
            <EMail MakeDefault="true">
              <Name>Mozilla Thunderbird</Name>
              <Description>Mozilla Thunderbird</Description>
              <DefaultIcon>[{ProgramFilesX86}]\Mozilla Thunderbird\thunderbird.exe,0</DefaultIcon>
              <InstallationInformation>
                <RegistrationCommands>
                  <Reinstall>"[{ProgramFilesX86}]\Mozilla Thunderbird\uninstall\helper.exe" /SetAsDefaultAppGlobal</Reinstall>
                  <HideIcons>"[{ProgramFilesX86}]\Mozilla Thunderbird\uninstall\helper.exe" /HideShortcuts</HideIcons>
                  <ShowIcons>"[{ProgramFilesX86}]\Mozilla Thunderbird\uninstall\helper.exe" /ShowShortcuts</ShowIcons>
                </RegistrationCommands>
                <IconsVisible>1</IconsVisible>
                <OEMSettings />
              </InstallationInformation>
              <ShellCommands>
                <ApplicationId>[{ProgramFilesX86}]\Mozilla Thunderbird\thunderbird.exe</ApplicationId>
                <Open>"[{ProgramFilesX86}]\Mozilla Thunderbird\thunderbird.exe" -mail</Open>
              </ShellCommands>
              <MAPILibrary>[{ProgramFilesX86}]\Mozilla Thunderbird\mozMapi32_InUse.dll</MAPILibrary>
              <MailToProtocol>
                <Description>Thunderbird URL</Description>
                <EditFlags>2</EditFlags>
                <DefaultIcon>[{ProgramFilesX86}]\Mozilla Thunderbird\thunderbird.exe,0</DefaultIcon>
                <ShellCommands>
                  <ApplicationId>[{ProgramFilesX86}]\Mozilla Thunderbird\thunderbird.exe</ApplicationId>
                  <Open>"[{ProgramFilesX86}]\Mozilla Thunderbird\thunderbird.exe" -osint -compose "%1"</Open>
                </ShellCommands>
              </MailToProtocol>
            </EMail>
          </SoftwareClients>
        </Extension>
      </Extensions>
    </SoftwareClients>

Nota

En este ejemplo:

  • <ClientConfiguration EmailEnabled="true" />es la configuración general de clientes de software para integrar Email clientes.
  • <EMail MakeDefault="true">es la marca para establecer un cliente de Email determinado como cliente de Email predeterminado.
  • <MAPILibrary>[{ProgramFilesX86}]\Mozilla Thunderbird\mozMapi32_InUse.dll</MAPILibrary> es el registro dll mapi.

Controlador de protocolo de dirección URL

Las aplicaciones virtuales no siempre usan específicamente la invocación de tipo de archivo. Por ejemplo, en una aplicación que admite la inserción de un vínculo mailto: dentro de un documento o página web, el usuario selecciona el vínculo que espera tener acceso a su cliente de correo registrado. App-V admite controladores de protocolo de dirección URL que se pueden registrar por paquete con el sistema operativo local. Durante la secuenciación, los controladores de protocolo de dirección URL se agregan automáticamente al paquete.

En situaciones en las que hay más de una aplicación que podría registrar el controlador de protocolo de dirección URL específico, los archivos de configuración dinámica se pueden usar para modificar el comportamiento y suprimir o deshabilitar esta característica para una aplicación que no debería ser la aplicación principal iniciada.

AppPath

El punto de extensión de AppPath admite la llamada a aplicaciones de App-V directamente desde el sistema operativo. Los administradores pueden proporcionar acceso a las aplicaciones de App-V desde comandos o scripts del sistema operativo sin llamar a la ruta de acceso específica al archivo ejecutable desde la pantalla De ejecución o Inicio, en función del sistema operativo. Por lo tanto, evita modificar la variable de entorno de la ruta de acceso del sistema en todos los sistemas, como se logra durante la publicación.

El punto de extensión de AppPath se configura en el manifiesto o en los archivos de configuración dinámica y se almacena en el Registro en el equipo local durante la publicación para el usuario. Para obtener más información sobre apppath review: Rutas de acceso de la aplicación: una extensión de aplicación virtual en App-V 5.0.

Aplicación virtual

Este subsistema proporciona una lista de las aplicaciones capturadas durante la secuenciación que consumen otros componentes de App-V. La integración de puntos de extensión que pertenecen a una aplicación específica se puede deshabilitar mediante archivos de configuración dinámica. Por ejemplo, si un paquete contiene dos aplicaciones, puede deshabilitar todos los puntos de extensión que pertenecen a una aplicación para permitir solo la integración de puntos de extensión para la otra aplicación.

Reglas de punto de extensión

Los puntos de extensión descritos anteriormente se integran en el sistema operativo en función de cómo se hayan publicado los paquetes. La publicación global coloca puntos de extensión en ubicaciones de máquinas públicas, donde la publicación de usuarios coloca puntos de extensión en ubicaciones de usuario. Por ejemplo, un acceso directo creado en el escritorio y publicado globalmente dará como resultado los datos de archivo del acceso directo (%Public%\Desktop) y los datos del Registro (HKLM\Software\Classes). El mismo acceso directo tendría datos de archivo (%UserProfile%\Desktop) y datos del Registro (HKCU\Software\Classes).

Los puntos de extensión no se publican de la misma manera, donde algunos puntos de extensión requerirán publicación global y otros requieren secuenciación en el sistema operativo específico y la arquitectura donde se entregan. A continuación se muestra una tabla que describe estas dos reglas clave.

Extensión virtual Requiere secuenciación del sistema operativo de destino Requiere publicación global
Acceso directo
Asociación de tipo de archivo
Protocolos de dirección URL X
AppPaths X
Modo COM
Cliente de software X
Funcionalidades de la aplicación X X
Controlador de menú contextual X X
Controlador de arrastrar y colocar X
Controlador de objetos de datos X
Controlador de hoja de propiedades X
Controlador de información sobre información X
Controlador de columnas X
Extensiones de Shell X
Browser Helper (objeto) X X
Objeto X activo X X

Procesamiento de configuración dinámica

La implementación de paquetes de App-V en una sola máquina o usuario es sencilla. Sin embargo, a medida que las organizaciones implementan aplicaciones de App-V entre líneas de negocio y límites geográficos y políticos, resulta imposible secuenciar todas las aplicaciones con la misma configuración. App-V se diseñó para solucionar este problema mediante la captura de configuraciones y configuraciones específicas durante la secuenciación en el archivo de manifiesto, a la vez que se admite la modificación con archivos de configuración dinámica.

La configuración dinámica de App-V le permite especificar una directiva de paquete en los niveles de equipo o usuario. Los ingenieros de secuenciación pueden usar archivos de configuración dinámica para modificar la configuración de un paquete posterior a la secuenciación con el fin de satisfacer las necesidades de grupos individuales de usuarios o máquinas. En algunos casos, es posible que sea necesario modificar la aplicación para proporcionar la funcionalidad adecuada en el entorno de App-V. Por ejemplo, es posible que tenga que modificar los archivos _*config.xml para permitir que ciertas acciones se realicen en un momento determinado mientras se ejecuta la aplicación, como deshabilitar una extensión mailto para evitar que una aplicación virtualizada sobrescriba esa extensión de otra aplicación.

Los paquetes de App-V contienen el archivo de manifiesto dentro del archivo de paquete de App-V, que es representativo de las operaciones de secuenciación y es la directiva elegida a menos que los archivos de configuración dinámica se asignen a un paquete específico. Después de la secuenciación, los archivos de configuración dinámica se pueden modificar para permitir que una aplicación se publique en diferentes escritorios o usuarios con diferentes puntos de extensión. Los dos archivos de configuración dinámica son los archivos de configuración de implementación dinámica (DDC) y configuración dinámica de usuario (DUC). Esta sección se centra en la combinación de los archivos de configuración dinámica y de manifiesto.

Ejemplos de archivos de configuración dinámica

En el ejemplo siguiente se muestra la combinación de los archivos Manifiesto, Configuración de implementación y Configuración de usuario después de la publicación y durante el funcionamiento normal. Estos ejemplos son ejemplos abreviados de cada uno de los archivos. El propósito es mostrar solo la combinación de los archivos, no ser una descripción completa de las categorías específicas disponibles en cada archivo. Para obtener más información, descargue la Guía de secuenciación de App-V.

Manifiesto

<appv:Extension Category="AppV.Shortcut">
     <appv:Shortcut>
          <appv:File>[{Common Programs}]\7-Zip\7-Zip File Manager.lnk</appv:File>
          <appv:Target>[{AppVPackageRoot}]\7zFM.exe</appv:Target>
          <appv:Icon>[{AppVPackageRoot}]\7zFM exe.O.ico</appv:Icon>
     </appv:Shortcut>
</appv:Extension>

Configuración de implementación

<MachineConfiguration>
     <Subsystems>
          <Registry>
               <Include>
                    <Key Path= "\REGISTRY\Machine\Software\7zip">
                    <Value Type="REG_SZ" Name="Config" Data="1234"/>
                    </Key>
               </Include>
          </Registry>
     </Subsystems>

Configuración de usuario

<UserConfiguration>
     <Subsystems>
<appv:ExtensionCategory="AppV.Shortcut">
     <appv:Shortcut>
          <appv:File>[{Desktop}]\7-Zip\7-Zip File Manager.lnk</appv:File>
          <appv:Target>[{AppVPackageRoot}]\7zFM.exe</appv:Target>
          <appv:Icon>[{AppVPackageRoot}]\7zFM exe.O.ico</appv:Icon>
     </appv:Shortcut>
</appv:Extension>
     </Subsystems>
<UserConfiguration>
     <Subsystems>
<appv:Extension Category="AppV.Shortcut">
     <appv:Shortcut>
          <appv:Fìle>[{Desktop}]\7-Zip\7-Zip File Manager.lnk</appv:File>
          <appv:Target>[{AppVPackageRoot}]\7zFM.exe</appv:Target>
          <appv:Icon>[{AppVPackageRoot}]\7zFM.exe.O.ico</appv:Icon>
     </appv:Shortcut>
     <appv:Shortcut>
          <appv:File>[{Common Programs}]\7-Zip\7-Zip File Manager.Ink</appv:File>
          <appv:Target>[{AppVPackageRoot}]\7zFM.exe</appv:Target>
          <appv:Icon>[{AppVPackageRoot)]\7zFM.exe.O.ico</appv: Icon>
     </appv:Shortcut>
</appv:Extension>
     </Subsystems>
<MachineConfiguration>
     <Subsystems>
          <Registry>
               <Include>
                    <Key Path="\REGISTRY\Machine\Software\7zip">
                    <Value Type=”REG_SZ" Name="Config" Data="1234"/>
               </Include>
          </Registry>
     </Subsystems>

Ensamblados en paralelo

App-V admite el empaquetado automático de ensamblados en paralelo durante la secuenciación y la implementación en el cliente durante la publicación de aplicaciones virtuales. App-V también admite la captura de ensamblados en paralelo durante la secuenciación de ensamblados que no están presentes en la máquina de secuenciación. En el caso de los ensamblados que constan de Visual C++ (versión 8 y posteriores) o MSXML en tiempo de ejecución, sequencer detectará y capturará automáticamente estas dependencias aunque no se hayan instalado durante la supervisión.

La característica de ensamblados en paralelo elimina las limitaciones de las versiones anteriores de App-V, donde El secuenciador de App-V no capturaba ensamblados ya presentes en la estación de trabajo de secuenciación y privatizaba los ensamblados, lo que la limitaba a una versión de bits por paquete. Este comportamiento dio lugar a que las aplicaciones de App-V se implementaron en clientes que no tienen los ensamblados en paralelo necesarios, lo que provocó errores de inicio de la aplicación. Este error obligó al proceso de empaquetado a documentar y asegurarse de que todos los ensamblados necesarios para los paquetes se instalaron localmente en el sistema operativo cliente del usuario. Esta tarea era un desafío de administración e implementación debido al número de ensamblados y a la falta de documentación de la aplicación para las dependencias necesarias.

La compatibilidad con ensamblados en paralelo en App-V tiene las siguientes características:

  • Capturas automáticas del ensamblado en paralelo durante la secuenciación, independientemente de si el ensamblado ya estaba instalado en la estación de trabajo de secuenciación.
  • El cliente de App-V instala automáticamente los ensamblados en paralelo necesarios en el equipo cliente en el momento de la publicación si aún no están instalados.
  • Sequencer notifica la dependencia en tiempo de ejecución de VC en el mecanismo de informes de Sequencer.
  • Sequencer permite optar por no empaquetar ensamblados ya instalados en Sequencer, lo que admite escenarios en los que los ensamblados se han instalado previamente en los equipos de destino.

Publicación automática de ensamblados en paralelo

Durante la publicación de un paquete de App-V con ensamblados en paralelo, el cliente de App-V comprobará la presencia del ensamblado en la máquina. Si no detecta un ensamblado, el cliente implementará el ensamblado en la máquina. Los paquetes que forman parte de grupos de conexiones se basarán en las instalaciones de ensamblado en paralelo en los paquetes base, ya que los grupos de conexiones no contienen información sobre la instalación de ensamblados.

Nota

La anulación de la publicación o eliminación de un paquete con un ensamblado no quita los ensamblados de ese paquete.

Registro de cliente

El cliente de App-V registra información en el registro de eventos de Windows en formato ETW estándar. Los eventos específicos de App-V se pueden encontrar en el visor de eventos en Registros de aplicaciones y servicios\Microsoft\AppV\Client.

Hay tres categorías específicas de eventos registrados:

  • Administración registra los eventos de las configuraciones aplicadas al cliente de App-V y también contiene las advertencias y errores principales.
  • Los registros operativos registran la ejecución general de App-V y el uso de componentes individuales, creando un registro de auditoría de las operaciones completadas de App-V Client de App-V.
  • La aplicación virtual registra los inicios de la aplicación virtual y el uso de subsistemas de virtualización.