Come sapete da circa un mese è stato rilasciato il Service Pack 1 di Microsoft Application Virtualization 4.6, all’interno dell’edizione 2011 di MDOP.

Nicola FerriniNicola Ferrini, Most Valuable Professional (MVP) su Application Virtualization, Springboard Series Technical Expert Panel (STEP) Member, Microsoft Certified Trainer (MCT) e membro della Community Windowserver.it, ha preparato per il blog TechNet Italia un articolo di approfondimento dedicato proprio al funzionamento del sequencing delle applicazioni con APP-V 4.6 Service Pack 1.

Buona lettura!

Renato F. Giorgini Segui i miei update su Twitter

Introduzione
Una delle principali novità contenute nel pacchetto Microsoft Desktop Optimization Pack for Software Assurance (MDOP) 2011 è il Service Pack 1 per la versione 4.6 di Microsoft Application Virtualization (APP-V). Mentre nella componente client di App-V non ci siano stati aggiornamenti sostanziali, nel Sequencer sono state implementate notevoli migliorie. Il wizard per la creazione del package virtuale è infatti completamente cambiato ed in più sono stati aggiunti i Package Accelerators, che aiuteranno i Sequencing Engineer a velocizzare le operazioni e a ridurre al massimo gli errori.

Spiegazione
In questo articolo voglio mostrarvi come poter fare il sequencing di un’applicazione come 7-Zip, un’utility Open Source per la gestione degli archivi compressi, usando App-V Sequencer 4.6 SP1. Non esiste una versione di prova pubblica di MDOP, ma la versione di valutazione può essere scaricata da chi ha un abbonamento Technet o MSDN.

Installiamo il Sequencer su una postazione con Windows 7 che abbia le caratteristiche il più possibile simili alle postazioni client su cui verrà poi fatto girare il package virtuale. È importante avere una postazione pulita, in modo tale che file non necessari non vengano inclusi nei package virtuali. Una macchina virtuale vi permetterà di poter annullare (grazie agli snapshot) le modifiche apportate dall’installazione di un’applicazione e poi poterne cominciare una nuova.

Figura 1: Avvio del SequencerLanciamo il Sequencer e dalla schermata iniziale scegliamo se creare un nuovo package virtuale o modificarne uno esistente, come mostrato in figura 1.

Figura 2: Creazione del PackageScegliamo di creare un nuovo package e nella schermata successiva ci verrà chiesto se vogliamo creare un nuovo Package oppure usare un Package Accelerator che abbiamo precedentemente creato o scaricato dal sito Microsoft, come mostrato in figura 2.

Un’importante novità del Sequencer 4.6 SP1 è la diagnostica integrata che controlla (prima del monitoraggio dell’installazione) se ci sono programmi e servizi che dovrebbero essere fermati, in quanto potrebbero compromettere il corretto funzionamento del package virtuale. Ad esempio ci potrebbero essere processi in esecuzione che devono essere fermati oppure non è stato fatto un riavvio della macchina a causa di una precedente installazione. Nel mio caso è stata rilavata la presenza di Windows Defender, Windows Search e un’applicazione aperta (internet Explorer), come mostrato in figura 3.

Figura 3: Stop delle applicazioni e dei servizi che potrebbero compromettere il corretto Sequencing

Figura 4: Messaggio di avviso di applicazione aperta con relativa risoluzioneFacendo click due volte sul messaggio di Warning ci viene indicato quale problema è stato riscontrato che potrebbe crearci problemi durante il Sequencing, come mostrato in figura 4.

Figura 5: Messaggio di avviso di creazione di un precedente package sulla macchina utilizzata per il SequencingNel caso abbiate già utilizzato la stessa postazione di lavoro o la stessa macchina virtuale per fare il sequencing un altro package, il Sequencer vi avvertirà con un messaggio come quello mostrato in figura 5.

Una volta fermati i servizi e le applicazioni non necessarie che potrebbero compromettere il Sequencing è possibile fare click sul pulsante Refresh presente nel wizard per verificare che non ci siano altri problemi e quindi scegliere Next per proseguire nella creazione del pacchetto.

Nella schermata successiva ci viene chiesta la tipologia dell'applicazione di cui vogliamo fare il sequencing. La scelta è tra Standard Application, Plug-in o Middleware, come mostrato in figura 6.

Figura 6: Scelta della tipologia dell'applicazione di cui vogliamo fare il sequencing

Figura 7: Scelta dell'applicazione da virtualizzareNella schermata del tipo di applicazione da virtualizzare scegliamo Standard Application (default) e forniamo al Sequencer l’eseguibile dell’applicativo che ci siamo precedentemente procurati, come mostrato in figura 7 e proseguiamo facendo click su Next.

Figura 8: Scelta del nome del Package e della cartella d’installazioneA questo punto dobbiamo scegliere il nome del package e la cartella di creazione. Come potete vedere dalla figura 8 l’applicazione verrà installata direttamente sotto la radice del drive Q: in una cartella con lo stesso nome che abbiamo scelto per il package. Una delle modifiche più importanti del nuovo App-V Sequencer 4.6 SP1 è non dover più rispettare la convenzione dei nomi 8.3 come nelle versioni precedenti per la creazione della cartella.

Figura 9: Preparazione dell'Environment e del MonitoringIl Sequencer prepara l’ambiente per l’esecuzione del nostro applicativo e fa partire le funzionalità di monitoring, per intercettare le modifiche fatte al sistema dal setup dell’applicazione, come mostrato in figura 9.

Figura 10: Lancio dell'applicazione da virtualizzareSubito dopo il Sequencer lancia automaticamente l’applicazione, facendo anche apparire un popup che ci ricorda di installare l’applicazione all’interno del drive Q: nella cartella che abbiamo indicato in uno dei passaggi precedenti, come mostrato in figura 10.

Figura 11: Percorso di installazione dell'applicazioneLa scelta della cartella d’installazione è uno dei passaggi più importanti per poter poi avere un virtual package che funzioni correttamente. Nel mio caso ho scelto il percorso Q:\7zip come mostrato in figura 11.

Una volta avviato il setup e installato correttamente l’applicazione, potete fare click su I’m finished installing e successivamente su Next per proseguire.

Se state facendo il sequencing di un’applicazione che richiede il riavvio del sistema, App-V Sequencer 4.6 SP1 intercetterà la richiesta e la interromperà , permettendovi di continuare il sequencing, come mostrato in figura 12.

Figura 12: Intercettazione della richiesta di reboot da parte del Sequencer

Figura 13: Collezione delle modifiche apportate al File System e al RegistryIl Monitoring a questo punto è terminato e vengono collezionate tutte le modifiche apportate al file system e alle chiavi di registro dall’applicazione durante l’installazione, come mostrato in figura 13.

Figura 14: Avvio del programma per le configurazioni inizialiIl software poi può essere ulteriormente configurato per aggiungere ad esempio delle licenze, rimuovere informazioni personalizzate o disabilitare gli aggiornamenti automatici (importante!). Lanciate i vari collegamenti e provvedete alla configurazione, come mostrato in figura 14. Nel mio caso ho solo avviato l’eseguibile di 7-Zip e non l’Help, a cui non sono interessato.

Fate click su Next per proseguire il wizard e nella schermata successiva vi verrà presentato un Report, altra novità interessantissima del nuovo Sequencer, che vi avviserà di eventuali problemi o anomalie riscontrate durante il Sequencing. Vi consiglio di prestare molta attenzione alle notizie contenute nel Report, che vi proporrà anche dei suggerimenti su come porre rimedio a eventuali anomalie riscontrate, come mostrato in figura 15.

Figura 15: Report generato al termine del Sequencing

Preso nota di tutte le segnalazioni e risolti gli eventuali problemi, possiamo proseguire con il wizard e andare al passaggio relativo alla personalizzazione, dove possiamo scegliere di modificare i collegamenti delle applicazioni, creare il Feature Block 1 per ottimizzare lo streaming e scegliere i sistemi operativi abilitati allo streaming. In alternativa possiamo anche scegliere di accettare le impostazioni di default e fare click su Stop now.

Figura 16: Rimozione e modifica dei link non necessariNel mio caso ho deciso di rimuovere il collegamento alla guida in linea del programma per poter lasciare solo quello per lanciare l’applicazione, come mostrato in figura 16.

Figura 17: Creazione del Feature Block 1 per ottimizzare lo streaming del package virtualeSe state facendo il sequencing di un’applicazione molto grande o se state facendo il sequencing di una suite di applicazioni (come Microsoft Office), nella schermata successiva vi sarà chiesto se volete lanciare l’applicazione per creare il Feature Block 1, come mostrato in figura 17.

Il Feature Block 1 è l'insieme di file necessari ad avviare l'applicazione. L'FB1 sarà il primo blocco di file che verrà scaricato dal server di streaming per poter avviare l'applicazione virtuale. In questo modo possiamo ridurre la dimensione dei file da trasferire via rete al primo avvio. Tutte le altre feature del programma saranno contenute nel Feature Block 2 (FB2) e saranno trasferite dal server in background, dopo che dal client sarà stata avviata per la prima volta l’applicazione.

Dopo aver fatto click sul pulsante Next ci sarà presentata la schermata con la scelta dei sistemi operativi client sui quali l’applicazione potrà essere eseguita, come mostrato in figura 18.

Figura 18: Scelta dei sistemi operativi target

Figura 19: Salvataggio del package ed eventuale compressioneNella schermata successiva è possibile inserire dei commenti (importanti per ricordarsi la versione del Sequencer o del sistema operativo utilizzato), scegliere la cartella di destinazione del package, che di default verrà salvato sul Desktop, e comprimere il package stesso, una operazione da fare soprattutto se il package stesso supera i 4 GB!

Terminate queste operazioni siamo pronti per creare il package facendo click su Create.

Il package è pronto per essere distribuito usando il metodo che preferiamo.

In alternativa possiamo scegliere Continue to modify package without saving using the package editor e utilizzare l’editor per fare delle modifiche granulari sul package dell’applicazione, come scegliere il protocollo di streaming, la porta da utilizzare, il server da utilizzare, le chiavi di registro da modificare nel virtual registry e i file da aggiungere e rimuovere dal virtual file system, come mostrato in figura 20.

Figura 20: Editing avanzato del package. Esempio di modifica delle chiavi del virtual registry

Dopo la creazione dell’applicazione, ogni package conterrà un file Open Software Description (.osd) per ogni applicazione virtualizzata, una o più icone (.ico) estratte dalle applicazioni, un file .sft che conterrà il package vero e proprio con all’interno gli eseguibili e tutte le informazioni sulle applicazioni virtualizzate (nel caso di una suite), un file Application Virtualization Sequencer Project (.sprj), un file di installazione (.msi) utilizzabile per la distribuzione dell’applicazione con i sistemi classici di software distribution, un file di Report (.xml) ed un manifest file (.xml), come mostrato in figura 21.

Figura 21: File generati dopo la creazione del package virtuale

Conclusioni
Grazie al nuovo App-V 4.6 Sequencer SP1 sarà possibile effettuare il sequencing delle applicazioni senza più gli errori del passato facendosi aiutare dalla diagnostica e dalla reportistica. Il wizard è molto completo e d’ora in poi sarà davvero difficile sbagliare.

Link utili

App-V 4.6 SP1 Trial Guide
Known issues with Microsoft App-V 4.6 SP1
Microsoft Application Virtualization 4.6 Service Pack 1
Windows 7 - Portale di formazione dedicato al Deployment

Nicola Ferrini