Esecuzione di un'applicazione installata localmente in un ambiente virtuale con applicazioni virtualizzate

Aggiornamento: agosto 2015

Si applica a: Application Virtualization 5.1

È possibile eseguire un'applicazione installata localmente in un ambiente virtuale, insieme ad applicazioni virtualizzate con Microsoft Application Virtualization (App-V). Questa operazione può essere utile se:

  • Si vuole installare ed eseguire un'applicazione in locale nei computer client, ma anche virtualizzare ed eseguire dei plug-in specifici che funzionano con l'applicazione locale.

  • Si stanno risolvendo dei problemi in un pacchetto del client App-V e si vuole aprire un'applicazione locale all'interno dell'ambiente virtuale App-V.

Per aprire un'applicazione locale all'interno dell'ambiente virtuale App-V, usare uno dei metodi seguenti:

  • Chiave del Registro di sistema RunVirtual

  • Cmdlet di PowerShell Get-AppvClientPackage

  • Opzione della riga di comando /appvpid:<PID>

  • Opzione hook da riga di comando /appvve:<GUID>

Questi metodi eseguono essenzialmente la stessa operazione, ma alcuni possono essere più adatti per alcune applicazioni, a seconda se l'applicazione virtualizzata è già in esecuzione.

Chiave del Registro di sistema RunVirtual

Per aggiungere un'applicazione installata localmente in un pacchetto o in ambiente virtuale di un gruppo di connessione, è possibile aggiungere una sottochiave per la RunVirtual chiave del Registro di sistema nell'Editor del registro, come descritto nelle sezioni seguenti.

Non è disponibile alcuna impostazione per gestire questa chiave del Registro di sistema, pertanto è necessario usare System Center Configuration Manager o un altro sistema ESD (Electronic Software Distribution) oppure modificare manualmente il Registro di sistema.

Metodi supportati per la pubblicazione di pacchetti quando si usa RunVirtual

Versione di App-V Metodi di pubblicazione supportati

App-V 5.0 SP3 e App-V 5.1

Pubblicato a livello globale o dall'utente

Da App-V 5.0 ad App-V 5.0 SP2

Pubblicato solo a livello globale

Passaggi per creare la sottochiave

  1. Usando le informazioni nella tabella seguente, creare una nuova chiave del Registro di sistema usando il nome del file eseguibile, ad esempio MyApp.exe.

    Metodo di pubblicazione del pacchetto Percorso in cui creare la chiave del Registro di sistema

    Pubblicato a livello globale

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual

    Esempio: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual\MyApp.exe

    Pubblicate per l'utente

    HKEY_CURRENT_USER\SOFTWARE\Microsoft\AppV\Client\RunVirtual

    Esempio: HKEY_CURRENT_USER \SOFTWARE\Microsoft\AppV\Client\RunVirtual\MyApp.exe

    Un gruppo di connessione può contenere:

    • Pacchetti pubblicati solo a livello globale o solo dall'utente

    • Pacchetti pubblicati a livello globale e dall'utente

    Chiave HKEY_LOCAL_MACHINE o HKEY_CURRENT_USER, ma tutte le condizioni seguenti devono essere True:

    • Per includere più pacchetti nell'ambiente virtuale, è necessario includerli in un gruppo di connessione abilitato.

    • Creare solo una sottochiave per uno dei pacchetti nel gruppo di connessione. Se, ad esempio, si dispone di un pacchetto pubblicato a livello globale e di un altro pacchetto pubblicato per l'utente, è possibile creare una sottochiave per uno di questi pacchetti, ma non per entrambi. Anche se la sottochiave viene creata soltanto per uno dei pacchetti, tutti i pacchetti nel gruppo di connessione e l'applicazione locale saranno disponibili nell'ambiente virtuale.

    • La chiave in cui è possibile creare la sottochiave deve corrispondere al metodo di pubblicazione usato per il pacchetto.

      Ad esempio, se il pacchetto è stato pubblicato per l'utente, è necessario creare la sottochiave in HKEY_CURRENT_USER\SOFTWARE\Microsoft\AppV\Client\RunVirtual.

  2. Impostare la nuova sottochiave del Registro di sistema sui valori PackageId e VersionId del pacchetto, separandoli con un carattere di sottolineatura.

    Sintassi: <PackageId>_<VersionId>

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

    L'applicazione nell'esempio precedente genera un file di esportazione del Registro di sistema (file con estensione REG) simile al seguente:

    Windows Registry Editor Version 5.00 
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual] 
    
    @="" 
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual\MyApp.exe] 
    
    @="aaaaaaaa-bbbb-cccc-dddd-eeeeeeee_11111111-2222-3333-4444-555555555
    

Cmdlet di PowerShell Get-AppvClientPackage

È possibile usare il cmdlet di Start-AppVVirtualProcess per recuperare il nome del pacchetto e quindi avviare un processo all'interno dell'ambiente virtuale del pacchetto specificato. Questo metodo consente di avviare qualsiasi comando nel contesto di un pacchetto App-V, indipendentemente dal fatto che il pacchetto sia in esecuzione.

Usare la sintassi di esempio seguente e sostituire il nome del pacchetto per <Package>:

$AppVName = Get-AppvClientPackage <Package>

Start-AppvVirtualProcess -AppvClientObject $AppVName cmd.exe

Se non si conosce il nome esatto del pacchetto, è possibile usare la riga di comando Get-AppvClientPackage *executable*, dove executable è il nome dell'applicazione, ad esempio: Get-AppvClientPackage *Word*.

Opzione della riga di comando /appvpid:<PID>

È possibile applicare l'opzione /appvpid:<PID> a qualsiasi comando per consentire l'esecuzione del comando all'interno di un processo virtuale selezionato mediante il relativo ID processo (PID). Questo metodo consente di avviare il nuovo eseguibile nello stesso ambiente App-V del file eseguibile già in esecuzione.

Esempio: cmd.exe /appvpid:8108

Per trovare l'ID processo (PID) del processo di App-V, eseguire il comando tasklist.exe da un prompt dei comandi con privilegi elevati.

Opzione hook da riga di comando /appvve:<GUID>

Questa opzione consente di eseguire un comando locale all'interno dell'ambiente virtuale di un pacchetto App-V. A differenza dell'opzione /appvid, in cui l'ambiente virtuale deve essere già in esecuzione, questa opzione consente di avviarlo.

Sintassi: cmd.exe /appvve:<PACKAGEGUID_VERSIONGUID>

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

Per ottenere i GUID del pacchetto e della versione per l'applicazione, eseguire il cmdlet di Get-AppvClientPackage. Concatenare l'opzione /appvve con il codice seguente:

  • Due punti

  • GUID del pacchetto desiderato

  • Carattere di sottolineatura

  • ID versione del pacchetto desiderato

Se non si conosce il nome esatto del pacchetto, usare la riga di comando Get-AppvClientPackage *executable*, dove executable è il nome dell'applicazione, ad esempio: Get-AppvClientPackage *Word*.

Questo metodo consente di avviare qualsiasi comando nel contesto di un pacchetto App-V, indipendentemente dal fatto che il pacchetto sia in esecuzione.

Come inviare suggerimenti per App-V?

Aggiungere o votare i suggerimenti qui. Per problemi relativi ad App-V, usare il forum di TechNet su App-V.

Vedere anche

Altre risorse

Informazioni di riferimento per App-V 5.1

-----
Per ulteriori informazioni su MDOP, è possibile accedere alla libreria TechNet, cercare contenuto sulla risoluzione di problemi in TechNet Wiki o tenersi informati tramite Facebook o Twitter.
-----