Pubblicazione di applicazioni e interazione client

Si applica a:

  • Windows 10
  • Windows 11

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

File di pacchetto App-V creati da Sequencer

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

File Descrizione
.appv - File del pacchetto primario, che contiene gli asset acquisiti e le informazioni sullo stato del processo di sequenziazione.
- Architettura del file del pacchetto, pubblicazione di informazioni e registro in un formato con token che può essere riapplicato a un computer e a un utente specifico al momento del recapito.
.MSI Wrapper di distribuzione eseguibile che è possibile usare per distribuire i file con estensione appv manualmente o usando 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 a livello globale a tutti gli utenti in un computer che esegue il client 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 App-V.
Report.xml Riepilogo dei messaggi risultanti dal processo di sequenziazione, inclusi driver, file e percorsi del Registro di sistema omessi.
.CAB Facoltativo: file acceleratore di pacchetti usato per ricompilare automaticamente un pacchetto di applicazione virtuale sequenziato in precedenza.
.appvt Facoltativo: file modello Sequencer usato per mantenere le impostazioni sequencer comunemente riutilizzate.

Per altre informazioni sulla sequenziazione, vedere Come sequenziare una nuova applicazione con App-V.

Cosa c'è nel file appv?

Il file appv è un contenitore che archivia i file XML e non XML insieme in una singola entità. Questo file è basato sul formato AppX, basato sullo standard OPC (Open Packaging Conventions).

Per visualizzare il contenuto del file appv, creare una copia del pacchetto e quindi rinominare il file copiato in un'estensione .zip.

Il file appv contiene la cartella e i file seguenti, usati durante la creazione e la pubblicazione di un'applicazione virtuale:

Nome Tipo Descrizione
Root Cartella di file Directory che contiene il file system per l'applicazione virtualizzata acquisita durante la sequenziazione.
[Content_Types].xml XML File Elenco dei tipi di contenuto di base nel file appv ,ad esempio DLL, EXE, BIN.
AppxBlockMap.xml XML File Layout del file appv, che usa elementi File, Block e BlockMap che abilitano la posizione e la convalida dei file nel pacchetto App-V.
AppxManifest.xml XML File Metadati per il pacchetto che contiene le informazioni necessarie per l'aggiunta, la pubblicazione e l'avvio del pacchetto. Include i punti di estensione (associazioni di tipi di file e collegamenti) e i nomi e i GUID associati al pacchetto.
FilesystemMetadata.xml XML File Elenco dei file acquisiti durante la sequenziazione, inclusi gli attributi ,ad esempio directory, file, directory opache, directory vuote e nomi lunghi e brevi.
PackageHistory.xml XML File Informazioni sul computer di sequenziazione (versione del sistema operativo, versione di Internet Explorer, versione di .Net Framework) e sul processo (aggiornamento, versione del pacchetto).
Registry.dat DAT File Chiavi e valori del Registro di sistema acquisiti durante il processo di sequenziazione per il pacchetto.
StreamMap.xml XML File Elenco di file per il blocco di funzionalità primario e di pubblicazione. Il blocco di funzionalità di pubblicazione contiene i file ICO e le parti necessarie di file (EXE e DLL) per la pubblicazione del pacchetto. Se presente, il blocco di funzionalità principale include i file ottimizzati per lo streaming durante il processo di sequenziazione.

Percorsi di archiviazione dei dati del client App-V

Il client App-V esegue attività per mantenere le applicazioni virtuali in esecuzione correttamente e funzionano come le applicazioni installate in locale. Il processo di apertura ed esecuzione di applicazioni virtuali richiede il mapping dal file system virtuale e dal Registro di sistema per garantire che l'applicazione disponga dei componenti necessari di un'applicazione tradizionale prevista dagli utenti. Questa sezione descrive gli asset necessari per eseguire applicazioni virtuali ed elenca il percorso 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 computer %ProgramData%\Microsoft\AppV\Client\Catalog Contiene documenti di configurazione per computer.
Catalogo utenti %AppData%\Microsoft\AppV\Client\Catalog Contiene documenti di configurazione per utente.
Backup dei collegamenti %AppData%\Microsoft\AppV\Client\Integration\ShortCutBackups Archivia i punti di integrazione precedenti che consentono il ripristino in caso di annullamento della pubblicazione del pacchetto.
Copia in roaming in scrittura (COW) %AppData%\Microsoft\AppV\Client\VFS Posizione di roaming scrivibile per la modifica del pacchetto.
Copia in scrittura (COW) locale %LocalAppData%\Microsoft\AppV\Client\VFS Posizione non mobile scrivibile per la modifica del pacchetto.
Registro di sistema del computer HKLM\Software\Microsoft\AppV Contiene informazioni sullo stato del pacchetto, tra cui VReg per i pacchetti pubblicati a livello di computer o a livello globale (Hive computer).
Registro utenti HKCU\Software\Microsoft\AppV Contiene informazioni sullo stato del pacchetto utente, tra cui VReg.
Classi del Registro di sistema degli utenti HKCU\Software\Classes\AppV Contiene altre informazioni sullo stato del pacchetto utente.

Altri dettagli per la tabella sono disponibili nella sezione seguente e in tutto il documento.

Archivio pacchetti

Il client App-V gestisce gli asset delle applicazioni montati nell'archivio pacchetti. Questo percorso di archiviazione predefinito è %ProgramData%\App-V, ma è possibile configurarlo durante o dopo l'installazione usando il cmdlet Set-AppVClientConfiguration Windows PowerShell, che modifica il registro locale (valore PackageInstallationRoot nella chiave HKLM\Software\Microsoft\AppV\Client\Streaming). L'archivio pacchetti deve trovarsi in un percorso locale nel sistema operativo client. I singoli pacchetti vengono archiviati nell'archivio pacchetti in sottodirectory denominate dopo il GUID del pacchetto e il GUID della versione.

Di seguito è riportato un esempio di percorso di un'applicazione specifica:

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

Per modificare il percorso predefinito dell'archivio pacchetti durante l'installazione, vedere Abilitare il client desktop App-V.

Archivio contenuto condiviso

Se il client App-V è configurato in modalità Archivio contenuto condiviso, non vengono scritti dati su disco quando si verifica un errore di flusso, il che significa che i pacchetti richiedono spazio su disco locale minimo (dati di pubblicazione). Negli ambienti VDI in cui l'archiviazione locale può essere limitata, è importante usare il minor spazio possibile su disco. È possibile ridurre al minimo l'utilizzo dello spazio su disco eseguendo lo streaming di applicazioni da un percorso di rete a prestazioni elevate, ad esempio una SAN. Per altre informazioni, vedere Shared Content Store in Microsoft App-V 5.0 - Behind the Scenes.

Nota

Il computer e l'archivio pacchetti devono trovarsi in un'unità locale, anche quando si usano configurazioni di Archivio contenuto condiviso per il client App-V.

Cataloghi di pacchetti

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

  • Cataloghi (utente e computer).
  • Posizioni del Registro di sistema: dipende dal modo in cui il pacchetto è destinato alla pubblicazione. È disponibile un catalogo (archivio dati) per il computer e un catalogo per ogni singolo utente. Il catalogo computer archivia le informazioni globali applicabili a tutti gli utenti o a qualsiasi utente specifico e il catalogo utenti archivia le informazioni applicabili a un utente specifico. Il catalogo è una raccolta di configurazioni dinamiche e file manifesto; sono disponibili dati discreti sia per il file che per il Registro di sistema per ogni versione del pacchetto.

Catalogo computer

I percorsi descritti in questa tabella sono disponibili nella cartella %programdata%\Microsoft\AppV\Client\Catalog\.

Posizione
Descrizione Archivia i documenti dei pacchetti disponibili per gli utenti nel computer quando vengono aggiunti e pubblicati i pacchetti. Tuttavia, se un pacchetto è "globale" in fase di pubblicazione, le integrazioni sono disponibili per tutti gli utenti.

Se un pacchetto non è globale, le integrazioni vengono pubblicate solo per utenti specifici, ma sono ancora presenti risorse globali che vengono modificate e visibili a chiunque nel computer client, ad esempio quando la directory del pacchetto si trova in un percorso del disco condiviso.

Se un pacchetto è disponibile per un utente nel computer (globale o non globale), il manifesto viene archiviato nel Catalogo computer. Quando un pacchetto viene pubblicato a livello globale, è presente un file di configurazione dinamica, archiviato nel Catalogo computer; Pertanto, la determinazione del fatto che un pacchetto sia globale viene definita in base al fatto che nel Catalogo computer sia presente un file di criteri (file UserDeploymentConfiguration).
Percorso di archiviazione predefinito %programdata%\Microsoft\AppV\Client\Catalog<br>
Questo percorso non è lo stesso del percorso di Package Store. Package Store è la copia d'oro o incontaminata dei file del pacchetto.
File nel catalogo computer - Manifest.xml
- DeploymentConfiguration.xml
- UserManifest.xml (pacchetto pubblicato a livello globale)
- UserDeploymentConfiguration.xml (pacchetto pubblicato a livello globale)
Percorso del catalogo computer aggiuntivo, usato quando il pacchetto fa parte di un gruppo di connessioni Il percorso seguente si aggiunge al percorso del pacchetto specifico indicato in precedenza come percorso di archiviazione predefinito:

%programdata%\Microsoft\AppV\Client\Catalog\PackageGroups\ConGroupGUID\ConGroupVerGUID
File aggiuntivi nel catalogo computer quando il pacchetto fa parte di un gruppo di connessioni - PackageGroupDescriptor.xml
- UserPackageGroupDescriptor.xml (gruppo di connessioni pubblicato a livello globale)

Catalogo utenti

I percorsi descritti in questa tabella sono disponibili nella cartella appdata\roaming\Microsoft\AppV\Client\Catalog\.

Posizione
Descrizione Creato durante il processo di pubblicazione. Contiene informazioni usate per la pubblicazione del pacchetto e per assicurarsi che venga eseguito il provisioning di un pacchetto a un utente specifico all'avvio. Creato in una posizione mobile e include informazioni di pubblicazione specifiche dell'utente.

Quando un pacchetto viene pubblicato per un utente, il file dei criteri viene archiviato nel Catalogo utenti. Allo stesso tempo, una copia del manifesto viene archiviata anche nel Catalogo utenti. Quando un diritto al pacchetto viene rimosso per un utente, i file del pacchetto pertinenti vengono rimossi dal Catalogo utenti. Esaminando il catalogo utenti, un amministratore può visualizzare la presenza di un file di configurazione dinamica, che indica che il pacchetto ha diritto a tale utente.

Per gli utenti mobili, il Catalogo utenti deve trovarsi in una posizione di roaming o condivisa per mantenere il comportamento app-V legacy di destinazione degli utenti per impostazione predefinita. I diritti e i criteri sono associati a un utente, non a un computer, quindi devono eseguire il roaming con l'utente dopo il provisioning.
Percorso di archiviazione predefinito appdata\roaming\Microsoft\AppV\Client\Catalog\Packages\PkgGUID\VerGUID
File nel catalogo utenti - UserManifest.xml
- DynamicConfiguration.xml o UserDeploymentConfiguration.xml
Percorso aggiuntivo del catalogo utenti, usato quando il pacchetto fa parte di un gruppo di connessioni Il percorso seguente si aggiunge al percorso specifico del pacchetto indicato in precedenza:

appdata\roaming\Microsoft\AppV\Client\Catalog\PackageGroups\PkgGroupGUID\PkgGroupVerGUID
File aggiuntivo nel catalogo computer quando il pacchetto fa parte di un gruppo di connessioni UserPackageGroupDescriptor.xml

Backup dei 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 ai punti di integrazione di ripristinare le versioni precedenti quando il pacchetto non viene pubblicato.

Copiare in file di scrittura

L'archivio pacchetti contiene una copia non completa dei file del pacchetto trasmessi dal server di pubblicazione. Durante il normale funzionamento di un'applicazione App-V, l'utente o il servizio potrebbe richiedere modifiche ai file. Tuttavia, queste modifiche non vengono apportate nell'archivio pacchetti per mantenere la possibilità di ripristinare l'applicazione, rimuovendo queste modifiche. Queste posizioni, denominate Copia in scrittura (COW), supportano sia le posizioni in roaming che quelle non mobili. La posizione in cui vengono archiviate le modifiche dipende dalla posizione in cui l'applicazione è stata programmata per scrivere modifiche in in un'esperienza nativa.

COW roaming

Il percorso COW Roaming descritto in precedenza archivia le modifiche apportate ai file e alle directory destinati al percorso tipico %AppData% o \Users\<username>\AppData\Roaming. Queste directory e file vengono quindi sottoposti a roaming in base alle impostazioni del sistema operativo.

COW locale

La posizione locale COW è simile alla posizione di roaming, ma le directory e i file non vengono trasferiti in altri computer, anche se è stato configurato il supporto per il roaming. La posizione locale COW descritta in precedenza archivia le modifiche applicabili alle finestre tipiche e non alla posizione %AppData%. Le directory elencate variano, ma ci saranno due posizioni per le posizioni di Windows tipiche, ad esempio Common AppData e Common AppDataS. S indica il percorso con restrizioni quando il servizio virtuale richiede la modifica come utente con privilegi elevati diverso dagli utenti che hanno eseguito l'accesso. La posizione non S archivia le modifiche basate sull'utente.

Registro pacchetti

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

Quando viene aggiunto un nuovo pacchetto al client App-V, una copia del REGISTRO di sistema. Il file DAT dal pacchetto viene creato in %ProgramData%\Microsoft\AppV\Client\VREG{VERSION GUID}.dat. Il nome del file è il GUID della versione con . Estensione DAT. La copia viene eseguita per garantire che il file hive effettivo nel pacchetto non sia mai in uso, il che impedirebbe la rimozione del pacchetto in un secondo momento.

Registry.dat da Package Store>%ProgramData%\Microsoft\AppV\Client\Vreg\{VersionGUID}.dat

Quando la prima applicazione del pacchetto viene avviata nel client, il client esegue una fase o copia il contenuto dal file hive, ricreando i dati del Registro di sistema del pacchetto in un percorso alternativo in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\Packages\PackageGuid\Versions\VersionGUID\REGISTRY. I dati del Registro di sistema a fasi hanno due tipi distinti di dati del computer e dati utente. I dati del computer vengono condivisi tra tutti gli utenti del computer. I dati utente vengono instradati per ogni utente in un percorso specifico dell'utente HKCU\Software\Microsoft\AppV\Client\Packages\PackageGUID\Registry\User. I dati del computer vengono infine rimossi al momento della rimozione del pacchetto e i dati utente vengono rimossi in un'operazione di annullamento della pubblicazione dell'utente.

Gestione temporanea del Registro di sistema dei pacchetti e gestione temporanea del Registro di sistema del gruppo di connessioni

Quando sono presenti gruppi di connessione, il processo precedente di gestione temporanea del Registro di sistema è true, ma invece di avere un file hive da elaborare, ne sono presenti più di uno. I file vengono elaborati nell'ordine in cui vengono visualizzati nel codice XML del gruppo di connessione, con il primo writer che ha vinto eventuali conflitti.

Il Registro di sistema a fasi persiste allo stesso modo del caso del singolo pacchetto. I dati del Registro di sistema degli utenti a fasi rimangono per il gruppo di connessioni fino a quando non sono disabilitati; I dati del Registro di sistema del computer a fasi vengono rimossi durante la rimozione del gruppo di connessioni.

Registro virtuale

Lo scopo del Registro di sistema virtuale (VREG) è fornire alle applicazioni una singola visualizzazione unita del Registro di sistema dei pacchetti e del Registro di sistema nativo. Fornisce anche la funzionalità copy-on-write (COW), ovvero tutte le modifiche apportate al Registro di sistema dal contesto di un processo virtuale vengono apportate a una posizione COW separata. Questa funzionalità significa che la VREG deve combinare fino a tre posizioni separate del Registro di sistema in un'unica visualizzazione in base alle posizioni popolate nelpacchetto> COW > del Registro di sistemanativo. Quando viene effettuata una richiesta per i dati del Registro di sistema, viene individuata in ordine fino a quando non rileva i dati richiesti. Ciò significa che se è presente un valore archiviato in una posizione COW, non procederà ad altre posizioni, tuttavia, se non sono presenti dati nella posizione COW, si procederà al pacchetto e quindi alla posizione nativa fino a trovare i dati appropriati.

Percorsi del Registro di sistema

Esistono due posizioni del Registro di sistema dei pacchetti e due posizioni del gruppo di connessioni in cui il client App-V archivia le informazioni del Registro di sistema, a seconda che il pacchetto venga pubblicato singolarmente o come parte di un gruppo di connessioni. Esistono tre posizioni COW per i pacchetti e tre per i gruppi di connessione, creati e gestiti dalla VREG. Le impostazioni per i pacchetti e i gruppi di connessioni non sono condivise:

VReg a pacchetto singolo

I registri nella tabella seguente si trovano nella cartella Registry\Client\Packages\PkgGUID\.

Percorso Descrizione
MUCCA - Registro di sistema\Client\Packages\PkgGUID\REGISTRY (solo il processo elevate può scrivere)
- User Registry\Client\Packages\PkgGUID\REGISTRY (User Roaming anything written in HKCU except Software\Classes)
- Classi del Registro di sistema utente\Client\Packages\PkgGUID\REGISTRY (HKCU\Software\Classes scrive e HKLM per un processo non con privilegi elevati)
Pacchetto - Registro di sistema\Client\Packages\PkgGUID\Versions\VerGuid\Registry\Machine
- Classi del Registro di sistema utente\Client\Packages\PkgGUID\Versions\VerGUID\Registry
Nativo - Percorso del Registro di sistema delle applicazioni native

VReg del gruppo di connessioni

I registri nella tabella seguente si trovano nelle cartelle Machine Registry\Client\PackageGroups\GrpGUID\ e User Registry Classes\Client\PackageGroups\GrpGUID\.

Percorso Descrizione
MUCCA - Registro computer\Client\PackageGroups\GrpGUID\REGISTRY (è possibile scrivere solo processi elevati)
- Registro utenti\Client\PackageGroups\GrpGUID\REGISTRY (qualsiasi elemento scritto in HKCU tranne Software\Classes)
- Classi del Registro di sistema utente\Client\PackageGroups\GrpGUID\REGISTRY
Pacchetto - Registro di sistema\Client\PackageGroups\GrpGUID\Versions\VerGUID\REGISTRY
- Classi del Registro di sistema utente\Client\PackageGroups\GrpGUID\Versions\VerGUID\REGISTRY
Nativo - Percorso del Registro di sistema delle applicazioni native

Esistono due posizioni COW per HKLM: processi con privilegi elevati e non elevati. I processi con privilegi elevati scrivono sempre le modifiche HKLM all'cow sicuro in HKLM. I processi non con privilegi elevati scrivono sempre modifiche HKLM nell'unità COW non sicura in HKCU\Software\Classes. Quando un'applicazione legge le modifiche da HKLM, i processi con privilegi elevati leggono le modifiche da COW sicuro in HKLM. Letture non elevate da entrambi, privilegiando prima le modifiche apportate nell'ambiente COW non sicuro.

Chiavi pass-through

Un amministratore può usare le chiavi pass-through per configurare determinate chiavi da leggere solo dal Registro di sistema nativo, ignorando i percorsi pacchetto e COW. Le posizioni pass-through sono globali per il computer (non specifiche del pacchetto) e possono essere configurate aggiungendo il percorso alla chiave, che deve essere considerato come pass-through al valore REG_MULTI_SZ denominato PassThroughPaths della chiave HKLM\Software\Microsoft\AppV\Subsystem\VirtualRegistry. Qualsiasi chiave visualizzata sotto questo valore multistringa (e i relativi elementi figlio) verrà considerata pass-through.

Per impostazione predefinita, le posizioni seguenti sono configurate 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

Lo scopo delle chiavi pass-through è garantire che un'applicazione virtuale non scriva i dati del Registro di sistema nella VReg necessari per le applicazioni non virtuali per il corretto funzionamento o l'integrazione. La chiave Criteri garantisce che le impostazioni basate su Criteri di gruppo impostate dall'amministratore vengano usate e non in base alle impostazioni del pacchetto. La chiave AppModel è necessaria per l'integrazione con applicazioni basate su interfaccia utente moderna di Windows. L'amministrazione idealmente non deve modificare alcuna delle chiavi pass-through predefinite, ma in alcuni casi l'amministratore potrebbe dover aggiungere altre chiavi pass-through per modificare il comportamento dell'applicazione.

Comportamento dell'archivio pacchetti App-V

App-V gestisce Package Store, ovvero il percorso in cui vengono archiviati i file di asset espansi dal file appv. Per impostazione predefinita, questo percorso viene archiviato in %ProgramData%\App-V ed è limitato in termini di funzionalità di archiviazione solo dallo spazio disponibile su disco. L'archivio pacchetti è organizzato in base ai GUID per il pacchetto e la versione, come indicato nella sezione precedente.

Aggiungere pacchetti

I pacchetti App-V vengono eseguiti in fasi dopo l'aggiunta al computer con il client App-V. Il client App-V offre la gestione temporanea su richiesta. Quando si pubblica o si immette manualmente il cmdlet Add-AppVClientPackage , la struttura dei dati viene compilata nell'archivio pacchetti (C:\programdata\App-V\{PkgGUID}\{VerGUID}). I file del pacchetto identificati nel blocco di pubblicazione definito nel file StreamMap.xml vengono aggiunti al sistema e le cartelle di primo livello e i file figlio vengono creati per garantire che all'avvio esistano asset dell'applicazione appropriati.

Pacchetti di montaggio

I pacchetti possono essere caricati in modo esplicito immettendo il cmdlet di PowerShell Mount-AppVClientPackage o usando l'interfaccia utente del client App-V per scaricare un pacchetto. Questa operazione carica completamente l'intero pacchetto nell'archivio pacchetti.

Pacchetti di streaming

Il client App-V può essere configurato per modificare il comportamento predefinito dello streaming. Tutti i criteri di streaming vengono archiviati nella chiave del Registro di sistema seguente: HKEY_LOCAL_MACHINE\Software\Microsoft\AppV\Client\Streaming. I criteri vengono impostati immettendo il cmdlet Di PowerShell Set-AppvClientConfiguration . I criteri seguenti si applicano allo streaming:

Criteri Descrizione
AllowHighCostLaunch Consente lo streaming su reti 3G e cellulari
Autoload Specifica l'impostazione Caricamento in background:
0 – Disabilitato
1 - Solo pacchetti usati in precedenza
2 - Tutti i pacchetti
PackageInstallationRoot Cartella radice per l'archivio pacchetti nel computer locale
PackageSourceRoot Override radice da cui trasmettere i pacchetti
SharedContentStoreMode Consente l'uso dell'archivio contenuto condiviso per scenari VDI

Queste impostazioni influiscono sul comportamento degli asset del pacchetto App-V in streaming al client. Per impostazione predefinita, App-V scarica solo gli asset necessari dopo il download dei blocchi di funzionalità primari e di pubblicazione. Esistono tre comportamenti specifici nei pacchetti di streaming che è importante comprendere:

  • Background Streaming
  • Streaming ottimizzato
  • errori Stream

Streaming in background

Il cmdlet Windows PowerShell Get-AppvClientConfiguration può essere usato per determinare la modalità corrente per lo streaming in background con l'impostazione AutoLoad e modificato con 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 Caricamento automatico è impostata per scaricare i pacchetti usati in precedenza. Il comportamento basato sull'impostazione predefinita (valore=1) scarica i blocchi di dati 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), indipendentemente dal fatto che siano stati avviati.

Streaming ottimizzato

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

Stream errori

Dopo il flusso iniziale di tutti i dati di pubblicazione e il blocco di funzionalità primario, le richieste di altri file eseguono errori di flusso. Questi blocchi di dati vengono scaricati nell'archivio pacchetti in base alle esigenze. Questa flessibilità consente a un utente di scaricare solo una piccola parte del pacchetto, in genere sufficiente per avviare il pacchetto ed eseguire le normali attività. Tutti gli altri blocchi vengono scaricati quando un utente avvia un'operazione che richiede dati non attualmente presenti nell'archivio pacchetti.

Aggiornamenti dei pacchetti

I pacchetti App-V richiedono l'aggiornamento per tutto il ciclo di vita dell'applicazione. Gli aggiornamenti del pacchetto App-V sono simili all'operazione di pubblicazione del pacchetto, in quanto ogni versione verrà creata nel percorso PackageRoot: %ProgramData%\App-V{PkgGUID}{newVerGUID}. L'operazione di aggiornamento è ottimizzata creando collegamenti rigidi a file identici e trasmessi da altre versioni dello stesso pacchetto.

Rimozione del pacchetto

Il comportamento del client App-V quando i pacchetti vengono rimossi dipende dal metodo di rimozione del pacchetto. Usando un'infrastruttura completa App-V per annullare la pubblicazione dell'applicazione, i file del catalogo utenti (catalogo computer per le applicazioni pubblicate a livello globale) vengono rimossi, ma il percorso dell'archivio pacchetti e i percorsi COW rimangono. Quando viene usato il cmdlet Remove-AppVClientPackge Windows PowerShell per rimuovere un pacchetto App-V, il percorso dell'archivio pacchetti viene pulito. Tenere presente che l'annullamento della pubblicazione di un pacchetto App-V dal server di gestione non esegue un'operazione di rimozione. Nessuna delle due operazioni rimuoverà i file del pacchetto dell'archivio pacchetti.

Registro di sistema e dati mobili

App-V è in grado di offrire un'esperienza quasi nativa durante il roaming, a seconda di come viene scritta l'applicazione usata. Per impostazione predefinita, App-V esegue il roaming di AppData archiviato nella posizione di roaming, in base alla configurazione di roaming del sistema operativo. Altre posizioni per l'archiviazione dei dati basati su file non vengono spostate da computer a computer, poiché si trovano in posizioni non sottoposte a roaming.

Requisiti di roaming e archiviazione dei dati del catalogo utenti

App-V archivia i dati, che rappresenta lo stato del catalogo dell'utente, sotto forma di:

  • File in %appdata%\Microsoft\AppV\Client\Catalog
  • Impostazioni del Registro di sistema in HKEY_CURRENT_USER\Software\Microsoft\AppV\Client\Packages

Insieme, questi file e le impostazioni del Registro di sistema rappresentano il catalogo dell'utente, quindi entrambi devono essere sottoposti a roaming o non devono essere sottoposti a roaming per un determinato utente. App-V non supporta il roaming di %AppData%, ma non il roaming del profilo dell'utente (registro) o viceversa.

Nota

Il cmdlet Repair-AppvClientPackage non ripristina lo stato di pubblicazione dei pacchetti in cui lo stato App-V dell'utente in HKEY_CURRENT_USER è mancante o non corrispondente ai dati in %appdata%.

Dati basati sul Registro di sistema

Il roaming del Registro di sistema App-V si presenta in due scenari, come illustrato nella tabella seguente.

Scenario Descrizione
Applicazioni eseguite come utenti standard Quando un utente standard avvia un'applicazione App-V, entrambe le applicazioni HKLM e HKCU per App-V vengono archiviate nell'hive HKCU nel computer. Questo scenario presenta due percorsi distinti:

- Il percorso di HKLM è HKCU\SOFTWARE\Classes\AppV\Client\Packages\{PkgGUID}\REGISTRY\MACHINE\SOFTWARE
- Il percorso di HKCU è HKCU\SOFTWARE\Microsoft\AppV\Client\Packages\{PkgGUID}\REGISTRY\USER\{UserSID}\SOFTWARE

Le posizioni sono abilitate per il roaming in base alle impostazioni del sistema operativo.
Applicazioni eseguite con elevazione dei privilegi Quando un'applicazione viene avviata con elevazione:

- I dati HKLM vengono archiviati nell'hive HKLM nel computer locale
- I dati HKCU vengono archiviati nel percorso del Registro utenti

In questo scenario, queste impostazioni non vengono sottoposte a roaming con le normali configurazioni mobili del sistema operativo e le chiavi e i valori del Registro di sistema risultanti vengono archiviati nei percorsi seguenti:

- Il percorso di HKLM è HKLM\SOFTWARE\Microsoft\AppV\Client\Packages\{PkgGUID}\{UserSID}\REGISTRY\MACHINE\SOFTWARE
- Il percorso di HKCU è HKCU\SOFTWARE\Microsoft\AppV\Client\Packages\{PkgGUID}\Registry\User\{UserSID}\SOFTWARE

Reindirizzamento di App-V e cartelle

App-V supporta il reindirizzamento delle cartelle della cartella AppData (%AppData%). All'avvio dell'ambiente virtuale, lo stato Mobile AppData dalla directory AppData mobile dell'utente viene copiato nella cache locale. Al contrario, quando l'ambiente virtuale viene arrestato, la cache locale associata al roaming di AppData di un utente specifico viene trasferita nella posizione effettiva della directory AppData mobile di tale utente.

Un pacchetto tipico include diverse posizioni mappate nell'archivio di backup dell'utente per le impostazioni in AppData\Local e AppData\Roaming. Queste posizioni sono le posizioni di copia in scrittura archiviate per utente nel profilo dell'utente e usate per archiviare le modifiche apportate alle directory VFS del pacchetto e per proteggere il file VFS del pacchetto predefinito.

La tabella seguente mostra i percorsi locali e mobili quando il reindirizzamento delle cartelle non è stato implementato.

Directory VFS nel pacchetto Percorso mappato dell'archivio di backup
ProgramFilesX86 C:\Users\Local\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\ProgramFilesX86
SystemX86 C:\Users\username\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\SystemX86
Windows C:\Users\username\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\Windows
appv_ROOT C:\Users\username\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\appv_ROOT
Appdata C:\Users\username\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\AppData

La tabella seguente mostra i percorsi locali e mobili quando è stato implementato il reindirizzamento delle cartelle per %AppData% e il percorso è stato reindirizzato (in genere a un percorso di rete).

Directory VFS nel pacchetto Percorso mappato dell'archivio di backup
ProgramFilesX86 C:\Users\Local\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\ProgramFilesX86
SystemX86 C:\Users\Local\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\SystemX86
Windows C:\Users\Local\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\Windows
appv_ROOT C:\Users\Local\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\appv_ROOT
Appdata \Fileserver\users\Local\roaming\Microsoft\AppV\Client\VFS\<GUID>\AppData

Il driver VFS del client App-V corrente non può scrivere nei percorsi di rete, quindi il client App-V rileva la presenza di reindirizzamento cartelle e copia i dati nell'unità locale durante la pubblicazione e l'avvio dell'ambiente virtuale. Dopo che l'utente ha chiuso l'applicazione App-V e il client App-V ha chiuso l'ambiente virtuale, l'archiviazione locale di VFS AppData viene copiata di nuovo in rete, abilitando il roaming in più computer, in cui il processo verrà ripetuto. Ecco cosa accade durante il processo:

  1. Durante la pubblicazione o l'avvio dell'ambiente virtuale, il client App-V rileva il percorso della directory AppData.
  2. Se il percorso AppData in roaming è locale o non è stato eseguito il mapping di alcun percorso AppData\Roaming, non si verifica nulla.
  3. Se il percorso Mobile AppData non è locale, viene eseguito il mapping della directory AppData VFS alla directory AppData locale.

Questo processo risolve il problema di un %AppData% non locale non supportato dal driver VFS del client App-V. Tuttavia, i dati archiviati in questo nuovo percorso non vengono sottoposti a roaming con reindirizzamento delle cartelle. Tutte le modifiche durante l'esecuzione dell'applicazione avvengono nel percorso AppData locale e devono essere copiate nel percorso reindirizzato. Il processo esegue le operazioni seguenti:

  1. Arresta l'applicazione App-V, che arresta anche l'ambiente virtuale.
  2. Comprime la cache locale del percorso AppData mobile e la archivia in un file .zip.
  3. Usa il timestamp alla fine del processo di creazione del pacchetto .zip per denominare il file.
  4. Registra il timestamp nel registro HKEY_CURRENT_USER\Software\Microsoft\AppV\Client\Packages\<GUID>\AppDataTime come ultimo timestamp AppData noto.
  5. Chiama il processo di reindirizzamento delle cartelle per valutare e avviare il file .zip caricato nella directory AppData mobile.

Il timestamp viene usato per determinare uno scenario di "ultimo writer vince" se si verifica un conflitto e viene usato per ottimizzare il download dei dati quando viene pubblicata l'applicazione App-V o viene avviato l'ambiente virtuale. Il reindirizzamento delle cartelle renderà disponibili i dati da qualsiasi altro client coperto dai criteri di supporto e avvierà il processo di archiviazione dei dati AppData\Roaming nel percorso AppData locale nel client. Ecco cosa accade durante il processo:

  1. L'utente avvia un'applicazione, che avvia anche l'ambiente virtuale.
  2. L'ambiente virtuale dell'applicazione controlla la presenza del file .zip con timestamp più recente, se presente.
  3. L'ambiente virtuale controlla il Registro di sistema per l'ultimo timestamp caricato noto, se presente.
  4. L'ambiente virtuale scarica il file di .zip più recente, a meno che l'indicatore di ora di caricamento noto locale sia maggiore o uguale al timestamp del file di .zip.
  5. Se il timestamp dell'ultimo caricamento noto locale è precedente a quello del file .zip più recente nel percorso AppData mobile, l'ambiente virtuale estrae il file .zip nella directory temporanea locale nel profilo dell'utente.
  6. Dopo l'estrazione del file .zip, viene rinominata la cache locale della directory AppData mobile e i nuovi dati vengono spostati sul posto.
  7. La directory rinominata viene eliminata e l'applicazione viene aperta con i dati AppData salvati più di recente.

Questo processo completa il roaming corretto delle impostazioni dell'applicazione presenti nelle posizioni AppData\Roaming. L'unica altra condizione da risolvere è un'operazione di ripristino del pacchetto. Il processo esegue le operazioni seguenti:

  1. Durante il ripristino, rileva se il percorso della directory AppData mobile dell'utente non è locale.
  2. Esegue il mapping delle destinazioni del percorso AppData mobili non locali, ricreando le posizioni di AppData e di roaming previste.
  3. Elimina il timestamp archiviato nel Registro di sistema, se presente.

Questo processo ricrea sia i percorsi locali che di rete per AppData e rimuove il record del Registro di sistema del timestamp.

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

In un'infrastruttura completa di App-V, dopo la sequenziazione delle applicazioni, vengono gestite e pubblicate negli utenti o nei computer tramite i server di gestione e pubblicazione di App-V. Questa sezione descrive in dettaglio le operazioni che si verificano durante le operazioni comuni del ciclo di vita dell'applicazione App-V (Aggiunta, pubblicazione, avvio, aggiornamento e rimozione) e i percorsi dei file e del Registro di sistema modificati e modificati dal punto di vista del client App-V. Le operazioni client App-V vengono immesse come comandi di PowerShell nel computer che esegue il client App-V.

Questo documento è incentrato sulle soluzioni di infrastruttura completa di App-V. Per informazioni specifiche sull'integrazione di App-V con Microsoft Configuration Manager, vedere Distribuire applicazioni virtuali App-V con Configuration Manager.

Le attività del ciclo di vita dell'applicazione App-V vengono attivate all'accesso utente (impostazione predefinita), all'avvio del computer o come operazioni con temporizzato in background. Le impostazioni per le operazioni del client App-V, tra cui server di pubblicazione, intervalli di aggiornamento, abilitazione dello script del pacchetto e altre, vengono configurate (dopo l'abilitazione del client) con i comandi Windows PowerShell. Vedere Impostazioni di configurazione client App-V: Windows PowerShell.

Aggiornamento della pubblicazione

Il processo di aggiornamento della pubblicazione include diverse operazioni più piccole eseguite nel client App-V. Poiché App-V è una tecnologia di virtualizzazione delle applicazioni e non una tecnologia di pianificazione delle attività, l'Utilità di pianificazione di Windows viene usata per abilitare il processo quando l'utente accede, il computer si accende e a intervalli pianificati. La configurazione client durante l'installazione elencata nella sezione precedente è il metodo preferito quando si distribuisce il client a un gruppo di computer di grandi dimensioni con le impostazioni corrette. Queste impostazioni client possono essere configurate con i cmdlet di Windows PowerShell seguenti:

  • Add-AppVPublishingServer configura il client con un server di pubblicazione App-V che fornisce pacchetti App-V.
  • Set-AppVPublishingServer modifica le impostazioni correnti per il server di pubblicazione App-V.
  • Set-AppVClientConfiguration modifica le impostazioni correnti per il client App-V.
  • Sync-AppVPublishingServer avvia manualmente un processo di aggiornamento della pubblicazione di App-V. Questo processo viene utilizzato anche nelle attività pianificate create durante la configurazione del server di pubblicazione.

Le sezioni seguenti illustrano cosa accade durante il processo di aggiornamento della pubblicazione.

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 è lo stesso del cmdlet Add-AppVClientPackage in Windows PowerShell, ad eccezione del processo di aggiunta dell'aggiornamento della pubblicazione che contatta il server di pubblicazione configurato e passa un elenco di applicazioni di alto livello al client per eseguire il pull di informazioni più dettagliate, anziché eseguire una singola operazione di aggiunta di pacchetti.

Il processo configura quindi il client per le aggiunte o gli aggiornamenti del pacchetto o del gruppo di connessione, quindi accede al file appv. Successivamente, il contenuto del file appv viene espanso e inserito nel sistema operativo locale nei percorsi appropriati. I passaggi seguenti sono un flusso di lavoro dettagliato del processo, presupponendo che il pacchetto sia configurato per Lo streaming degli errori.

Come aggiungere un pacchetto App-V

  1. Avviare manualmente l'installazione tramite Windows PowerShell o l'avvio della sequenza di attività del processo di aggiornamento della pubblicazione.

    1. Il client App-V effettua una connessione HTTP e richiede un elenco di applicazioni in base alla destinazione. Il processo di aggiornamento della pubblicazione supporta la destinazione di computer o utenti.

    2. Il server di pubblicazione App-V usa l'identità della destinazione iniziale, dell'utente o del computer ed esegue una query sul database per un elenco di applicazioni autorizzate. L'elenco delle applicazioni viene fornito come risposta XML, che il client usa per inviare più richieste al server per altre informazioni in base al pacchetto.

  2. L'agente di pubblicazione nel client App-V valuterà tutti i gruppi di connessione non pubblicati o disabilitati, poiché gli aggiornamenti della versione del pacchetto che fanno parte del gruppo di connessione non possono essere elaborati.

  3. Configurare i pacchetti identificando le operazioni Aggiungi o Aggiorna .

    1. Il client 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 fileAppXManifest.xml e StreamMap.xml vengono scaricati nell'archivio pacchetti.

    3. Flusso completo dei dati del blocco di pubblicazione definiti nel file StreamMap.xml . I dati del blocco di pubblicazione vengono archiviati in Package Store\PkgGUID\VerGUID\Root.

      • Icone: destinazioni dei punti di estensione.
      • Intestazioni eseguibili portabili (intestazioni PE): destinazioni di punti di estensione che contengono le informazioni di base sull'immagine necessarie sul disco, accessibili direttamente o tramite tipi di file.
      • Script: scaricare la directory degli script da usare durante il processo di pubblicazione.
    4. Popolare l'archivio pacchetti eseguendo i passaggi secondari seguenti:

      1. Create file sparse su disco che rappresentano il pacchetto estratto per le directory elencate.

      2. Eseguire lo stage di file e directory di primo livello nella radice.

        Tutti gli altri file vengono creati quando la directory è elencata come sparse su disco e trasmessa su richiesta.

    5. Create le voci del catalogo computer. Create i fileManifest.xml e DeploymentConfiguration.xml dai file del pacchetto (se non viene creato alcun file DeploymentConfiguration.xml nel pacchetto, viene creato un segnaposto).

    6. Create percorso dell'archivio pacchetti nel registro HKLM\Software\Microsoft\AppV\Client\Packages\PkgGUID\Versions\VerGUID\Catalog.

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

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

    9. Richiamare lo scripting dal fileAppxManifest.xml o DeploymentConfig.xml per l'intervallo di aggiunta pacchetto.

  4. Configurare Gruppi connessione aggiungendo e abilitando o disabilitando.

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

    Nota

    In questo modo non verrà eseguita l'eliminazione di un pacchetto, ma verranno rimossi i punti di integrazione per la destinazione specifica (utente o computer) e verranno rimossi i file del catalogo utenti (file di catalogo del computer per la pubblicazione globale).

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

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

    Nota

    Questa condizione si verifica come prodotto della rimozione senza annullare la pubblicazione con l'aggiunta in background del pacchetto.

Questo processo completa un'aggiunta di pacchetto App-V per il processo di aggiornamento della pubblicazione. Il passaggio successivo consiste nel pubblicare il pacchetto in una destinazione specifica (computer o utente).

Aggiungere il pacchetto ai dati del file e del Registro di sistema.

Aggiungere pacchetti di file e dati del Registro di sistema

Pubblicazione di un pacchetto App-V

Durante l'operazione di aggiornamento della pubblicazione, l'operazione di pubblicazione specifica Publish-AppVClientPackage aggiunge voci al catalogo utenti, esegue il mapping del diritto all'utente, identifica l'archivio locale e termina completando i passaggi di integrazione.

Come pubblicare un pacchetto App-V

  1. Le voci del pacchetto vengono aggiunte al catalogo utenti

    1. Pacchetti di destinazione utente: i fileUserDeploymentConfiguration.xml e UserManifest.xml vengono inseriti nel computer nel Catalogo utenti.

    2. Pacchetti di destinazione del computer (globali): il UserDeploymentConfiguration.xml viene inserito nel Catalogo computer.

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

  3. Eseguire attività di integrazione.

    1. Create punti di estensione.

    2. Archiviare le informazioni di backup nel registro e nel profilo di roaming dell'utente (Backup di collegamento).

      Nota

      In questo modo vengono abilitati i punti di estensione di ripristino se il pacchetto non è stato pubblicato.

    3. Eseguire script di destinazione per la pubblicazione dei tempi.

La pubblicazione di un pacchetto App-V che fa parte di un gruppo di connessioni è simile al processo precedente. Per i gruppi di connessioni, il percorso in cui sono archiviate le informazioni del catalogo specifiche include PackageGroup come elemento figlio della directory del catalogo. Per informazioni dettagliate, vedere le informazioni sul computer e sul catalogo utenti nelle sezioni precedenti.

pacchetto aggiungere file e dati del Registro di sistema - globale.

Aggiungere pacchetti di file e dati del Registro di sistema: globale

Avvio dell'applicazione

Dopo il processo di aggiornamento della pubblicazione, l'utente avvia e riavvia un'applicazione App-V. Il client App-V controlla il percorso del catalogo utenti per i file creati durante la pubblicazione. Dopo aver stabilito i diritti per l'avvio del pacchetto, il client App-V crea un ambiente virtuale, avvia lo streaming dei dati necessari e applica i file di configurazione del manifesto e della distribuzione appropriati durante la creazione dell'ambiente virtuale. Dopo aver creato e configurato l'ambiente virtuale per il pacchetto e l'applicazione specifici, viene avviata l'applicazione. Questo potrebbe sembrare molto, ma il processo in azione è veloce ed è ottimizzato per ridurre al minimo il traffico di rete.

Come avviare applicazioni App-V

  1. L'utente avvia l'applicazione selezionando un collegamento o una chiamata al tipo di file.

  2. Il client App-V verifica l'esistenza nel catalogo utenti per i file seguenti

    • UserDeploymentConfiguration.xml
    • UserManifest.xml
  3. Se i file sono presenti, l'applicazione ha diritto a tale utente specifico e l'applicazione avvierà il processo per l'avvio. A questo punto non c'è traffico di rete.

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

  5. Dopo aver trovato il percorso dell'archivio pacchetti, viene creato l'ambiente virtuale.

    Se l'esecuzione di questo processo è il primo avvio, il blocco di funzionalità primario viene scaricato se presente.

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

  7. Viene avviata l'applicazione. Per eventuali file mancanti nell'archivio pacchetti (file sparse), App-V trasmetterà gli errori dei file in base alle esigenze.

    pacchetto aggiungere file e dati del Registro di sistema - flusso.

    Aggiungere pacchetti di file e dati del Registro di sistema: flusso

Aggiornamento di un pacchetto App-V

La versione corrente del processo di aggiornamento del pacchetto di App-V differisce dalle versioni precedenti nell'ottimizzazione dell'archiviazione. App-V supporta più versioni dello stesso pacchetto in un computer autorizzato a utenti diversi. Le versioni dei pacchetti possono essere aggiunte in qualsiasi momento, poiché l'archivio pacchetti e i cataloghi vengono aggiornati con le nuove risorse. Durante un aggiornamento nella nuova versione, vengono aggiunti solo nuovi file al nuovo percorso dell'archivio versioni e vengono creati collegamenti rigidi per i file non modificati. Tali risultati riducono l'archiviazione complessiva presentando il file solo in un percorso del disco, quindi proiettandolo in tutte le cartelle con una voce di percorso del file sul disco.

Come aggiornare un pacchetto App-V

  1. Il client 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 di destinazione utente: i file UserDeploymentConfiguration.xml e UserManifest.xml vengono inseriti nel computer nel catalogo utenti in appdata\roaming\Microsoft\AppV\Client\Catalog\Packages\PkgGUID\VerGUID.

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

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

  4. Eseguire attività di integrazione.

    1. Integrare i punti di estensioni (EP) dai file manifesto e configurazione dinamica.

    2. I dati EP basati su file vengono archiviati nella cartella AppData usando i punti di giunzione dall'archivio pacchetti.

    3. I punti di accesso della versione 1 esistono già quando una nuova versione diventa disponibile.

    4. I punti di estensione vengono passati alla posizione versione 2 nei cataloghi di computer o utenti per eventuali punti di estensione più recenti o aggiornati.

  5. Eseguire script di destinazione per la pubblicazione dei tempi.

  6. Installare gli assembly side-by-side in base alle esigenze.

Aggiornamento di un pacchetto App-V in uso

Se si tenta di aggiornare un pacchetto attualmente in uso, l'attività di aggiornamento viene inserita in uno stato in sospeso. L'aggiornamento verrà eseguito in un secondo momento, in base alle regole seguenti:

Tipo di attività Regola applicabile
Attività basate sull'utente, ad esempio la pubblicazione di un pacchetto in un utente L'attività in sospeso verrà eseguita dopo che l'utente si disconnette e quindi accede di nuovo.
Attività basate su globale, ad esempio l'abilitazione di un gruppo di connessioni a livello globale L'attività in sospeso verrà eseguita quando il computer viene arrestato e quindi riavviato.

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

Attività basata su utenti o su base globale Dove viene generata la chiave del Registro di sistema
Attività basate su utenti HKEY_CURRENT_USER\Software\Microsoft\AppV\Client\PendingTasks
Attività basate su globale HKEY_LOCAL_MACHINE\Software\Microsoft\AppV\Client\PendingTasks

Prima che gli utenti possano usare la versione più recente del pacchetto, è necessario completare le operazioni seguenti:

Attività Dettagli
Aggiungere il pacchetto al computer Questa attività è specifica del computer ed è possibile eseguirla in qualsiasi momento completando la procedura descritta in Come aggiungere un pacchetto App-V.
Pubblicare il pacchetto Per i passaggi, vedere la sezione Pubblicazione pacchetti precedente. Questo processo richiede l'aggiornamento dei punti di estensione nel sistema. Non è possibile completare questa attività mentre l'applicazione è in uso.

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

Scenario Requisiti
Il pacchetto App-V non è in uso quando si tenta di eseguire l'aggiornamento Non è possibile usare nessuno dei componenti seguenti del pacchetto: applicazione virtuale, server COM o estensioni della shell.

L'amministratore pubblica una versione più recente del pacchetto e l'aggiornamento funziona alla successiva avvio di un componente o di un'applicazione all'interno del pacchetto. La nuova versione del pacchetto viene trasmessa ed eseguita.
Il pacchetto App-V è in uso quando l'amministratore pubblica una versione più recente del pacchetto Il client App-V imposta l'operazione su "in sospeso", il che significa che è in coda e verrà eseguita in un secondo momento quando il pacchetto non è in uso.

Se l'applicazione del pacchetto è in uso, l'utente arresta l'applicazione virtuale, dopo di che può verificarsi l'aggiornamento.

Se il pacchetto include estensioni della shell, caricate in modo permanente da Esplora risorse, l'utente non sarà in grado di accedere. Gli utenti devono disconnettersi e quindi accedere di nuovo per avviare l'aggiornamento del pacchetto App-V.

Pubblicazione globale e di utenti

I pacchetti App-V possono essere pubblicati in uno dei due modi seguenti: come utente, che dà diritto a un pacchetto App-V a un utente o a un gruppo specifico di utenti o come globale, che dà diritto al pacchetto App-V all'intero computer per tutti gli utenti del computer. Dopo aver eseguito l'aggiornamento di un pacchetto e non è in uso il pacchetto App-V, considerare i due tipi di pubblicazione:

  • La pubblicazione globale è quando l'applicazione viene pubblicata in un computer; tutti gli utenti in quel computer possono usarlo. L'aggiornamento si verificherà all'avvio del servizio client App-V, ovvero un riavvio del computer.
  • La pubblicazione utente avviene quando l'applicazione viene pubblicata in un utente. Se nel computer sono presenti più utenti, l'applicazione può essere pubblicata in un subset degli utenti. L'aggiornamento si verifica quando l'utente accede o quando viene pubblicato di nuovo (periodicamente, ConfigMgr l'aggiornamento e la valutazione dei criteri o una pubblicazione/aggiornamento periodica di App-V o in modo esplicito tramite Windows PowerShell comandi).

Rimozione di un pacchetto App-V

La rimozione di applicazioni App-V in un'infrastruttura completa è un'operazione di annullamento della pubblicazione e non esegue la rimozione di un pacchetto. Il processo è lo stesso del processo di pubblicazione precedente, ma invece di aggiungere il processo di rimozione inverte le modifiche apportate per i pacchetti App-V.

Ripristino di un pacchetto App-V

L'operazione di riparazione è facile da eseguire, ma può influire su molte posizioni del computer. Le posizioni copy on write (COW) indicate in precedenza vengono rimosse e i punti di estensione vengono deintegrati e quindi reintegrati. Prima di eseguire la riparazione, verificare dove sono registrate le posizioni di posizionamento dei dati COW nel Registro di sistema. Per eseguire un'operazione di ripristino, è sufficiente avviarla dalla console client di App-V o tramite il cmdlet di PowerShell Repair-AppVClientPackage . Successivamente, l'operazione viene completata automaticamente.

Integrazione dei pacchetti App-V

Il client App-V e l'architettura dei pacchetti offrono un'integrazione specifica con il sistema operativo locale durante l'aggiunta e la pubblicazione di pacchetti. Tre file definiscono i punti di integrazione o di estensione per un pacchetto App-V:

  • AppXManifest.xml viene archiviato all'interno del pacchetto con copie di fallback archiviate nell'archivio pacchetti e nel profilo utente. Contiene le opzioni create durante il processo di sequenziazione.
  • DeploymentConfig.xml fornisce informazioni di configurazione dei punti di estensione di integrazione basati su computer e utenti.
  • UserConfig.xml è un subset del file Deploymentconfig.xml che fornisce solo configurazioni basate sull'utente e si rivolge solo ai punti di estensione basati sull'utente.

Regole di integrazione

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

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

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

  • Backup e ripristino: durante la pubblicazione vengono eseguiti il backup dei dati delle applicazioni native e del Registro di sistema esistenti, ad esempio le registrazioni FTA.

    1. Ai pacchetti App-V viene assegnata la proprietà 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 il pacchetto App-V proprietario non viene pubblicato. Questo trasferimento non avvierà un ripristino dei dati o del Registro di sistema.
    3. Ripristinare i dati di cui è stato eseguito il backup quando l'ultimo pacchetto viene annullato o rimosso in base al punto di estensione.

Punti di estensione

I file di pubblicazione App-V (manifesto e configurazione dinamica) forniscono diversi punti di estensione per integrare l'applicazione con il sistema operativo locale. Questi punti di estensione eseguono attività tipiche di installazione dell'applicazione, ad esempio l'inserimento di collegamenti, la creazione di associazioni di tipi di file e la registrazione di componenti. Poiché si tratta di applicazioni virtualizzate che non vengono installate nello stesso modo di un'applicazione tradizionale, esistono alcune differenze. Di seguito è riportato un elenco dei punti di estensione trattati in questa sezione:

  • Collegamenti
  • Associazioni di tipi di file
  • Estensioni della shell
  • COM
  • Client software
  • Funzionalità dell'applicazione
  • Gestore del protocollo URL
  • AppPath
  • Applicazione virtuale

Collegamenti

Il collegamento è uno degli elementi di base dell'integrazione con il sistema operativo ed è l'interfaccia per l'avvio diretto dell'utente di un'applicazione App-V. Durante la pubblicazione e l'annullamento della pubblicazione delle applicazioni App-V.

Dal manifesto del pacchetto e dai file XML di configurazione dinamica, il percorso di un file eseguibile dell'applicazione specifico è disponibile in una sezione, come illustrato nell'esempio seguente:

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

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

Associazioni di tipi di file

Gli utenti possono usare chiamate di tipo file o aprire un file con un'estensione registrata (.docx) per avviare un'applicazione App-V perché il client App-V gestisce le associazioni dei tipi di file del sistema operativo locale durante la pubblicazione. Le associazioni dei tipi di file sono presenti nei file manifesto 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</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 punta al ProgId adiacente)
  • <CommandLine>"[{AppVPackageRoot}]\Reader\AcroRd32.exe" "%1"</CommandLine> è la riga di comando, che punta all'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à di se l'applicazione fosse installata localmente. L'applicazione non richiede alcuna configurazione o configurazione aggiuntiva nel client per abilitare la funzionalità di estensione della shell.

Requisiti per l'uso delle estensioni della shell

  • I pacchetti che contengono estensioni della shell incorporate devono essere pubblicati a livello globale.
  • Il "bitness" dell'applicazione, sequencer e client App-V deve corrispondere o le estensioni della shell non funzioneranno. La configurazione di esempio seguente soddisfa il requisito corrispondente:
    • La versione dell'applicazione è a 64 bit.
    • Sequencer è in esecuzione in un computer a 64 bit.
    • Il pacchetto viene recapitato a un computer client App-V a 64 bit.

Nella tabella seguente vengono visualizzate le estensioni della shell supportate.

Gestore Descrizione
Gestore del menu di scelta rapida Aggiunge voci di menu al menu di scelta rapida. viene chiamato prima che venga visualizzato il menu di scelta rapida.
Gestore di trascinamento della selezione Controlla l'azione quando si fa clic con il pulsante destro del mouse sul trascinamento della selezione e modifica il menu di scelta rapida visualizzato.
Gestore di destinazione di rilascio Controlla l'azione dopo che un oggetto dati viene trascinato e rilasciato su una destinazione 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 una destinazione di rilascio. Può fornire altri formati degli Appunti alla destinazione di rilascio.
Gestore della finestra delle proprietà Sostituisce o aggiunge pagine alla finestra di dialogo della finestra di dialogo della finestra di dialogo di un oggetto .
Gestore infotip Consente di recuperare flag e informazioni sulla descrizione informativa per un elemento e visualizzarlo all'interno di una descrizione comando popup al passaggio del mouse.
Gestore di 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 di anteprima Consente di visualizzare un'anteprima di un file nel riquadro di anteprima di Esplora risorse.

COM

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

App-V supporta la registrazione di oggetti COM dal pacchetto al sistema operativo locale con due tipi di processo: Out-of-process e In-process. La registrazione di oggetti COM viene eseguita con una o una combinazione di più modalità di funzionamento per un pacchetto App-V specifico che include Off, Isolated e Integrated. La modalità integrata è configurata per il tipo out-of-process o in-process. La configurazione dei tipi e delle modalità COM viene eseguita con i file di configurazione dinamica (deploymentconfig.xml o userconfig.xml).

Per informazioni dettagliate sull'integrazione di App-V, vedere Integrazione di Microsoft Application Virtualization 5.0.

Client software e funzionalità delle applicazioni

App-V supporta client software specifici e punti di estensione delle funzionalità dell'applicazione per registrare le applicazioni virtualizzate con il client software del sistema operativo. Questo supporto specifico significa che gli utenti possono selezionare programmi predefiniti per operazioni come la posta elettronica, la messaggistica istantanea e l'uso del lettore multimediale. Questa operazione viene eseguita nel pannello di controllo con Set Program Access e Computer Defaults e viene configurata durante la sequenziazione nel manifesto o nei file di configurazione dinamica. Le funzionalità delle applicazioni sono supportate solo quando le applicazioni App-V vengono pubblicate a livello globale.

L'esempio seguente illustra una registrazione client software di un client di posta elettronica 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 Client software per integrare Email client.
  • <EMail MakeDefault="true">è il flag per impostare un particolare client Email come client Email predefinito.
  • <MAPILibrary>[{ProgramFilesX86}]\Mozilla Thunderbird\mozMapi32_InUse.dll</MAPILibrary> è la registrazione dll MAPI.

Gestore del protocollo URL

Le applicazioni virtuali non usano sempre in modo specifico la chiamata al tipo di file. Ad esempio, in un'applicazione che supporta l'incorporamento di un collegamento mailto: all'interno di un documento o di una pagina Web, l'utente seleziona il collegamento previsto per l'accesso al client di posta registrata. App-V supporta gestori di protocollo URL che possono essere registrati in base al pacchetto con il sistema operativo locale. Durante la sequenziazione, i gestori del protocollo URL vengono aggiunti automaticamente al pacchetto.

Per le situazioni in cui è presente più di un'applicazione che può registrare il gestore del protocollo URL specifico, è possibile usare i file di configurazione dinamica per modificare il comportamento e 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 di applicazioni App-V direttamente dal sistema operativo. Gli amministratori possono fornire l'accesso alle applicazioni App-V da comandi o script del sistema operativo senza chiamare il percorso specifico del file eseguibile dalla schermata Run o Start, a seconda del sistema operativo. Evita quindi di modificare la variabile di ambiente del percorso di sistema in tutti i sistemi, come avviene durante la pubblicazione.

Il punto di estensione AppPath viene configurato nel manifesto o nei file di configurazione dinamica e viene archiviato nel Registro di sistema nel computer locale durante la pubblicazione per l'utente. Per altre informazioni su AppPath, vedere Percorsi dell'app - Un'estensione di applicazione virtuale in App-V 5.0.

Applicazione virtuale

Questo sottosistema fornisce un elenco di applicazioni acquisite durante la sequenziazione che vengono usate da altri componenti App-V. L'integrazione dei punti di estensione appartenenti a un'applicazione specifica può essere disabilitata usando i file di configurazione dinamica. Ad esempio, se un pacchetto contiene due applicazioni, è possibile disabilitare tutti i punti di estensione appartenenti a un'applicazione per consentire solo l'integrazione dei punti di estensione per l'altra applicazione.

Regole del punto di estensione

I punti di estensione descritti in precedenza sono integrati nel sistema operativo in base alla modalità di pubblicazione dei pacchetti. La pubblicazione globale inserisce i punti di estensione nelle posizioni del computer pubblico, dove la pubblicazione utente posiziona i punti di estensione nelle posizioni degli utenti. Ad esempio, un collegamento creato sul desktop e pubblicato a livello globale genererà i dati del file per il collegamento (%Public%\Desktop) e i dati del Registro di sistema (HKLM\Software\Classes). Lo stesso collegamento include dati di file (%UserProfile%\Desktop) e dati del Registro di sistema (HKCU\Software\Classes).

I punti di estensione non vengono tutti pubblicati nello stesso modo, in cui alcuni punti di estensione richiedono la pubblicazione globale e altri richiedono la sequenziazione nel sistema operativo e nell'architettura specifici in cui vengono distribuiti. Di seguito è riportata una tabella che descrive queste due regole chiave.

Estensione virtuale Richiede la sequenziazione del sistema operativo di destinazione Richiede la pubblicazione globale
Scelta rapida
Associazione dei tipi di file
Protocolli URL X
AppPaths X
Modalità COM
Software Client X
Funzionalità dell'applicazione X X
Gestore menu di scelta rapida X X
Gestore di trascinamento della selezione X
Gestore dell'oggetto dati X
Gestore della finestra delle proprietà X
Gestore infotip X
Gestore colonne X
Estensioni shell X
Oggetto Browser Helper X X
Oggetto X attivo X X

Elaborazione della configurazione dinamica

La distribuzione di pacchetti App-V in un singolo computer o utente è semplice. Tuttavia, quando le organizzazioni distribuiscono applicazioni App-V tra linee di business e limiti geografici e politici, diventa impossibile sequenziare tutte le applicazioni con le stesse impostazioni. App-V è stato progettato per risolvere questo problema acquisendo impostazioni e configurazioni specifiche durante la sequenziazione nel file manifesto, supportando al tempo stesso la modifica con i file di configurazione dinamica.

La configurazione dinamica di App-V consente di specificare criteri di pacchetto a livello di computer o utente. I tecnici della sequenziazione possono usare i file di configurazione dinamica per modificare la configurazione di un pacchetto dopo la sequenziazione per soddisfare le esigenze dei singoli gruppi di utenti o computer. In alcuni casi, potrebbe essere necessario modificare l'applicazione per fornire funzionalità appropriate all'interno dell'ambiente App-V. Ad esempio, potrebbe essere necessario modificare i file _*config.xml per consentire l'esecuzione di determinate azioni in un momento specificato durante l'esecuzione dell'applicazione, ad esempio la disabilitazione di un'estensione mailto per impedire a un'applicazione virtualizzata di sovrascrivere tale estensione da un'altra applicazione.

I pacchetti App-V contengono il file manifesto all'interno del file del pacchetto App-V, che è rappresentativo delle operazioni di sequenziazione ed è il criterio scelto a meno che i file di Configurazione dinamica non siano assegnati a un pacchetto specifico. Dopo la sequenziazione, i file di Configurazione dinamica possono essere modificati per consentire la pubblicazione di un'applicazione in desktop o utenti diversi con punti di estensione diversi. I due file di Configurazione dinamica sono i file DDC (Dynamic Deployment Configuration) e Dynamic User Configuration (DUC). Questa sezione è incentrata sulla combinazione dei file di configurazione dinamica e del manifesto.

Esempi di file di configurazione dinamica

Nell'esempio seguente viene illustrata la combinazione dei file Manifesto, Configurazione distribuzione e Configurazione utente dopo la pubblicazione e durante il normale funzionamento. Questi esempi sono esempi abbreviati di ognuno dei file. Lo scopo è mostrare solo la combinazione dei file, non una descrizione completa delle categorie specifiche disponibili in ogni file. Per altre informazioni, scaricare la Guida alla sequenziazione di App-V.

Manifesto

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

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

Assembly affiancati

App-V supporta la creazione automatica di pacchetti di assembly side-by-side durante la sequenziazione e la distribuzione nel client durante la pubblicazione di applicazioni virtuali. App-V supporta anche l'acquisizione di assembly side-by-side durante la sequenziazione per gli assembly non presenti nel computer di sequenziazione. Per gli assembly costituiti da Visual C++ (versione 8 e successive) o msxml run-time, Sequencer rileverà e acquisirà automaticamente queste dipendenze anche se non sono state installate durante il monitoraggio.

La funzionalità assembly side-by-side rimuove le limitazioni delle versioni precedenti di App-V, in cui App-V Sequencer non acquisisce gli assembly già presenti nella workstation di sequenziazione e privatizza gli assembly, limitandolo a una versione in bit per pacchetto. Questo comportamento ha causato la distribuzione di applicazioni App-V ai client senza gli assembly side-by-side necessari, il che ha causato errori di avvio dell'applicazione. Questo errore ha costretto il processo di creazione del pacchetto a documentare e verificare che tutti gli assembly necessari per i pacchetti siano stati installati localmente nel sistema operativo client dell'utente. Questa attività è stata una sfida di gestione e implementazione a causa del numero di assembly e della mancanza di documentazione dell'applicazione per le dipendenze richieste.

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

  • Acquisizioni automatiche dell'assembly side-by-side durante la sequenziazione, indipendentemente dal fatto che l'assembly sia già stato installato nella workstation di sequenziazione.
  • Il client App-V installa automaticamente gli assembly side-by-side necessari nel computer client in fase di pubblicazione, se non sono già installati.
  • Sequencer segnala la dipendenza di runtime vc nel meccanismo di creazione di report di Sequencer.
  • Sequencer consente di scegliere di non creare pacchetti di assembly già installati in Sequencer, supportando gli scenari in cui gli assembly sono stati installati in precedenza nei computer di destinazione.

Pubblicazione automatica di assembly side-by-side

Durante la pubblicazione di un pacchetto App-V con assembly side-by-side, il client App-V verificherà la presenza dell'assembly nel computer. Se non rileva un assembly, il client distribuirà l'assembly nel computer. I pacchetti che fanno parte di gruppi di connessioni si basano sulle installazioni di assembly side-by-side nei pacchetti di base, in quanto i gruppi di connessioni non contengono informazioni sull'installazione dell'assembly.

Nota

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

Registrazione client

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

Sono state registrate tre categorie specifiche di eventi:

  • Amministrazione registra gli eventi per le configurazioni applicate al client App-V e contiene anche gli avvisi e gli errori primari.
  • Operational registra l'esecuzione e l'utilizzo generali di App-V dei singoli componenti, creando un log di controllo delle operazioni App-V completate del client App-V.
  • L'applicazione virtuale registra l'avvio dell'applicazione virtuale e l'uso di sottosistemi di virtualizzazione.