Pubblicazione delle applicazioni e interazione tra client

Aggiornamento: agosto 2015

Si applica a: Application Virtualization 5.1

Questo articolo fornisce informazioni tecniche sulle operazioni comuni dei client di App-V e sulla relativa integrazione con il sistema operativo locale.

  • File del pacchetto App-V creati dal sequencer

  • Cosa contiene il file appv?

  • Percorsi di archiviazione dei dati del client App

  • Registro di sistema del pacchetto

  • Comportamento dell'archivio pacchetti di App-V

  • Registro di sistema e dati di roaming

  • Gestione del ciclo di vita dell'applicazione del client di App-V

  • Integrazione di pacchetti App-V

  • Elaborazione della configurazione dinamica

  • Assembly side-by-side

  • Registrazione del client

Per altre informazioni di riferimento, vedere la pagina di download delle risorse della documentazione su Microsoft Application Virtualization (App-V).

File del pacchetto App-V creati dal sequencer

Il sequencer crea i pacchetti App-V e genera un'applicazione virtualizzata. Il processo di sequenziazione crea i file seguenti:

File Descrizione 

.appv

  • File del pacchetto primario, contenente gli asset acquisiti e le informazioni sullo stato derivanti dal processo di sequenziazione.

  • Architettura del file del pacchetto, le informazioni di pubblicazione e il Registro di sistema in formato token, riapplicabile a un computer e a un utente specifico durante la consegna.

.MSI

Wrapper di distribuzione dei file eseguibili che è possibile usare per distribuire i file appv manualmente o con una piattaforma di distribuzione di terze parti.

_DeploymentConfig.XML

File usato per personalizzare i parametri di pubblicazione predefiniti per tutte le applicazioni in un pacchetto distribuito globalmente a tutti gli utenti in un computer che esegue il client di App-V.

_UserConfig.XML

File usato per personalizzare i parametri di pubblicazione per tutte le applicazioni in un pacchetto distribuito a un utente specifico in un computer che esegue il client di App-V.

Report.xml

Riepilogo dei messaggi risultanti dal processo di sequenziazione, che includono driver, file e percorsi del Registro di sistema omessi.

.CAB

Facoltativo: file dell'Acceleratore pacchetto usato per compilare di nuovo un pacchetto di applicazioni virtuali sequenziato in precedenza.

.appvt

Facoltativo: file modello di Sequencer, usato per mantenere le impostazioni di Sequencer riutilizzate più spesso.

Per informazioni sulla sequenziazione, vedere la guida alla sequenziazione di Application Virtualization.

Cosa contiene il file appv?

Il file appv è un contenitore in cui file XML e non XML vengono archiviati in un'unica entità. Questo file viene creato dal formato AppX, che si basa sullo standard OPC (Open Packaging Conventions).

Per visualizzare i contenuti del file appv, creare una copia del pacchetto e quindi rinominare il file copiato con un'estensione ZIP.

Il file appv contiene le cartelle e i file seguenti, che vengono usati quando si crea e si pubblica un'applicazione virtuale:

Nome Tipo  Descrizione 

Radice

Cartella di file

Directory contenente il file system per l'applicazione virtualizzata acquisita durante la sequenziazione.

[Tipi_contenuto].xml

File XML

Elenco dei tipi di contenuto principali nel file appv (ad esempio DLL, EXE, BIN).

AppxBlockMap.xml

File XML

Layout del file appv che usa gli elementi File, Block e BlockMap che abilitano l'individuazione e la convalida dei file nel pacchetto App-V.

AppxManifest.xml

File XML

Metadati per il pacchetto che include le informazioni necessarie per l'aggiunta, la pubblicazione e l'avvio del pacchetto. Include i punti di estensione (associazioni del tipo di file e collegamenti) e i nomi e i GUID associati al pacchetto.

FilesystemMetadata.xml

File XML

Elenco dei file acquisiti durante la sequenziazione, inclusi gli attributi (ad esempio directory, file, directory opache, directory vuote, nomi estesi e brevi).

PackageHistory.xml

File XML

Informazioni sul computer di sequenziazione (versione del sistema operativo, versione di Internet Explorer, versione di .NET Framework) e informazioni sul processo (aggiornamento, versione del pacchetto).

Registry.dat

File DAT

Chiavi e valori del Registro di sistema acquisiti durante il processo di sequenziazione per il pacchetto.

StreamMap.xml

File XML

Elenco dei file per il blocco di funzionalità primarie e di pubblicazione. Il blocco di funzionalità di pubblicazione contiene i file ICO e le parti necessarie dei file (EXE e DLL) per la pubblicazione del pacchetto. Se presente, il blocco di funzionalità primarie include i file ottimizzati per lo streaming durante il processo di sequenziazione.

Percorsi di archiviazione dei dati del client App

Il client App-V esegue attività che verificano che le applicazioni virtuali vengano eseguite correttamente e funzionino come le applicazioni installate localmente. Il processo di apertura ed esecuzione di applicazioni virtuali richiede il mapping dal file system e dal Registro di sistema virtuale, per assicurare che l'applicazione abbia i componenti necessari di un'applicazione tradizionale prevista dagli utenti. Questa sezione descrive gli asset necessari per eseguire le applicazioni virtuali ed elenca i percorsi in cui App-V archivia gli asset.

Nome Percorso Descrizione 

Archivio pacchetti

%ProgramData%\App-V

Percorso predefinito per i file di pacchetto di sola lettura.

Catalogo di computer

%ProgramData%\Microsoft\AppV\Client\Catalog

Contiene documenti relativi alla configurazione di ogni computer.

Catalogo utente

%AppData%\Microsoft\AppV\Client\Catalog

Contiene documenti relativi alla configurazione di ogni utente.

Backup di collegamenti

%AppData%\Microsoft\AppV\Client\Integration\ShortCutBackups

Archivia punti di integrazione precedenti che permettono il ripristino in caso di annullamento della pubblicazione di un pacchetto.

Copia su scrittura - Roaming

%AppData%\Microsoft\AppV\Client\VFS

Percorso di roaming scrivibile per la modifica dei pacchetti.

Copia su scrittura - Locale

%LocalAppData%\Microsoft\AppV\Client\VFS

Percorso non di roaming scrivibile per la modifica dei pacchetti.

Registro di sistema del computer

HKLM\Software\Microsoft\AppV

Contiene informazioni sullo stato del pacchetto, incluso il registro virtuale per il computer o per pacchetti pubblicati a livello globale (hive di computer).

Registro di sistema utente

HKCU\Software\Microsoft\AppV

Contiene informazioni sullo stato del pacchetto utente, incluso il Registro di sistema virtuale.

Classi del Registro di sistema utente

HKCU\Software\Classes\AppV

Contiene informazioni aggiuntive sullo stato del pacchetto utente.

Informazioni dettagliate aggiuntive per la tabella sono disponibili nella sezione successiva e nel resto del documento.

Archivio pacchetti

Il client di App-V gestisce gli asset delle applicazioni montate nell'archivio pacchetti. Questa posizione di archiviazione predefinita è %ProgramData%\App-V, ma è possibile configurarla durante o dopo l'installazione usando il comando Set-AppVClientConfiguration di PowerShell, che modifica il Registro di sistema locale (valore PackageInstallationRoot della chiave HKLM\Software\Microsoft\AppV\Client\Streaming). L'archivio pacchetti deve trovarsi in un percorso locale nel sistema operativo del client. I singoli pacchetti vengono archiviati nell'archivio pacchetti in sottodirectory il cui nome è basato sul GUID del pacchetto e sul GUID della versione.

Esempio di percorso per un'applicazione specifica:

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

Per cambiare la posizione predefinita dell'archivio pacchetti durante l'installazione, vedere Come distribuire il client App-V.

Modalità SCS (Shared Content Store)

Se il client App-V viene configurato in modalità SCS (Shared Content Store), nessun dato viene scritto sul disco quando si verifica uno stream fault, pertanto i pacchetti richiedono uno spazio su disco locale minimo (pubblicazione dei dati). L'uso di meno spazio su disco risulta ideale negli ambienti di tipo VDI, in cui l'archiviazione locale può essere limitata ed è preferibile eseguire lo streaming delle applicazioni da un percorso di rete a prestazioni elevate, ad esempio una rete SAN. Per altre informazioni sulla modalità SCS, vedere https://go.microsoft.com/fwlink/p/?LinkId=392750.

Nota

Il computer e l'archivio pacchetti devono trovarsi in un'unità locale anche quando si usano le configurazioni in modalità SCS per il client di App-V.

Cataloghi di pacchetto

Il client di App-V gestisce i due percorsi seguenti basati su file:

  • Cataloghi (utente e computer).

  • Percorso del Registro di sistema: dipende da come si fa riferimento al pacchetto per la pubblicazione. È disponibile un catalogo (archivio dati) per il computer e un catalogo per ogni singolo utente. Il catalogo di computer archivia le informazioni globali applicabili a tutti gli utenti o a qualsiasi utente e il catalogo utente archivia le informazioni applicabili a un utente specifico. Il catalogo è una raccolta di configurazioni dinamiche e di file manifest. Include dati discreti relativi a file e Registro di sistema per ogni versione del pacchetto.

Catalogo di computer

Descrizione 

Archivia i documenti relativi al pacchetto disponibili per gli utenti nel computer, quando vengono aggiunti e pubblicati pacchetti. Se tuttavia un pacchetto è "globale" al momento della pubblicazione, le integrazioni saranno disponibili a tutti gli utenti.

Se un pacchetto non è globale, le integrazioni verranno pubblicate solo per utenti specifici, ma saranno comunque disponibili risorse globali modificate e visibili a tutti gli utenti del computer client, ad esempio la directory del pacchetto si trova in un percorso sul disco condiviso.

Se un pacchetto è disponibile per un utente nel computer (globale o non globale), il file manifest verrà archiviato nel catalogo di computer. Quando un pacchetto viene pubblicato a livello globale, è disponibile un file di configurazione dinamica, archiviato nel catalogo di macchine. Per stabilire se un pacchetto è globale, verificare se il catalogo di macchine include un file di criteri (file UserDeploymentConfiguration).

Posizione di archiviazione predefinita

%programdata%\Microsoft\AppV\Client\Catalog\

Questa posizione non corrisponde alla posizione dell'archivio pacchetti. L'archivio pacchetti è la copia non modificata dei file del pacchetto.

File nel catalogo di macchine

  • Manifest.xml

  • DeploymentConfiguration.xml

  • UserManifest.xml (pacchetto pubblicato a livello globale)

  • UserDeploymentConfiguration.xml (pacchetto pubblicato a livello globale)

Posizione aggiuntiva del catalogo di macchine, usata quando il pacchetto fa parte di un gruppo di connessione

La seguente posizione è in aggiunta alla posizione specifica del pacchetto menzionata sopra:

%programdata%\Microsoft\AppV\Client\Catalog\PackageGroups\ConGroupGUID\ConGroupVerGUID

File aggiuntivi del catalogo di macchine quando il pacchetto fa parte di un gruppo di connessione

  • PackageGroupDescriptor.xml

  • UserPackageGroupDescriptor.xml (gruppo di connessione pubblicato a livello globale)

Catalogo utente

Descrizione 

Creato durante il processo di pubblicazione. Contiene informazioni usate per pubblicare il pacchetto e usate anche all'avvio per verificare che il provisioning di un pacchetto venga effettuato a un utente specifico Viene creato in un percorso di roaming e include informazioni di pubblicazione specifiche dell'utente.

Quando si pubblica un pacchetto per un utente, il file dei criteri viene archiviato nel catalogo utente. Allo stesso tempo, una copia del file manifest viene archiviata nel catalogo utente. Quando viene rimosso un diritto di pacchetto per un utente, i file di pacchetto rilevanti verranno rimossi dal catalogo utente. Esaminando il catalogo utente, un amministratore può verificare la presenza di un file di configurazione dinamica, che indica che l'utente ha diritto a usare il pacchetto.

Per gli utenti di roaming il catalogo utente deve trovarsi in un percorso di roaming o condiviso, in modo da mantenere il comportamento legacy di App-V che permette di fare riferimento agli utenti per impostazione predefinita. I diritti e i criteri sono associati a un utente, non a un computer, quindi dopo il provisioning dovranno effettuare il roaming insieme all'utente.

Posizione di archiviazione predefinita

ppdata\roaming\Microsoft\AppV\Client\Catalog\Packages\PkgGUID\VerGUID

File nel catalogo utente

  • UserManifest.xml

  • DynamicConfiguration.xml o UserDeploymentConfiguration.xml

Posizione aggiuntiva del catalogo utente, usata quando il pacchetto fa parte di un gruppo di connessione

La seguente posizione è in aggiunta alla posizione specifica del pacchetto menzionata sopra:

appdata\roaming\Microsoft\AppV\Client\Catalog\PackageGroups\PkgGroupGUID\PkgGroupVerGUID

File aggiuntivo del catalogo di macchine quando il pacchetto fa parte di un gruppo di connessione

UserPackageGroupDescriptor.xml

Backup di collegamenti

Durante il processo di pubblicazione, il client App-V esegue il backup di eventuali collegamenti e punti di integrazione in %AppData%\Microsoft\AppV\Client\Integration\ShortCutBackups. Questo backup consente di ripristinare le versioni precedenti dei punti di integrazione quando viene annullata la pubblicazione del pacchetto.

File di copia su scrittura

L'archivio pacchetti include una copia non modificata dei file del pacchetto di cui è stato eseguito lo streaming dal server di pubblicazione. Durante il funzionamento normale di un'applicazione App-V, è possibile che l'utente o il servizio richieda la modifica dei file. Queste modifiche non vengono eseguite nell'archivio pacchetti per mantenere la possibilità di ripristinare le applicazioni, rimuovendo così tali modifiche. Questi percorsi, denominati copia su scrittura, supportano percorso di roaming e non di roaming. Il percorso in cui vengono archiviate le modifiche dipende dal percorso programmato per la scrittura di modifiche da parte dell'applicazione in un'esperienza nativa.

Copia su scrittura - Roaming

Come illustrato in precedenza, il percorso di roaming di tipo copia su scrittura archivia le modifiche in file e directory destinate al percorso tipico %AppData% o al percorso \Users\{nomeutente}\AppData\Roaming. Il roaming di queste directory e di questi file viene quindi eseguito in base alle impostazioni del sistema operativo.

Copia su scrittura - Locale

Il percorso di copia su scrittura locale è simile al percorso di roaming, ma non viene eseguito il roaming di directory e file in altri computer, anche se il supporto per il roaming è stato configurato. Il percorso di copia su scrittura locale illustrato in precedenza archivia le modifiche applicabili nel percorso standard di Windows e non nel percorso %AppData%. Le directory elencate possono variare, ma saranno disponibili due percorsi per qualsiasi percorso standard di Windows, ad esempio AppData comuni e AppDataS comuni. La lettera S indica un percorso con restrizioni quando il servizio virtuale richiede la modifica come utente diverso con privilegi elevati rispetto agli utenti connessi. Il percorso non S archivia le modifiche basate sugli utenti.

Registro di sistema del pacchetto

Prima che un'applicazione possa accedere ai dati del Registro di sistema del pacchetto, il client di App-V deve rendere disponibili i dati del Registro di sistema del pacchetto alle applicazioni. Il client di App-V usa il Registro di sistema effettivo come archivio di backup per tutti i dati del Registro di sistema.

Quando viene aggiunto un nuovo pacchetto al client di App-V, verrà creata una copia del file REGISTRY.DAT dal pacchetto in %ProgramData%\Microsoft\AppV\Client\VREG\{Version GUID}.dat. Il nome del file è il GUID della versione con l'estensione DAT. Questa copia viene creata per assicurare che il file hive effettivo del pacchetto non venga mai usato, perché ciò impedirebbe la rimozione del pacchetto in un secondo momento.

Registry.dat dall'archivio pacchetti

 > 

%ProgramData%\Microsoft\AppV\Client\Vreg\{VersionGuid}.dat

Quando viene avviata nel client la prima applicazione del pacchetto, il client gestisce in modo temporaneo o copia i contenuti nel file hive, ricreando i dati del Registro di sistema del pacchetto in un percorso alternativo, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\Packages\PackageGuid\Versions\VersionGuid\REGISTRY. I dati del Registro di sistema gestiti in modo temporaneo hanno due tipi diversi di dati, ovvero dati di computer e dati utente. I dati del computer sono condivisi con tutti gli utenti del computer. I dati utenti vengono gestiti in modo temporaneo per ogni utente in un percorso specifico per l'utente, HKCU\Software\Microsoft\AppV\Client\Packages\PackageGuid\Registry\User. I dati del computer vengono infine rimossi durante la rimozione del pacchetto e i dati utente vengono rimossi in caso di annullamento della pubblicazione di un utente.

Confronto tra la gestione temporanea del Registro di sistema del pacchetto e la gestione temporanea del Registro di sistema del gruppo di connessione

Quando sono presenti gruppi di connessione, viene eseguito il processo precedente di gestione temporanea del Registro di sistema, ma sarà necessario elaborare più file hive, invece di uno solo. I file vengono elaborati nell'ordine in cui sono visualizzati nel file XML del gruppo di connessione ed eventuali conflitti verranno vinti dal primo writer.

Il Registro di sistema gestito in modo temporaneo sarà reso permanente in modo analogo al caso in cui è presente un singolo pacchetto. I dati del Registro di sistema utente gestito in modo temporaneo saranno a disposizione del gruppo di connessione fino alla disabilitazione. I dati del Registro di sistema del computer gestito in modo temporaneo vengono rimossi durante la rimozione del gruppo di connessione.

Registro virtuale

Il registro virtuale (VREG) permette di fornire alle applicazioni una singola visualizzazione unita del Registro di sistema del pacchetto e del Registro di sistema nativo. Offre anche la funzionalità di copia su scrittura, ovvero eventuali modifiche apportate al Registro di sistema dal contesto di un processo virtuale vengono apportate in un percorso separato di tipo copia su scrittura. Ciò significa che il registro virtuale deve combinare fino a tre percorsi separati del Registro di sistema in una singola visualizzazione basata sui percorsi popolati in copia su disco -> pacchetto -> nativo del Registro di sistema. Quando viene effettuata una richiesta per dati del Registro di sistema, i dati verranno esaminati in ordine fino a individuare i dati richiesti. Ciò significa che se in un percorso di tipo copia su scrittura è archiviato un valore, la richiesta non passerà agli altri percorsi. Se tuttavia il percorso di tipo copia su scrittura non include dati, la richiesta passerà al percorso del pacchetto e quindi al percorso nativo, fino all'individuazione dei dati appropriati.

Percorsi del Registro di sistema

Sono disponibili due percorsi del Registro di sistema del pacchetto e due percorsi del gruppo di connessione, in cui il client di App-V archivia le informazioni del Registro di sistema, a seconda della pubblicazione del pacchetto come pacchetto individuale o come parte di un gruppo di connessione. Esistono tre percorsi di tipo copia su scrittura per i pacchetti e tre percorsi per i gruppi di connessione, che vengono creati e gestiti dal registro virtuale. Le impostazioni per i pacchetti e i gruppi di connessione non sono condivise:

Registro virtuale del pacchetto singolo:

Percorso

Descrizione 

Copia su scrittura

  • Machine Registry\Client\Packages\PkgGUID\REGISTRY (scrittura consentita solo ai processi con privilegi elevati)

  • User Registry\Client\Packages\PkgGUID\REGISTRY (roaming utente consentito per qualsiasi elemento scritto in HKCU tranne Software\Classes

  • User Registry Classes\Client\Packages\PkgGUID\REGISTRY (Scritture in HKCU\Software\Classes e HKLM per processi senza privilegi elevati)

Pacchetto

  • Machine Registry\Client\Packages\PkgGUID\Versions\VerGuid\Registry\Machine

  • User Registry Classes\Client\Packages\PkgGUID\Versions\VerGUID\Registry

Nativo

  • Percorso del Registro di sistema nativo dell'applicazione

 

Registro virtuale del gruppo di connessione:

Percorso

Descrizione 

Copia su scrittura

  • Machine Registry\Client\PackageGroups\GrpGUID\REGISTRY (scrittura consentita solo ai processi con privilegi elevati)

  • User Registry\Client\PackageGroups\GrpGUID\REGISTRY (qualsiasi elemento scritto in HKCU tranne Software\Classes

  • User Registry Classes\Client\PackageGroups\GrpGUID\REGISTRY

Pacchetto

  • Machine Registry\Client\PackageGroups\GrpGUID\Versions\VerGUID\REGISTRY

  • User Registry Classes\Client\PackageGroups\GrpGUID\Versions\VerGUID\REGISTRY

Nativo

  1. Percorso del Registro di sistema nativo dell'applicazione

 

Sono disponibili due percorsi di tipo copia su scrittura per HKLM, per processi con e senza privilegi elevati. I processi con privilegi elevati scrivono sempre le modifiche HKLM nel percorso sicuro di tipo copia su scrittura in HKLM. I processi senza privilegi elevati scrivono sempre le modifiche HKLM nel percorso non sicuro di tipo copia su scrittura in HKCU\Software\Classes. Quando un'applicazione legge le modifiche da HKLM, i processi con privilegi elevati leggeranno le modifiche dal percorso sicuro di tipo copia su scrittura in HKLM. I processi senza privilegi elevati leggeranno da entrambi, preferendo le modifiche apportate nel percorso non sicuro di tipo copia su scrittura.

Chiavi pass-through

Le chiavi pass-through permettono a un amministratore di configurare determinate chiavi in modo che possano essere lette solo dal Registro di sistema nativo, ignorando i percorsi del pacchetto e di tipo copia su scrittura. I percorsi pass-through sono globali per il computer, non specifici del pacchetto, e possono essere configurati tramite l'aggiunta del percorso alla chiave, che dovrebbe essere trattata come pass-through per il valore REG_MULTI_SZ denominato PassThroughPaths della chiave HKLM\Software\Microsoft\AppV\Subsystem\VirtualRegistry. Qualsiasi chiave visualizzata in questo valore multistringa e i relativi figli verranno trattati come pass-through.

Per impostazione predefinita, i percorsi seguenti vengono configurati come percorsi pass-through:

  • 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

Le chiavi pass-through permettono di assicurare che l'applicazione virtuale non scriva dati del Registro di sistema nel registro virtuale necessario per il corretto funzionamento o la corretta integrazione delle applicazioni non virtuali. La chiave Policies assicura che vengano usate le impostazioni basate su Criteri di gruppo definite dall'amministratore, non le impostazioni relative ai singoli pacchetti. La chiave AppModel è necessaria per l'integrazione con le applicazioni basate sull'interfaccia utente moderna di Windows. È consigliabile che l'amministratore non modifichi alcuna chiave pass-through predefinita. In alcune circostanze, tuttavia, in base al comportamento dell'applicazione potrebbero essere necessarie chiavi pass-through aggiuntive.

Comportamento dell'archivio pacchetti di App-V

App-V 5 gestisce l'archivio pacchetti, ovvero il percorso in cui vengono archiviati i file di asset espansi dal file appv. Per impostazione predefinita, il percorso corrisponde a %ProgramData%\App-V e le capacità di archiviazione sono limitate solo dallo spazio libero su disco. L'archivio pacchetti è organizzato in base ai GUID di pacchetto e versione, come indicato nella sezione precedente.

Aggiungere pacchetti

I pacchetti App-V vengono gestiti in modo temporaneo durante l'aggiunta al computer con il client di App-V. Il client di App-V fornisce la gestione temporanea su richiesta. Durante la pubblicazione o un'operazione Add-AppVClientPackage manuale, la struttura di dati viene creata nell'archivio pacchetti (c:\programdata\App-V\{PkgGUID}\{VerGUID}). I file del pacchetto identificati nel blocco di pubblicazione definito in StreamMap.xml vengono aggiunti al sistema e viene eseguita la gestione temporanea delle cartelle di primo livello e dei file figlio, in modo da assicurare che gli asset appropriati dell'applicazione siano presenti all'avvio.

Montaggio dei pacchetti

I pacchetti possono essere caricati esplicitamente usando il comando Mount-AppVClientPackage di PowerShell oppure usando l'interfaccia utente del client di App-V per scaricare un pacchetto. Questa operazione carica completamente l'intero pacchetto nell'archivio pacchetti.

Streaming di pacchetti

È possibile configurare il client di App-V in modo da modificare il comportamento predefinito per lo streaming. Tutti i criteri di streaming sono archiviati nella chiave seguente del Registro di sistema: HKEY_LOCAL_MAcHINE\Software\Microsoft\AppV\Client\Streaming. I criteri vengono configurati tramite il cmdlet Set-AppvClientConfiguration di PowerShell. I criteri seguenti sono applicabili allo streaming:

Criteri Descrizione 

AllowHighCostLaunch

In Windows 8 e versioni successive è possibile eseguire lo streaming su reti 3G e reti cellulari

AutoLoad

Specifica l'impostazione per il caricamento in background:

  • 0 - Disabilitato

  • 1 – Solo per pacchetti usati in precedenza

  • 2 – Tutti i pacchetti

PackageInstallationRoot

Cartella radice per l'archivio pacchetti nel computer locale

PackageSourceRoot

Sostituzione di radice da cui deve essere eseguito lo streaming dei pacchetti

SharedContentStoreMode

Permette l'uso della modalità SCS (Shared Content Store) per scenari VDI

 

Queste impostazioni influiscono sul comportamento dello streaming di asset del pacchetto App-V al client. Per impostazione predefinita, App-V scarica solo gli asset necessari dopo il download dei blocchi di pubblicazione e di funzionalità primarie iniziali. Esistono tre comportamenti specifici da spiegare relativi allo streaming di pacchetti:

  • Streaming in background

  • Streaming ottimizzato

  • Attivazione dello stato di errore di flusso

Streaming in background

Il cmdlet Get-AppvClientConfiguration di PowerShell può essere usato per determinare la modalità attuale per lo streaming in background con l'impostazione AutoLoad e può essere modificato tramite il cmdlet Set-AppvClientConfiguration o dal Registro di sistema (chiave HKLM\SOFTWARE\Microsoft\AppV\ClientStreaming). Lo streaming in background è un'impostazione predefinita in cui l'impostazione AutoLoad è configurata per il download dei pacchetti usati in precedenza. Il comportamento basato sull'impostazione predefinita (valore=1) scarica i blocchi di dati di App-V in background dopo l'avvio dell'applicazione. Questa impostazione può essere disabilitata completamente (valore=0) o abilitata per tutti i pacchetti (valore=2), se sono stati avviati.

Streaming ottimizzato

I pacchetti App-V possono essere configurati con un blocco di funzionalità primarie durante la sequenziazione. Questa impostazione permette al responsabile della sequenziazione di monitorare i file di avvio per un'applicazione specifica o per alcune applicazioni e di contrassegnare i blocchi di dati nel pacchetto App-V per lo streaming al primo avvio di qualsiasi applicazione nel pacchetto.

Attivazione dello stato di errore di flusso

Dopo lo streaming iniziale di eventuali dati pubblicati e del blocco di funzionalità primarie, le richieste di file aggiuntivi provocheranno l'attivazione dello stato di errore di flusso. Questi blocchi di dati vengono scaricati nell'archivio pacchetti in base alla necessità. Ciò permette a un utente di scaricare solo una piccola parte del pacchetto, in genere sufficiente per l'avvio del pacchetto e l'esecuzione delle attività normali. Tutti gli altri blocchi vengono scaricati quando un utente inizia un'operazione che richiede dati non attualmente presenti nell'archivio pacchetti.

Per altre informazioni sullo streaming di pacchetti App-V Package, vedere: https://go.microsoft.com/fwlink/?LinkId=392770.

La sequenziazione per l'ottimizzazione dello streaming è disponibile all'indirizzo seguente: https://go.microsoft.com/fwlink/?LinkId=392771.

Aggiornamenti dei pacchetti

I pacchetti App-V necessitano di aggiornamenti durante l'intero ciclo di vita dell'applicazione. Gli aggiornamenti dei pacchetti App-V sono simili all'operazione di pubblicazione di pacchetti, poiché ogni versione verrà creata in un percorso specifico in PackageRoot: %ProgramData%\App-V\{PkgGUID}\{newVerGUID}. L'operazione di aggiornamento viene ottimizzata tramite la creazione di collegamenti reali a file identici e sottoposti a streaming da altre versioni dello stesso pacchetto.

Rimozione dei pacchetti

Il comportamento del client di App-V durante la rimozione dei pacchetti dipende dal metodo usato per la rimozione. Se si usa un'infrastruttura di App-V completa per annullare la pubblicazione dell'applicazione, i file del catalogo utente (catalogo di computer per applicazioni pubblicate a livello globale) verranno rimossi, ma il percorso dell'archivio pacchetti e i percorsi di tipo copia su scrittura verranno mantenuti. Se si usa il cmdlet Remove-AppVClientPackge di PowerShell per rimuovere un pacchetto App-V, il percorso dell'archivio pacchetti verrà pulito. Occorre ricordare che l'annullamento della pubblicazione di un pacchetto App-V dal Server di gestione non comporta l'esecuzione di un'operazione di rimozione. I file del pacchetto dell'archivio pacchetti non verranno rimossi da queste operazioni.

Registro di sistema e dati di roaming

App-V 5 è in grado di offrire un'esperienza quasi nativa durante il roaming, in base al modo in cui l'applicazione viene usata e scritta. Per impostazione predefinita, App-V esegue il roaming di dati applicazione archiviati nel percorso di roaming, in base alla configurazione di roaming del sistema operativo. Non viene effettuato il roaming da computer a computer di altri percorsi per l'archiviazione di file basati su dati, poiché tali dati si trovano in percorsi che non vengono sottoposti a roaming.

Requisiti per il roaming e archiviazione dei dati del catalogo utente

App-V archivia i dati che rappresentano lo stato del catalogo utente nei modi seguenti:

  • File in %appdata%\Microsoft\AppV\Client\Catalog

  • Impostazioni del Registro di sistema in HKEY_CURRENT_USER\Software\Microsoft\AppV\Client\Packages

Questi file e queste impostazioni del Registro di sistema rappresentano il catalogo utente. È quindi necessario effettuare il roaming di entrambi o di nessuno dei due per un utente specifico. App-V non supporta il roaming di %AppData% senza il roaming del profilo di un utente (Registro di sistema) o viceversa.

Nota

Il cmdlet Repair-AppvClientPackage non ripristina lo stato di pubblicazione di pacchetti in cui lo stato App-V di un utente in HKEY_CURRENT_USER non è presente o non corrisponde ai dati in %appdata%.

Dati basati sul Registro di sistema

Per il roaming del Registro di sistema di App-V sono previsti due scenari, come illustrato nella tabella seguente.

Scenario Descrizione 

Applicazioni che vengono eseguite come utenti standard

Quando un utente standard avvia un'applicazione App-V, i valori per HKLM e HKCU per le applicazioni App-V vengono archiviati nell'hive HKCU nel computer. Vengono usati due percorsi distinti:

  • HKLM: HKCU\SOFTWARE\Classes\AppV\Client\Packages\{PkgGUID}\REGISTRY\MACHINE\SOFTWARE

  • HKCU: HKCU\SOFTWARE\Microsoft\AppV\Client\Packages\{PkgGUID}\REGISTRY\USER\{UserSID}\SOFTWARE

I percorsi sono abilitati per il roaming in base alle impostazioni del sistema operativo.

Applicazioni eseguite con elevazione dei privilegi

Quando un'applicazione viene avviata con elevazione dei privilegi:

  • I dati HKLM vengono archiviati nell'hive HKLM nel computer locale

  • I dati HKCU vengono archiviati nel percorso del Registro di sistema dell'utente

In questo scenario non viene effettuato il roaming di queste impostazioni con le configurazioni di roaming normali del sistema operativo e le chiavi e i valori risultanti del Registro di sistema vengono archiviati nel percorso seguente:

  • HKLM\SOFTWARE\Microsoft\AppV\Client\Packages\{PkgGUID}\{UserSID}\REGISTRY\MACHINE\SOFTWARE

  • HKCU\SOFTWARE\Microsoft\AppV\Client\Packages\{PkgGUID}\Registry\User\{UserSID}\SOFTWARE

App-V e reindirizzamento delle cartelle

App-V 5.1 supporta il reindirizzamento per la cartella AppData di roaming (%AppData%). Quando si avvia l'ambiente virtuale, lo stato di roaming di AppData dalla directory AppData di roaming viene copiato nella cache locale. Quando invece si arresta l'ambiente virtuale, la cache locale associata ai dati di AppData di roaming di un utente specifico viene trasferita nel percorso effettivo della directory AppData di roaming di tale utente.

Un pacchetto tipico include diversi percorsi mappati nell'archivio di backup dell'utente per impostazioni presenti in AppData\Local e AppData\Roaming. Questi percorsi corrispondono ai percorsi di tipo copia su scrittura archiviati per ogni utente nel profilo utente e usati per archiviare le modifiche apportate alle directory VFS del pacchetto e per proteggere le directory VFS predefinite del pacchetto.

La tabella seguente mostra i percorsi locali e di roaming, nel caso in cui il reindirizzamento delle cartelle non sia stato implementato.

Directory VFS nel pacchetto Percorso mappato dell'archivio di backup

ProgramFilesX86

C:\users\jsmith\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\ProgramFilesX86

SystemX86

C:\users\jsmith\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\SystemX86

Windows

C:\users\jsmith\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\Windows

appv_ROOT

C:\users\jsmith\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\appv_ROOT

AppData

C:\users\jsmith\AppData\Roaming\Microsoft\AppV\Client\VFS\<GUID>\AppData

 

La tabella seguente mostra i percorsi locali e di roaming nel caso in cui il reindirizzamento delle tabelle sia stato implementato per %AppData% e il percorso sia stato reindirizzato, in genere a un percorso di rete.

Directory VFS nel pacchetto Percorso mappato dell'archivio di backup

ProgramFilesX86

C:\users\jsmith\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\ProgramFilesX86

SystemX86

C:\users\jsmith\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\SystemX86

Windows

C:\users\jsmith\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\Windows

appv_ROOT

C:\users\jsmith\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\appv_ROOT

AppData

\\Fileserver\users\jsmith\roaming\Microsoft\AppV\Client\VFS\<GUID>\AppData

 

Il driver VFS attuale del client di App-V non può scrivere in percorsi di rete. Il client di App-V rileva quindi la presenza del reindirizzamento delle cartelle e copia i dati nell'unità locale durante la pubblicazione e durante l'avvio dell'ambiente virtuale. Dopo la chiusura dell'applicazione App-V da parte dell'utente e la chiusura dell'ambiente virtuale da parte del client di App-V, l'archiviazione locale di AppData VFS viene copiata di nuovo in rete, permettendo il roaming in computer aggiuntivi, nei quali verrà ripetuto questo processo. I passaggi dettagliati di questi processi sono i seguenti:

  1. Durante la pubblicazione o l'avvio dell'ambiente virtuale, il client di App-V rileva il percorso della directory AppData.

  2. Se il percorso di AppData di roaming è locale p se non è mappato alcun percorso AppData\Roaming, non verrà eseguita alcuna operazione.

  3. Se il percorso di AppData di roaming non è locale, la directory AppData VFS verrà mappata alla directory AppData locale.

Questo processo risolve il problema relativo a una directory %AppData% non locale non supportata dal driver VFS del client di App-V. Non verrà tuttavia effettuato il roaming dei dati archiviati in questo nuovo percorso con il reindirizzamento delle cartelle. Tutte le modifiche apportate durante l'esecuzione dell'applicazione vengono effettuate nel percorso AppData locale e devono essere copiate nel percorso reindirizzato. I passaggi dettagliati per questo processo sono i seguenti:

  1. L'applicazione App-V viene arrestata, arrestando quindi l'ambiente virtuale.

  2. La cache locale del percorso AppData di roaming viene compressa e archiviata in un file con estensione ZIP.

  3. Per assegnare un nome al file viene usato un timestamp alla fine del processo di creazione del pacchetto ZIP.

  4. Il timestamp viene registrato nel Registro di sistema: HKEY_CURRENT_USER\Software\Microsoft\AppV\Client\Packages\<GUID>\AppDataTime viene usato come ultimo timestamp noto per AppData.

  5. Il processo di reindirizzamento delle cartelle viene chiamato per valutare e avviare il file ZIP caricato nella directory AppData di roaming.

Il timestamp viene usato per determinare uno scenario in base al quale prevale la versione dell'ultimo writer in caso di conflitto e permette di ottimizzare il download dei dati quando l'applicazione App-V viene pubblicata o quando viene avviato l'ambiente virtuale. Il reindirizzamento delle cartelle renderà i dati disponibili da qualsiasi altro client interessato dai criteri di supporto e avvierà il processo di archiviazione dei dati di AppData\Roaming nel percorso AppData locale sul client. Le procedure dettagliate sono le seguenti:

  1. L'utente avvia l'ambiente virtuale tramite l'avvio di un'applicazione.

  2. L'ambiente virtuale dell'applicazione verifica il file ZIP con timestamp più recente, se presente.

  3. Il timestamp caricato noto più recente, se presente, viene cercato nel Registro di sistema.

  4. Se il timestamp locale di caricamento noto più recente non è successivo o uguale al timestamp del file ZIP, verrà scaricato il file ZIP più recente.

  5. Se il timestamp locale di caricamento noto più recente è precedente a quello del file ZIP più recente nel percorso AppData di roaming, il file ZIP verrà estratto nella directory temporanea locale del profilo dell'utente.

  6. Dopo l'estrazione corretta del file ZIP, la cache locale della directory AppData di roaming verrà rinominata e i nuovi dati verranno spostati nella posizione corretta.

  7. La directory rinominata viene eliminata e l'applicazione si apre con i dati di AppData di roaming salvati più di recente.

Questa operazione completa il roaming corretto di impostazioni dell'applicazione presenti nei percorsi AppData\Roaming. L'altra condizione da illustrare è un'operazione di ripristino del pacchetto. I dettagli del processo sono i seguenti:

  1. Durante il ripristino occorre rilevare se il percorso della directory AppData di roaming dell'utente non è locale.

  2. Eseguire il mapping dei percorsi AppData di roaming non locali. Le destinazioni vengono create di nuovo nei percorsi AppData di roaming e locali previsti.

  3. Eliminare il timestamp archiviato nel Registro di sistema, se presente.

Questo processo permette di creare di nuovo i percorsi locali e di rete per AppData e di rimuovere il record del Registro di sistema relativo al timestamp.

Gestione del ciclo di vita dell'applicazione del client di App-V

In un'infrastruttura completa di App-V, dopo la sequenziazione le applicazioni verranno gestite e pubblicate per utenti e computer tramite i server di gestione e pubblicazione di App-V. Questa sezione illustra in modo dettagliato le operazioni che si verificano durante il ciclo di vita dell'applicazione App-V (aggiunta, pubblicazione, avvio, aggiornamento e rimozione) e i percorsi di file e di Registro di sistema che subiscono modifiche dal punto di vista del client di App-V. Le operazioni del client di App-V vengono eseguite come una serie di comandi di PowerShell avviati nel computer che esegue il client di App-V.

Questo documento esamina in particolare le soluzioni per l'infrastruttura completa di App-V. Per informazioni specifiche sull'integrazione di App-V con Gestione configurazione 2012, vedere: https://go.microsoft.com/fwlink/?LinkId=392773.

Le attività del ciclo di vita dell'applicazione App-V vengono avviate all'accesso dell'utente (impostazione predefinita), all'avvio del computer o come operazioni programmate in background. Le impostazioni per le operazioni del client di App-V, inclusi i server di pubblicazione, gli intervalli di aggiornamento, l'abilitazione degli script per i pacchetti e altre impostazioni, vengono configurate durante l'installazione del client o dopo l'installazione tramite i comandi di PowerShell. Vedere la sezione Come distribuire il client dell'articolo seguente di TechNet: Come distribuire il client App-V oppure usare il comando seguente di PowerShell:

get-command *appv*

Aggiornamento della pubblicazione

Il processo di aggiornamento della pubblicazione è costituito da alcune operazioni più piccole, che vengono eseguite nel client di App-V. Poiché App-V è una tecnologia di virtualizzazione delle applicazioni, non una tecnologia di pianificazione delle attività, il servizio Utilità di pianificazione di Windows verrà usato per abilitare il processo all'accesso dell'utente, all'avvio del computer e in base a intervalli pianificati. La configurazione del client durante la procedura di installazione illustrata in precedenza è il metodo preferito quando si distribuisce il client a un gruppo di computer di grandi dimensioni con le impostazioni corrette. Queste impostazioni del client possono essere configurate con i seguenti cmdlet di PowerShell:

  • Add-AppVPublishingServer: configura il client con un server di pubblicazione di App-V che fornisce i pacchetti App-V.

  • Set-AppVPublishingServer: modifica le impostazioni attuali per il server di pubblicazione di App-V.

  • Set-AppVClientConfiguration: modifica le impostazioni attuali per il client di App-V.

  • Sync-AppVPublishingServer: avvia manualmente un processo di aggiornamento della pubblicazione di App-V. Viene usato anche nelle attività pianificate create durante la configurazione del server di pubblicazione.

Le sezioni seguenti descrivono in modo dettagliato le operazioni che si verificano durante le diverse fasi dell'aggiornamento di una pubblicazione di App-V. Gli argomenti includono le sezioni seguenti:

  • Aggiunta di un pacchetto App-V

  • Pubblicazione di un pacchetto App-V

Aggiunta di un pacchetto App-V

L'aggiunta di un pacchetto App-V al client è il primo passaggio del processo di aggiornamento della pubblicazione. Il risultato finale è analogo a quello ottenuto dal cmdlet Add-AppVClientPackage di PowerShell, ma durante il processo di aggiunta dell'aggiornamento della pubblicazione viene contattato il server di pubblicazione configurato, che restituisce un elenco generale di applicazioni al client, in modo da ottenere informazioni più dettagliate e non una singola operazione di aggiunta del pacchetto. Il processo continua configurando il client per le aggiunte o gli aggiornamenti di pacchetti o gruppi di connessione, quindi accede al file appv. I contenuti del file appv vengono quindi espansi e inseriti nei percorsi appropriati del sistema operativo locale. Di seguito è disponibile il flusso di lavoro dettagliato del processo, che presuppone la configurazione del pacchetto per l'attivazione dello stato di errore di flusso.

Come aggiungere un pacchetto App-V

  1. È possibile eseguire l'attivazione manuale tramite PowerShell o l'attivazione della sequenza di attività del processo di aggiornamento della pubblicazione.

    1. Il client di App-V stabilisce una connessione HTTP e richiede un elenco di applicazioni basato sulla destinazione. Il processo di aggiornamento della pubblicazione supporta i riferimenti a computer o utenti.

    2. Il server di pubblicazione di App-V usa l'identità della destinazione di avvio, utente o computer, ed esegue query nel database per ottenere un elenco di applicazioni autorizzate. L'elenco di applicazioni viene fornito come risposta XML, che viene usata dal client per inviare richieste aggiuntive per ottenere altre informazioni relative ai singoli pacchetti.

  2. L'agente di pubblicazione nel client di App-V esegue tutte le azioni serializzate di seguito.

    Valutare eventuali gruppi di connessione non pubblicati o disabilitati, poiché gli aggiornamenti della versione del pacchetto inclusi in un gruppo di connessione non possono essere elaborati.

  3. Configurare i pacchetti identificando le operazioni di aggiunta o aggiornamento.

    1. Il client di App-V usa l'API AppX da Windows e accede al file appv dal server di pubblicazione.

    2. Il file del pacchetto viene aperto e i file AppXManifest.xml e StreamMap.xml vengono scaricati nell'archivio pacchetti.

    3. Eseguire lo streaming completo dei dati del blocco di pubblicazione definiti in StreamMap.xml. I dati del blocco di pubblicazione vengono archiviati in Package Store\PkgGUID\VerGUID\Root.

      • Icone: destinazioni dei punti di estensione.

      • Intestazioni PE (Portable Executable, eseguibili portabili): destinazioni dei punti di estensione che includono le informazioni di base sulle immagini necessarie su disco, a cui si accede direttamente o tramite tipi di file.

      • Script: scaricare la directory degli script per l'uso durante il processo di pubblicazione.

    4. Popolare l'archivio pacchetti:

      1. creare file sparse sul disco che rappresentano i pacchetti estratti per le directory elencate.

      2. Eseguire la gestione temporanea dei file di primo livello e delle directory nella radice.

      3. Tutti gli altri file vengono creati quando la directory viene elencata come sparse su disco e ne viene eseguito lo streaming su richiesta.

    5. Creare le voci relative al catalogo di computer. Creare i file Manifest.xml e DeploymentConfiguration.xml dai file del pacchetto. Se il pacchetto non include alcun file DeploymentConfiguration.xml, verrà creato un segnaposto.

    6. Creare il percorso dell'archivio pacchetti nel Registro di sistema HKLM\Software\Microsoft\AppV\Client\Packages\PkgGUID\Versions\VerGUID\Catalog

    7. Creare il file Registry.dat dall'archivio pacchetti in %ProgramData%\Microsoft\AppV\Client\VReg\{VersionGUID}.dat

    8. Registrare il pacchetto con il driver in modalità kernel di App-V in HKLM\Microsoft\Software\AppV\MAV

    9. Richiamare gli script dal file AppxManifest.xml o DeploymentConfig.xml per la temporizzazione dell'aggiunta del pacchetto.

  4. Configurare i gruppi di connessione tramite l'aggiunta e l'abilitazione o la disabilitazione.

  5. Rimuovere gli oggetti non pubblicati nella destinazione (utente o computer).

    Nota

    Non verrà eseguita l'eliminazione del pacchetto, ma verranno invece rimossi i punti di integrazione per la destinazione specifica (utente o computer) e i file del catalogo utente (file del catalogo di computer in caso di pubblicazione a livello globale).

  6. Richiamare il montaggio di caricamento in background in base alla configurazione del client.

  7. I pacchetti che includono già le informazioni di pubblicazione per il computer o l'utente vengono ripristinati immediatamente.

    Nota

    Questa condizione si verifica come risultato della rimozione senza annullamento della pubblicazione con l'aggiunta in background del pacchetto.

L'aggiunta di un pacchetto App-V del processo di aggiornamento della pubblicazione è stata quindi completata. Il passaggio successivo consiste nella pubblicazione del pacchetto nella destinazione specifica (computer o utente).

Aggiunta di file e dati del Registro di sistema per il pacchetto

Pubblicazione di un pacchetto App-V

Durante l'operazione di aggiornamento della pubblicazione, l'operazione di pubblicazione specifica (Publish-AppVClientPackage) aggiunge voci al catalogo utente, mappa i diritti all'utente, identifica l'archivio locale e infine completa eventuali passaggi di integrazione. Di seguito sono riportati i passaggi dettagliati.

Come pubblicare un pacchetto App-V

  1. Le voci del pacchetto vengono aggiunte al catalogo utente.

    1. Pacchetti destinati agli utenti: i file UserDeploymentConfiguration.xml e UserManifest.xml vengono salvati nel catalogo utente nel computer.

    2. Pacchetti destinati ai computer (globali): il file UserDeploymentConfiguration.xml viene salvato nel catalogo di computer.

  2. Effettuare la registrazione del pacchetto con il driver in modalità kernel per l'utente in HKLM\Software\Microsoft\AppV\MAV.

  3. Eseguire le attività di integrazione.

    1. Creare i punti di estensione.

    2. Archiviare le informazioni di backup nel Registro di sistema dell'utente e nel profilo di roaming (backup di collegamenti).

      Nota

      In questo modo verrà abilitato il ripristino dei punti di estensione in caso di annullamento della pubblicazione del pacchetto.

    3. Eseguire gli script destinati alla temporizzazione della pubblicazione.

La pubblicazione di un pacchetto App-V che fa parte di un gruppo di connessione è molto simile al processo illustrato in precedenza. Per i gruppi di connessione, il percorso che archivia le informazioni specifiche del catalogo include PackageGroups come figlio della directory del catalogo. Per dettagli, esaminare le informazioni relative al catalogo di computer e utente riportate in precedenza.

Aggiunta di file e dati del Registro di sistema per il pacchetto - Globale

Avvio dell'applicazione

Al termine del processo di aggiornamento della pubblicazione, l'utente avvia e quindi riavvia un'applicazione App-V. Il processo è molto semplice ed è ottimizzato per un avvio rapido con un traffico di rete minimo. Il client di App-V verifica il percorso per il catalogo utente per i file creati durante la pubblicazione. Dopo la definizione dei diritti per l'avvio del pacchetto, il client di App-V Client crea un ambiente virtuale, inizia a eseguire lo streaming dei dati necessari, quindi applica i file manifest e di distribuzione appropriati durante la creazione dell'ambiente virtuale. Dopo la creazione e la configurazione dell'ambiente virtuale per il pacchetto specifico e per l'applicazione, verrà avviata l'applicazione.

Come avviare le applicazioni App-V

  1. L'utente avvia l'applicazione facendo clic su un collegamento o una chiamata di tipo file.

  2. Il client di App-V verifica l'esistenza dei file seguenti nel catalogo utente:

    • UserDeploymentConfiguration.xml

    • UserManifest.xml

  3. Se i file sono presenti, l'applicazione è autorizzata per l'utente specifico e avvierà il processo di avvio. In questa fase non è presente traffico di rete.

  4. Il client di App-V verifica quindi che il percorso per il pacchetto registrato per il servizio client di App-V sia presente nel Registro di sistema.

  5. Dopo l'individuazione del percorso per l'archivio pacchetti, viene creato l'ambiente virtuale. Se si tratta del primo avvio, viene scaricato il blocco di funzionalità primarie, se presente.

  6. Dopo il download, il servizio client di App-V utilizza i file manifest e di configurazione della distribuzione per configurare l'ambiente virtuale e vengono caricati tutti i sottosistemi di App-V.

  7. L'applicazione viene avviata. In caso di file mancanti nell'archivio pacchetti (file sparse), App-V eseguirà l'attivazione dello stato di errore di flusso dei file in base alla necessità.

    Aggiunta di file e dati del Registro di sistema per il pacchetto - Flusso

Aggiornamento di un pacchetto App-V

Il processo di aggiornamento del pacchetto App-V 5 è diverso rispetto a quello delle versioni precedenti di App-V. App-V supporta più versioni dello stesso pacchetto in un computer per cui sono autorizzati diversi utenti. È possibile aggiungere in qualsiasi momento le versioni dei pacchetti, poiché l'archivio pacchetti e i cataloghi vengono aggiornati con le nuove risorse. Il solo processo specifico per l'aggiunta di nuove risorse della versione è l'ottimizzazione dell'archiviazione. Durante un aggiornamento, solo i nuovi file vengono aggiunti al percorso di archiviazione della nuova versione e vengono creati collegamenti reali per i file non modificati. Ciò riduce l'archiviazione complessiva presentando solo il file in un percorso su disco e quindi proiettandolo in tutte le cartelle con una voce relativa al percorso del file su disco. I dettagli specifici per l'aggiornamento di un pacchetto App-V sono i seguenti:

Come aggiornare un pacchetto App-V

  1. Il client di App-V esegue un aggiornamento della pubblicazione e individua una versione più recente di un pacchetto App-V.

  2. Le voci del pacchetto vengono aggiunte al catalogo appropriato per la nuova versione.

    1. Pacchetti destinati agli utenti: i file UserDeploymentConfiguration.xml e UserManifest.xml vengono salvati nel catalogo utente nel computer in appdata\roaming\Microsoft\AppV\Client\Catalog\Packages\PkgGUID\VerGUID.

    2. Pacchetti destinati ai computer (globali): il file UserDeploymentConfiguration.xml viene salvato nel catalogo di computer in %programdata%\Microsoft\AppV\Client\Catalog\Packages\PkgGUID\VerGUID.

  3. Effettuare la registrazione del pacchetto con il driver in modalità kernel per l'utente in HKLM\Software\Microsoft\AppV\MAV.

  4. Eseguire le attività di integrazione.

    1. Integrare i punti di estensione dal file manifest e dal file di configurazione dinamica.
    1. I dati relativi ai punti di estensione basati sui file vengono archiviati nella cartella AppData tramite punti di giunzione dall'archivio pacchetti.

    2. I punti di estensione della versione 1 esistono già quando viene resa disponibile una versione più recente.

    3. I punti di estensione vengono sostituiti nel percorso relativo alla versione 2 nei cataloghi di computer o utente con punti di estensione più recenti o aggiornati.

  5. Eseguire gli script destinati alla temporizzazione della pubblicazione.

  6. Installare gli assembly side-by-side in base alla necessità.

Aggiornamento di un pacchetto App-V in uso

Avvio in App-V 5 SP2: se si prova ad aggiornare un pacchetto in uso da parte di un utente finale, l'attività di aggiornamento verrà sospesa. L'aggiornamento verrà eseguito in seguito, in base alle regole seguenti:

Tipo di attività Regola applicabile

Attività basata sull'utente, ad esempio pubblicazione di un pacchetto per un utente

L'attività sospesa verrà eseguita dopo la disconnessione e la nuova connessione da parte dell'utente.

Attività di livello globale, ad esempio abilitazione di un gruppo di connessione a livello globale

L'attività sospesa verrà eseguita dopo l'arresto e il riavvio del computer.

Quando un'attività viene sospesa, il client di App-V genera anche una chiave del Registro di sistema per l'attività sospesa, come indicato di seguito:

Attività basata sull'utente o attività globale Posizione in cui viene generata la chiave del Registro di sistema

Attività basate sull'utente

KEY_CURRENT_USER\Software\Microsoft\AppV\Client\PendingTasks

Attività di livello globale

HKEY_LOCAL_MACHINE\Software\Microsoft\AppV\Client\PendingTasks

Per permettere agli utenti di usare la versione più recente del pacchetto, è necessario completare prima di tutto le operazioni seguenti:

Attività Dettagli

Aggiungere il pacchetto al computer

Questa attività è specifica del computer ed è possibile eseguirla in qualsiasi momento completando i passaggi illustrati nella sezione precedente relativa all'aggiunta dei pacchetti.

Pubblicare il pacchetto

Per informazioni sulla procedura, vedere la sezione precedente relativa alla pubblicazione dei pacchetti. Questo processo richiede l'aggiornamento dei punti di estensione nel sistema. Gli utenti finali non possono usare l'applicazione durante il completamento di questa attività.

Usare gli scenari di esempio seguenti come guida per l'aggiornamento dei pacchetti.

Scenario Requisiti

Il pacchetto App-V non è in uso quando si prova a eseguire l'aggiornamento

Nessuno dei componenti seguenti del pacchetto può essere in uso: applicazione virtuale, server COM o estensioni della shell.

L'amministratore pubblica una versione più recente del pacchetto e l'aggiornamento viene applicato al successivo avvio di un componente o di un'applicazione del pacchetto. La nuova versione del pacchetto viene sottoposta a streaming e viene eseguita. Nessuna modifica a questo scenari in App-V 5 SP2 rispetto alle versioni precedenti di App-V 5.

Il pacchetto App-V è in uso quando l'amministratore pubblica una versione più recente del pacchetto

L'operazione di aggiornamento viene sospesa dal client di App-V, ovvero viene accodata ed eseguita in seguito quando il pacchetto non è in uso.

Se l'applicazione del pacchetto è in uso, l'utente arresta l'applicazione virtuale, in modo da permettere l'esecuzione dell'aggiornamento.

Se il pacchetto include estensioni della shell (Office 2013), caricate in modo permanente da Esplora risorse, l'utente non potrà effettuare l'accesso. Gli utenti devono disconnettersi e riconnettersi per avviare l'aggiornamento del pacchetto App-V.

Confronto tra pubblicazione a livello globale e a livello utente

I pacchetti App-V possono essere pubblicati in due modi, ovvero a livello utente, per assegnare le autorizzazioni per un pacchetto App-V a un utente o un gruppo di utenti specifico, e a livello globale, per assegnare le autorizzazioni per il pacchetto App-V all'intero computer per tutti gli utenti del computer. Dopo la sospensione dell'aggiornamento di un pacchetto e quando il pacchetto App-V non è in uso, è possibile esaminare i due tipi di pubblicazione:

  • Pubblicazione a livello globale: l'applicazione viene pubblicata in un computer e tutti gli utenti del computer possono usarla. L'aggiornamento verrà eseguito all'avvio del client di App-V, ovvero al riavvio del computer.

  • Pubblicazione a livello utente: l'applicazione viene pubblicata per un utente. Se nel computer sono presenti più utenti, sarà possibile pubblicare l'applicazione per un sottoinsieme di utenti. L'aggiornamento verrà eseguito all'accesso dell'utente o quando viene pubblicato nuovamente (periodicamente, con aggiornamento e valutazione dei criteri ConfigMgr, con pubblicazione/aggiornamento periodico di App-V oppure esplicitamente tramite i comandi PowerShell).

Rimozione di un pacchetto App-V

La rimozione di applicazioni App-V in un'infrastruttura completa corrisponde a un'operazione di annullamento della pubblicazione e non comporta la rimozione di un pacchetto. Il processo è analogo al processo di pubblicazione illustrato in precedenza, ma invece di aggiungere modifiche, il processo di rimozione inverte le modifiche apportate ai pacchetti App-V.

Ripristino di un pacchetto App-V

L'operazione di ripristino è molto semplice, ma potrebbe interessare molti percorsi nel computer. I percorsi di tipo copia su scrittura indicati in precedenza vengono rimossi e viene annullata l'integrazione dei punti di estensione, che vengono quindi reintegrati. Verificare i percorsi di inserimento di dati di tipo copia su scrittura, verificando la posizione in cui sono registrati nel Registro di sistema. Questa operazione viene eseguita automaticamente e non è disponibile alcun controllo amministrativo, oltre alla possibilità di avviare un'operazione di ripristino dalla console del client di App-V oppure tramite PowerShell (Repair-AppVClientPackage).

Integrazione di pacchetti App-V

L'architettura del client di App-V e dei pacchetti offre un'integrazione specifica con il sistema operativo locale durante l'aggiunta e la pubblicazione di pacchetti. I punti di integrazione o di estensione per un pacchetto App-V sono definiti da tre file:

  • AppXManifest.xml: archiviato nel pacchetto con copie di fallback archiviate nell'archivio pacchetti e nel profilo utente. Include le opzioni create durante il processo di sequenziazione.

  • DeploymentConfig.xml: fornisce le informazioni di configurazione del computer e i punti di estensione per l'integrazione basata sull'utente.

  • UserConfig.xml: sottoinsieme del file Deploymentconfig.xml, fornisce solo configurazioni su base utente e fa riferimento solo a punti di estensione su base utente.

Regole di integrazione

Quando le applicazioni App-V vengono pubblicate in un computer con il client di App-V, vengono eseguite alcune azioni specifiche, come illustrato nell'elenco seguente:

  • Pubblicazione a livello globale: i collegamenti vengono archiviati nel percorso del profilo Tutti gli utenti e gli altri punti di estensione vengono archiviati nell'hive HKLM del Registro di sistema.

  • Pubblicazione a livello utente: i collegamenti vengono archiviati nel profilo dell'account utente attivo e gli altri punti di estensione vengono archiviati nell'hive HKCU del Registro di sistema.

  • Backup e ripristino: durante la pubblicazione viene eseguito il backup dei dati e del Registro di sistema nativi dell'applicazione (ad esempio le registrazioni FTA).

    1. La proprietà viene assegnata ai pacchetti App-V in base all'ultimo pacchetto integrato in cui la proprietà viene passata all'applicazione App-V pubblicata più recente.

    2. La proprietà viene trasferita da un pacchetto App-V a un altro quando viene annullata la pubblicazione del pacchetto App-V proprietario. Non verrà però avviato un ripristino dei dati o del Registro di sistema.

    3. Ripristinare i dati di cui è stato eseguito il backup quando viene annullata la pubblicazione dell'ultimo pacchetto o quando tale pacchetto viene rimosso in base ai singoli punti di estensione.

Punti di estensione

I file di pubblicazione di App-V (file manifest e di configurazione dinamica) forniscono alcuni punti di estensione, che permettono l'integrazione dell'applicazione con il sistema operativo locale. Questi punti di estensione eseguono attività di installazione tipiche per l'applicazione, ad esempio il posizionamento di collegamenti, la creazione di associazioni ai tipi di file e la registrazione di componenti. Poiché si tratta di applicazioni virtualizzate, non installate in modo analogo a quello delle applicazioni tradizionali, esistono alcune differenze. L'elenco seguente include i punti di estensione illustrati in questa sezione:

  • Collegamenti

  • Associazioni tipo file

  • Estensioni della shell

  • COM

  • Client software

  • Funzionalità delle applicazioni

  • Gestore di protocollo URL

  • AppPath

  • Applicazione virtuale

Collegamenti

Il collegamento è uno degli elementi di base dell'integrazione con il sistema operativo e costituisce l'interfaccia per l'avvio diretto di un'applicazione App-V da parte dell'utente. Vengono usati durante la pubblicazione e l'annullamento della pubblicazione di applicazioni App-V.

Partendo dai file manifest e XML di configurazione dinamica del pacchetto, è possibile individuare il percorso di un file eseguibile specifico di un'applicazione in una sezione analoga alla seguente:

<Extension Category="AppV.Shortcut">
          <Shortcut>
            <File>[{Common Desktop}]\Adobe Reader 9.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>

Come accennato in precedenza, i collegamenti di App-V vengono posizionati per impostazione predefinita nel profilo utente in base al tipo di operazione di aggiornamento. L'aggiornamento globale inserisce collegamenti nel profilo Tutti gli utenti e l'aggiornamento a livello utente li inserisce nel profilo dell'utente specifico. Il file eseguibile effettivo viene archiviato nell'archivio pacchetti. Il percorso del file ICO è un percorso con token nel pacchetto App-V.

Associazioni tipo file

Il client di App-V gestisce le associazioni ai tipi di file del sistema operativo locale durante la pubblicazione, permettendo quindi agli utenti di usare le chiamate relative ai tipi di file o di aprire un file con un'estensione registrata in modo specifico (DOCX) per avviare un'applicazione App-V. Le associazioni ai tipi di file sono presenti nei file manifest e di configurazione dinamica, come illustrato nell'esempio seguente:

<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 9</FriendlyName>
                  <CommandLine>"[{AppVPackageRoot}]\Reader\AcroRd32.exe" "%1"</CommandLine>
                </ShellCommand>
              </ShellCommands>
            </ProgId>
          </FileTypeAssociation>
        </Extension>

Nota

In questo esempio:

  • <Name>.xdp</Name> è l'estensione.

  • <Name>AcroExch.XDPDoc</Name> è il valore ProgId, che fa riferimento al ProgId adiacente.

  • <CommandLine>"[{AppVPackageRoot}]\Reader\AcroRd32.exe" "%1"</CommandLine> è la riga di comando, che fa riferimento al file eseguibile dell'applicazione.

Estensioni della shell

Le estensioni della shell vengono incorporate automaticamente nel pacchetto durante il processo di sequenziazione. Quando il pacchetto viene pubblicato a livello globale, l'estensione della shell offre agli utenti la stessa funzionalità che avrebbero con l'applicazione installata localmente. Per abilitare la funzionalità di estensione della shell, l'applicazione non richiede alcuna installazione o configurazione aggiuntiva nel client.

Requisiti per l'uso delle estensioni della shell:

  • I pacchetti contenenti le estensioni della shell incorporate devono essere pubblicati a livello globale.

  • Le estensioni della shell non funzionano se il numero di bit dell'applicazione, il sequencer e il client App-V non corrispondono. Ad esempio:

    • La versione dell'applicazione è a 64 bit.

    • Il Sequencer è in esecuzione in un computer a 64 bit.

    • Il pacchetto viene distribuito in un computer client App-V a 64 bit.

La tabella seguente illustra le estensioni della shell supportate.

Gestore Descrizione 

Gestore del menu di scelta rapida

Aggiunge voci al menu di scelta rapida. Viene chiamato prima che venga visualizzato il menu di scelta rapida.

Gestore di trascinamento della selezione

Controlla l'azione associata al clic con il pulsante destro del mouse e il trascinamento della selezione e modifica il menu di scelta rapida visualizzato.

Gestore dell'obiettivo di rilascio

Controlla l'azione dopo che un oggetto dati è stato trascinato e rilasciato su un obiettivo di rilascio, ad esempio un file.

Gestore dell'oggetto dati

Controlla l'azione dopo che un file viene copiato negli Appunti o trascinato e rilasciato su un obiettivo di rilascio. Può fornire altri formati degli Appunti all'obiettivo di rilascio.

Gestore della finestra delle proprietà

Sostituisce o aggiunge pagine alla finestra delle proprietà di un oggetto.

Gestore della finestra popup

Consente di recuperare i flag e le informazioni della finestra popup di un elemento e di visualizzarli all'interno di una descrizione comando popup al passaggio del mouse.

Gestore delle colonne

Consente di creare e visualizzare colonne personalizzate nella visualizzazione Dettagli di Esplora risorse. Può essere usato per estendere l'ordinamento e il raggruppamento.

Gestore anteprima

Consente la visualizzazione dell'anteprima di un file nel riquadro di anteprima di Esplora risorse.

COM

Il client di App-V supporta la pubblicazione di applicazioni con supporto per l'integrazione COM e la virtualizzazione. L'integrazione COM permette al client di App-V di registrare oggetti COM nel sistema operativo locale e permette la virtualizzazione degli oggetti. Ai fini di questo documento, l'integrazione di oggetti COM richiede dettagli aggiuntivi.

App-V supporta la registrazione di oggetti COM dal pacchetto nel sistema operativo locale con due tipi di processo: out-of-process e in-process. La registrazione degli oggetti COM viene eseguita con una modalità operativa o con una combinazione di modalità operative per un pacchetto App-V specifico, incluse la modalità disattivata, la modalità isolata e la modalità integrata. La modalità integrata è configurata per i tipi di processo out-of-process o in-process. La configurazione delle modalità e dei tipi COM viene eseguita tramite i file di configurazione dinamica (deploymentconfig.xml o userconfig.xml).

I dettagli relativi all'integrazione di App-V sono disponibili all'indirizzo seguente: https://go.microsoft.com/fwlink/?LinkId=392834.

Client software e funzionalità delle applicazioni

App-V supporta client software e punti di estensione delle funzionalità delle applicazioni specifici, che permettono la registrazione delle applicazioni virtualizzate con il client software del sistema operativo. Ciò permette agli utenti di selezionare programmi predefiniti per operazioni quali l'uso della posta elettronica, della messaggistica immediata e di un lettore multimediale. Questa operazione viene eseguita nel Pannello di controllo tramite Impostazioni accesso ai programmi e viene configurata durante la sequenziazione nei file manifest o di configurazione dinamica. Le funzionalità delle applicazioni sono supportate solo quando le applicazioni App-V vengono pubblicate a livello globale.

Esempio di registrazione di client software per un client di posta basato su 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

In questo esempio:

  • <ClientConfiguration EmailEnabled="true" /> è l'impostazione complessiva dei client software per l'integrazione dei client di posta elettronica.

  • <EMail MakeDefault="true"> è il flag per configurare un client di posta elettronica specifico come client di posta elettronica predefinito.

  • <MAPILibrary>[{ProgramFilesX86}]\Mozilla Thunderbird\mozMapi32_InUse.dll</MAPILibrary> è la registrazione del file DLL MAPI.

Gestore di protocollo URL

Le applicazioni non chiamano sempre in modo specifico le applicazioni virtualizzate usando la chiamata relativa ai tipi di file. Ad esempio, in un'applicazione che supporta l'incorporamento di un collegamento mailto: in un documento o in una pagina Web, l'utente fa clic sul collegamento mailto: e si aspetta di ottenere il rispettivo client di posta elettronica registrato. App-V supporta i gestori di protocollo URL che possono essere registrati in base al singolo pacchetto con il sistema operativo locale. Durante la sequenziazione i gestori di protocollo URL vengono aggiunti automaticamente al pacchetto.

Nelle situazioni in cui sono presenti più applicazioni che potrebbero registrare il gestore di protocollo URL specifico, è possibile usare i file di configurazione dinamica per modificare il comportamento ed eliminare o disabilitare questa funzionalità per un'applicazione che non deve essere l'applicazione primaria avviata.

AppPath

Il punto di estensione AppPath supporta la chiamata diretta di applicazioni App-V dal sistema operativo. Per ottenere questo risultato si usa in genere la schermata di esecuzione o di avvio, in base al sistema operativo, in modo da permettere agli amministratori di fornire l'accesso alle applicazioni App-V dai comandi o dagli script del sistema operativo, senza chiamare il percorso specifico del file eseguibile. Si evita quindi di modificare la variabile relativa all'ambiente del percorso di sistema in tutti i sistemi, poiché questa operazione viene eseguita durante la pubblicazione.

Il punto di estensione AppPath viene configurato nei file manifest o di configurazione dinamica e viene archiviato nel Registro di sistema nel computer locale durante la pubblicazione per l'utente. Informazioni aggiuntive su AppPath sono disponibili all'indirizzo seguente: https://go.microsoft.com/fwlink/?LinkId=392835.

Applicazione virtuale

Questo sottosistema fornisce un elenco di applicazioni acquisite durante la sequenziazione, usato in genere da altri componenti di App-V. È possibile disabilitare l'integrazione dei punti di estensione appartenenti a un'applicazione specifica usando i file di configurazione dinamica. Se, ad esempio, un pacchetto contiene due applicazioni, è possibile disabilitare tutti i punti di estensione appartenenti a un'applicazione, in modo da permettere solo l'integrazione dei punti di estensione dell'altra applicazione.

Regole dei punti di estensione

I punti di estensione illustrati in precedenza vengono integrati nel sistema operativo in base alla modalità di pubblicazione dei pacchetti. La pubblicazione a livello globale inserisce i punti di estensione nei percorso pubblici del computer, mentre la pubblicazione a livello utente inserisce i punti di estensione in percorsi utente. Ad esempio, un collegamento creato sul desktop e pubblicato a livello globale avrà come risultato dati di file per il collegamento (%Public%\Desktop) e dati del Registro di sistema (HKLM\Software\Classes). Lo stesso collegamento avrebbe dati di file (%UserProfile%\Desktop) e dati del Registro di sistema (HKCU\Software\Classes).

Non tutti i punti di estensione vengono pubblicati nello stesso modo. Alcuni punti di estensione, ad esempio, necessitano di pubblicazione a livello globale, mentre altri richiedono la sequenziazione nel sistema operativo specifico e nell'architettura in cui vengono resi disponibili. La tabella seguente illustra queste due regole principali.

Estensione virtuale Richiede la sequenziazione del sistema operativo di destinazione Richiede la pubblicazione a livello globale

Collegamento

Associazione tipo file

Protocolli URL

X

AppPaths

X

Modalità COM

Client software

X

Funzionalità delle applicazioni

X

X

Gestore del menu di scelta rapida

X

X

Gestore di trascinamento della selezione

X

Gestore dell'oggetto dati

X

Gestore della finestra delle proprietà

X

Gestore della finestra popup

X

Gestore delle colonne

X

Estensioni della shell

X

Oggetto browser helper

X

X

Oggetto Active X

X

X

Elaborazione della configurazione dinamica

La distribuzione di pacchetti App-V in un computer o per un utente è molto semplice. Poiché, tuttavia, le organizzazioni distribuiscono le applicazioni in linee aziendali diverse e oltre limiti geografici e politici, è impossibile sequenziare un'applicazione una volta sola con un set di impostazioni. App-V è stato progettato per questo scenario, poiché acquisisce impostazioni e configurazioni specifiche durante la sequenziazione nel file manifest, ma supporta anche la modifica con i file di configurazione dinamica.

La configurazione dinamica di App-V permette di specificare un criterio per un pacchetto a livello di computer o a livello di utente. I file di configurazione dinamica permettono ai responsabili della sequenziazione di modificare la configurazione di un pacchetto, dopo la sequenziazione, per soddisfare le esigenze di singoli gruppi di utenti o computer. In alcuni casi potrebbe essere necessario modificare l'applicazione per fornire la funzionalità appropriata nell'ambiente App-V. Potrebbe essere ad esempio necessario modificare i file _*config.xml per permettere l'esecuzione di determinate azioni in un momento specifico durante l'esecuzione dell'applicazione, ad esempio disabilitando un'estensione mailto per impedire a un'applicazione virtualizzata di sovrascrivere l'estensione da un'altra applicazione.

I pacchetti App-V contengono il file manifest nel file del pacchetto appv. Ciò è rappresentativo delle operazioni di sequenziazione e costituisce il criterio preferibile, a meno che i file di configurazione dinamica non siano assegnati a un pacchetto specifico. Dopo la sequenziazione sarà possibile modificare i file di configurazione dinamica per permettere la pubblicazione dell'applicazione in desktop diversi o per utenti con punti di estensione diversi. I due file di configurazione dinamica sono il file di configurazione della distribuzione dinamica (DDC, Dynamic Deployment Configuration) e il file di configurazione dell'utente dinamica (DUC, Dynamic User Configuration). Questa sezione illustra la combinazione di file manifest e di file di configurazione dinamica.

Esempio di file di configurazione dinamica

L'esempio seguente illustra la combinazione dei file manifest, file di configurazione della distribuzione dinamica e file di configurazione dell'utente dinamica dopo la pubblicazione e durante il normale funzionamento. Questi esempi costituiscono esempi abbreviati di ogni file, con la sola finalità di illustrare la combinazione dei file e non per offrire una descrizione completa delle categorie specifiche disponibili in ogni file. Per altre informazioni, vedere la guida per la sequenziazione di App-V 5 all'indirizzo seguente: https://go.microsoft.com/fwlink/?LinkID=269810

Manifest

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

Configurazione della distribuzione

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

Configurazione dell'utente

<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:lcon>[{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:lcon>[{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>

Assembly side-by-side

App-V supporta la creazione automatica di pacchetti di assembly side-by-side (SxS) durante la sequenziazione e la distribuzione nel client durante la pubblicazione delle applicazioni virtuali. App-V 5 SP2 supporta l'acquisizione di assembly side-by-side durante la sequenziazione per gli assembly non presenti nel computer di sequenziazione. Nel caso degli assembly costituiti da Visual C++ (versione 8 e versioni successive) e/o di runtime MSXML, Sequencer rileverà e acquisirà automaticamente tali dipendenze anche se non sono state installate durante il monitoraggio. La funzionalità relativa agli assembly side-by-side rimuove i limiti presenti nelle versioni precedenti di App-V, in cui App-V Sequencer non acquisisce gli assembly già presenti nella workstation di sequenziazione, e i limiti relativi alla privatizzazione degli assembly, che consentono solo la versione a un bit per ogni pacchetto. Questo comportamento ha come conseguenza la mancanza degli assembly SxS necessari nelle applicazioni App-V distribuite e provoca errori di avvio dell'applicazione. È quindi necessario che il processo di creazione di pacchetti documenti e verifichi l'installazione locale di tutti gli assembly necessari per i pacchetti nel sistema operativo del client, per assicurare il supporto per le applicazioni virtuali. In base al numero di assembly e alla mancanza di documentazione sull'applicazione per le dipendenze necessarie, questa attività risulta complessa a livello di gestione e implementazione.

Il supporto degli assembly side-by-side in App-V offre le funzionalità seguenti.

  • Acquisizioni automatiche di assembly SxS durante la sequenziazione, indipendentemente dall'installazione o meno dell'assembly nella workstation di sequenziazione.

  • Il client di App-V installa automaticamente gli assembly SxS necessari nel computer client in fase di pubblicazione, se non sono presenti.

  • Il sequencer segnala la dipendenza di runtime VC nel meccanismo di creazione di report del sequencer.

  • Sequencer permette di scegliere di non inserire nei pacchetti gli assembly già installati in Sequencer, supportando scenari in cui gli assembly sono stati installati in precedenza nei computer di destinazione.

Pubblicazione automatica di assembly SxS

Durante la pubblicazione di un pacchetto App-V con assembly SxS, il client di App-V verifica la presenza degli assembly nel computer. Se l'assembly non esiste, il client distribuirà l'assembly nel computer. I pacchetti che fanno parte di gruppi di connessione si baseranno sulle installazioni di assembly side-by-side incluse nei pacchetti di base, poiché il gruppo di connessione non contiene informazioni sull'installazione degli assembly.

Nota

L'annullamento della pubblicazione o la rimozione di un pacchetto con un assembly non comporta la rimozione degli assembly per tale pacchetto.

Registrazione del client

Il client di App-V registra le informazioni nel registro eventi di Windows usando il formato ETW standard. Gli eventi specifici di App-V sono disponibili nel Visualizzatore eventi, in Registri applicazioni e servizi\Microsoft\AppV\Client.

Nota

In App-V 5.0 SP3 alcuni log sono stati consolidati e spostati nel percorso seguente:

Event logs/Applications and Services Logs/Microsoft/AppV/ServiceLog

Per un elenco dei log spostati, vedere App-V event logs have been consolidated.

Vengono registrate le tre categorie specifiche di eventi seguenti.

Amministrativo: registra gli eventi per le configurazioni che vengono applicate al client di App-V e include gli avvisi e gli errori primari.

Operativo: registra le informazioni generali sull'esecuzione e l'uso dei singoli componenti di App-V, creando un registro di controllo delle operazioni di App-V completate nel client di App-V.

Applicazione virtuale: registra le informazioni sugli avvii e sull'uso dei sottosistemi di virtualizzazione delle applicazioni virtuali.

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.

-----
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.
-----