Exécution d'une application installée localement dans un environnement virtuel avec des applications virtualisées
Mis à jour: décembre 2014
S'applique à: Application Virtualization 5.0, Application Virtualization 5.0 SP1, Application Virtualization 5.0 SP2, Application Virtualization 5.0 SP3
Vous pouvez exécuter une application installée localement dans un environnement virtuel, parallèlement à des applications qui ont été virtualisées à l'aide de Microsoft Application Virtualization (App-V). Vous pouvez procéder de la sorte dans les cas suivants :
Vous voulez installer et exécuter une application localement sur des ordinateurs clients, mais vous voulez virtualiser et exécuter des plug-ins spécifiques qui fonctionnent avec cette application locale.
Vous êtes en train de résoudre un problème lié à un package du client App-V et vous voulez ouvrir une application locale au sein de l'environnement virtuel App-V.
Utilisez l'une des méthodes suivantes pour ouvrir une application locale dans l'environnement virtuel App-V :
Clé de Registre RunVirtual
Applet de commande PowerShell Get-AppvClientPackage
Commutateur de ligne de commande /appvpid:<PID>
Commutateur hook de ligne de commande /appvve:<GUID>
Chaque méthode effectue essentiellement la même tâche, mais certaines méthodes peuvent mieux convenir à certaines applications que d'autres, selon que l'application virtualisée est déjà en cours d'exécution ou non.
Clé de Registre RunVirtual
Pour ajouter une application installée localement à un package ou à l'environnement virtuel d'un groupe de connexion, vous ajoutez une sous-clé à la clé de Registre RunVirtual
dans l'Éditeur du Registre, comme décrit dans les sections suivantes.
Il n'existe aucun paramètre Stratégie de groupe disponible pour gérer cette clé de Registre, donc vous devez utiliser System Center Configuration Manager ou un autre système de distribution de logiciels électronique (ESD), ou encore modifier manuellement le Registre.
Méthodes de publication des packages prises en charge lors de l'utilisation de RunVirtual
Version App-V | Méthodes de publication prises en charge |
---|---|
App-V 5.0 SP3 |
Publication globale ou sur l'utilisateur |
App-V 5.0 à App-V 5.0 SP2 |
Publication globale uniquement |
Étapes pour créer la sous-clé
À l'aide des informations indiquées dans le tableau suivant, créez une clé de Registre en utilisant le nom du fichier exécutable, par exemple, MonAppli.exe.
Méthode de publication de package Où créer la clé de Registre Publication globale
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual
Exemple : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual\MonAppli.exe
Publication sur l'utilisateur
HKEY_CURRENT_USER\SOFTWARE\Microsoft\AppV\Client\RunVirtual
Exemple : HKEY_CURRENT_USER \SOFTWARE\Microsoft\AppV\Client\RunVirtual\MonAppli.exe
Un groupe de connexion peut contenir ce qui suit :
- Packages publiées globalement uniquement ou sur l'utilisateur uniquement
- Packages publiés globalement et sur l'utilisateur
Clé HKEY_LOCAL_MACHINE ou HKEY_CURRENT_USER, mais toutes les conditions suivantes doivent être remplies :
- Pour inclure plusieurs packages dans l'environnement virtuel, vous devez les inclure dans un groupe de connexion activé.
- Créez une seule sous-clé pour l'un des packages dans le groupe de connexion. Si, par exemple, vous avez un seul package publié globalement et un autre package publié sur l'utilisateur, vous créez une sous-clé pour l'un de ces packages, mais pas pour les deux. Même si vous créez une sous-clé pour un seul des packages, tous les packages inclus dans le groupe de connexion, ainsi que l'application locale, sont disponibles dans l'environnement virtuel.
- La clé sous laquelle vous créez la sous-clé doit correspondre à la méthode de publication utilisée pour le package.
Par exemple, si vous avez publié le package sur l'utilisateur, vous devez créer la sous-clé sousHKEY_CURRENT_USER\SOFTWARE\Microsoft\AppV\Client\RunVirtual
.
- Packages publiées globalement uniquement ou sur l'utilisateur uniquement
Définissez la valeur de la nouvelle sous-clé de Registre conformément aux valeurs PackageId et VersionId du package, en les séparant par un trait de soulignement.
Syntaxe : <ID du package>_<ID de version>
Exemple : 4c909996-afc9-4352-b606-0b74542a09c1_be463724-Oct1-48f1-8604-c4bd7ca92fa
L'application de l'exemple précédent produit un fichier d'exportation du Registre (fichier .reg) comme le suivant :
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
Applet de commande PowerShell Get-AppvClientPackage
Vous pouvez utiliser l'applet de commande Start-AppVVirtualProcess pour récupérer le nom du package, puis démarrer un processus dans l'environnement virtuel du package spécifié. Cette méthode vous permet de lancer une commande dans le contexte d'un package App-V, que le package soit actuellement en cours d'exécution ou non.
Utilisez l'exemple de syntaxe suivant et remplacez <Package> par le nom de votre package :
$AppVName = Get-AppvClientPackage <Package>
Start-AppvVirtualProcess -AppvClientObject $AppVName cmd.exe
Si vous ne connaissez pas le nom exact de votre package, vous pouvez utiliser la ligne de commande Get-AppvClientPackage *executable*, où executable est le nom de l'application, par exemple : Get-AppvClientPackage *Word*.
Commutateur de ligne de commande /appvpid:<PID>
Vous pouvez appliquer le commutateur /appvpid:<PID> à une commande, lequel permet à cette commande de s'exécuter dans un processus virtuel que vous sélectionnez en spécifiant son ID de processus (PID). L'utilisation de cette méthode permet de lancer le nouveau fichier exécutable dans le même environnement App-V que celui dans lequel un fichier exécutable est déjà en cours d'exécution.
Exemple : cmd.exe /appvpid:8108
Pour trouver l'ID de processus (PID) de votre processus App-V, exécutez la commande tasklist.exe à partir d'une invite de commandes avec élévation de privilèges.
Commutateur hook de ligne de commande /appvve:<GUID>
Ce commutateur permet d'exécuter une commande locale au sein de l'environnement virtuel d'un package App-V. Contrairement au commutateur /appvid, où l'environnement virtuel doit déjà être en cours d'exécution, ce commutateur vous permet de démarrer l'environnement virtuel.
Syntaxe : cmd.exe /appvve:<PACKAGEGUID_VERSIONGUID>
Exemple : cmd.exe /appvve:aaaaaaaa-bbbb-cccc-dddd-eeeeeeee_11111111-2222-3333-4444-55555555
Pour obtenir le GUID du package et le GUID de la version de votre application, exécutez l'applet de commande Get-AppvClientPackage. Concaténez le commutateur /appvve avec les éléments suivants :
Un signe deux-points
Le GUID du package souhaité
Un trait de soulignement
L'ID de la version du package souhaité
Si vous ne connaissez pas le nom exact de votre package, utilisez la ligne de commande Get-AppvClientPackage *executable*, où executable est le nom de l'application, par exemple : Get-AppvClientPackage *Word*.
Cette méthode vous permet de lancer une commande dans le contexte d'un package App-V, que le package soit actuellement en cours d'exécution ou non.
Vous avez une suggestion pour App-V ?
Ajoutez des suggestions ou votez pour les meilleures ici. Pour les problèmes relatifs à App-V, utilisez le Forum TechNet App-V.
Voir aussi
Autres ressources
Référence technique pour App-V 5.0
-----
Vous pouvez en apprendre plus sur MDOP dans Bibliothèque TechNet, rechercher des solutions à des problèmes dans le TechNet Wiki ou nous suivre sur Facebook ou Twitter.
-----