Partager via


Comment lancer des processus dans l’environnement virtualisé App-V 5.0

Cet article explique comment lancer des processus à l’intérieur de l’environnement virtualisé virtualisé Microsoft Application Virtualization 5.0 (App-V 5.0).

S’applique à : Windows 7 Service Pack 1
Numéro de base de connaissances d’origine : 2848278

Résumé

Une tâche de résolution des problèmes courante pour App-V 5.0 consiste à examiner ou à modifier un package local en ouvrant un processus dans le contexte d’une application App-V. Il s’agit également de l’ouverture d’un processus « dans la bulle App-V ». App-V 5.0 propose plusieurs méthodes alternatives pour effectuer cette tâche qui diffèrent considérablement des techniques disponibles dans les versions précédentes du produit. Chaque méthode détaillée ci-dessous effectue essentiellement la même tâche, mais certaines méthodes peuvent être mieux adaptées à certaines applications que d’autres selon que l’application virtualisée est déjà en cours d’exécution.

Applet de commande PowerShell : Get-AppvClientPackage

Vous pouvez utiliser l’applet Start-AppVVirtualProcess de commande pour récupérer le nom du package, puis démarrer un processus dans l’environnement virtuel du package spécifié (remplacez le nom de votre package pour <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 Get-AppvClientPackage executablede commande, en remplaçant le nom de l’application par « exécutable » ; par exemple : Get-AppvClientPackage Word.

Cette méthode vous permet de lancer n’importe quelle commande dans le contexte d’un package App-V, que le package soit en cours d’exécution ou non. Cela est similaire à l’utilisation de la sfttray /exe cmd.exe /launch "App-V Application" syntaxe dans App-V 4.6.

Commutateur de ligne de commande « /appvpid :<PID> »

Cela vous permet d’appliquer le /appvpid commutateur à n’importe quelle commande qui permettra à la commande de s’exécuter dans le processus virtuel du processus virtuel que vous avez sélectionné par son ID de processus (ID de processus) comme dans l’exemple ci-dessous :

cmd.exe /appvpid:8108

Pour obtenir l’ID de processus (PID) de votre processus App-V, utilisez la commande tasklist.exe à partir d’une invite de commandes avec élévation de privilèges et obtenez le PID de votre processus. Cette méthode présente l’avantage de lancer le nouvel exécutable dans le même environnement App-V qu’un exécutable déjà en cours d’exécution.

Commutateur de hook de ligne de commande « /appvve :<GUID> »

Là où le /appvpid commutateur nécessite que le processus virtuel soit déjà en cours d’exécution, ce commutateur vous permet de démarrer une commande locale et de l’exécuter dans l’environnement virtuel d’un package App-V et de l’initialiser. La syntaxe est cmd.exe /appvve: <PACKAGEGUID_VERSIONGUID>.

Par exemple :

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

Pour obtenir le GUID de package et le GUID de version, de votre application, exécutez l’applet Get-AppvClientPackage de commande, puis concatènez le GUID du package et les GUID de version avec un trait de soulignement entre eux. Par exemple :

PS C:\> Get-AppvClientPackage

Sortie :

PackageId : aaaaaaaa-bbbb-cccc-dddd-eeeeeeee
VersionId : 111111111-2222-3333-4444-555555555555
Nom : MyApp 1.10

La sortie génère la ligne de commande : cmd.exe /appvve:aaaaaaaa-bbbb-cccc-dddd-eeeeeeee_11111111-2222-3333-4444-55555555.

Fonctionnalité Exécuter la machine virtuelle

Si vous travaillez dans des environnements RDS et que vous disposez d’un package publié globalement, vous pouvez également tirer parti de la fonctionnalité « Exécuter virtuelle ». Pour ce faire, ajoutez des noms exécutables de processus en tant que sous-clés de la clé suivante :

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual

Par exemple, si vous avez une application installée localement nommée MyApp.exe et souhaitez que cette application s’exécute dans l’environnement virtuel, créez une sous-clé appelée MyApp.exe. Modifiez la valeur (par défaut) REG_SZ qui contient le GUID du package et le GUID de version séparés par un trait de soulignement (par exemple GUID<>_<GUID>).

Par exemple, l’application répertoriée dans l’exemple précédent génère une exportation de Registre (fichier .reg) comme suit :

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-55555555"

Chaque processus natif qui doit s’exécuter localement nécessite sa propre sous-clé sous la clé d’exécution virtuelle. Tant qu’il existe une version de l’EXE sur le système, le placement de la combinaison GUID package\version dans la valeur de clé par défaut suffit.

Vous pouvez également spécifier appConnectionGroupID et VersionID d’un groupe de connexions publié globalement dans un format similaire. Spécifiez le nom exécutable principal dans le groupe de connexions. Par exemple, si le code XML de votre groupe de connexions ressemble à ce qui suit :

<?xml version="1.0" ?>
<appv:AppConnectionGroup xmlns="http://schemas.microsoft.com/appv/2010/virtualapplicationconnectiongroup" xmlns:appv="http://schemas.microsoft.com/appv/2010/virtualapplicationconnectiongroup" AppConnectionGroupId="CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCC" VersionId="33333333-3333-3333-3333-3333333333" Priority="0" DisplayName="MyApp Connection Group">

vous devez ensuite ajouter une clé de Registre comme suit :

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