Una delle domande che più spesso ricevo durante i miei corsi su App-V è se c'è la possibilità di installarlo in modalità Stand-alone, in modo tale da non dover usare il server di Streaming o di Management per poter distribuire le applicazioni virtualizzate. Questa possibilità esiste (fin dalla versione 4.2 del client di App-V) ed è anche abbastanza semplice da implementare. Lanciamo sulla macchina in cui andremo ad eseguire le applicazioni virtualizzate il setup del client di App-V in modo tale da cominciare l'installazione dei prerequisiti, come mostrato in figura 1.

Figura 1: Installazione dei prerequisiti del client di App-V 4.6

Terminata l'installazione dei prerequisiti, proseguiamo con il setup, scegliendo la modalità di installazione personalizzata. È possibile personalizzare la cartella dove ci saranno i dati da condividere tra tutti gli utenti e quelli personalizzati dove saranno salvate le impostazioni e le personalizzazioni dei vari applicativi, come mostrato in figura 2.

Figura 2: Scelta delle cartelle di installazione della cache e dei settaggi utente

Nella schermata Runtime Package Policy Configuration del setup andiamo a impostare i parametri necessari per eseguire il client in modalità Stand-alone. In particolare occorre configurare l'Application Source Root disabilitando "Require User authorization even when cached" e abilitando il parametro "Allow streaming from file". In più ricordatevi anche di disabilitare tutte le voci riguardanti il preload dell'applicazione in cache, come mostrato in figura 3.

Figura 3: Scelta delle configurazioni di Runtime Package Policy

Le impostazioni possono essere anche configurate successivamente utilizzando gli App-V Administrative Templates e le Group Policy, se le macchine sono in dominio.

A questo punto abbiamo terminato l'installazione del client e non ci resta che distribuire la nostra applicazione. È necessario per questo utilizzare il file MSI creato durante l'operazione di Sequencing. Il file MSI contiene tutti i file ICO, il file OSD e il file manifest.xml necessari per pubblicare l'applicazione e contiene anche informazioni su come importare il file SFT, che contiene il package virtuale, nella cache del client di App-V.

In figura 4 sono mostrati tutti i file risultanti dall'operazione di sequencing e necessari per distribuire la nostra applicazione virtualizzata.

Figura 4: File generati dal Sequencer

Il file SFT non è integrato nel file MSI per una scelta di design, visto che i file MSI sono limitati a 2 GB, mentre i file SFT sono limitati a 4 GB. Il file SFT deve trovarsi nella stessa cartella in cui si trova il file MSI. Se il file SFT si trova in un'altra cartella (ad esempio una cartella condivisa in rete) in fase di installazione sarà necessario usare il comando

Msiexec.exe /i \\PathToMsi\packagename.msi SFTPATH=\\server\share\package.sft /q

 

Una volta copiato il file MSI ed il file SFT in una cartella locale del nostro pc client, possiamo iniziare l'installazione lanciando il file MSI e proseguendo nel setup, come mostrato in figura 5.

Figura 5: Installazione dell'applicazione virtualizzata

Al termine del setup la nostra applicazione sarà pronta per essere lanciata e utilizzata. Nella console di amministrazione del client App-V presente negli strumenti di amministrazione raggiungibili dal pannello di controllo possiamo vedere che il package è presente nel nostro client ed è utilizzabile, come mostrato in figura 6.

Figura 6: Applicazione presente sul client, già precaricata al 100%

Nella scheda Package delle proprietà dell'applicazione possiamo vedere la dimensione del package e la sua presenza nella cache del client, come mostrato in figura 7.

Figura 7: Proprietà del package

Nel file system del nostro sistema operativo, in particolare nella cartella C:\Programdata\Microsoft\Application Virtualization Client\Softgrid Client, possiamo vedere che il file sftfs.fsd contiene la cache dell'applicazione che abbiamo appena "installato".

Figura 8: File presenti nella cache del client

Una volta lanciata la nostra applicazione, questa sarà immediatamente eseguita, senza eseguire nessuno streaming:

Figura 9: Lancio dell'applicazione virtualizzata

A questo punto possiamo dire che l'installazione del client App-V in modalità stand-alone è davvero facile e la stessa configurazione fatta per il client desktop può essere facilmente replicata anche per il client App-V per i Terminal Server/Remote Desktop. Vi ricordo che l'uso di App-V è già concesso in licenza nelle RDS Client Access License (RDS CAL) e questo consente anche un'ottimizzazione dei costi.

NOTA Subito dopo il sequencing dell'applicazione e prima del salvataggio del package, ricordatevi di inserire la versione corretta del sistema operativo su cui è autorizzato il deployment dell'applicazione. Questa informazione è inserita nel file OSD e in seguito sarà inserita nel file MSI al momento del salvataggio, come mostrato in figura 10.

Figura 10: Inserimento della versione del Sistema operativo prima del salvataggio del package

Purtroppo l'assenza di un server di streaming non permette di aggiornare dinamicamente i package virtuali con l'Active Upgrade. Per questo motivo se volete distribuire una versione aggiornata della stessa applicazione dovete ridistribuirla e reinstallarla (perdendo così le personalizzazioni degli utenti) , usando il file MSI e il file SFT aggiornati dal Sequencer, usando magari un sistema ESD.

NOTA È importante ricordare comunque che non è possibile configurare il client per lavorare in modalità stand-alone ed in modalità streaming contemporaneamente. È possibile però usare un piccolo workaround suggerito da Tim Mangan nell'articolo Microsoft App-V Stand-alone.

Approfondimenti

Stand-Alone Delivery Scenario Overview

Using Electronic Software Distribution as a Package Management Solution

 

Congratulations and welcome to the Springboard Technical Expert Program (STEP). You have been identified as one of the top IT pro influencers in the world due to your knowledge and impact on the IT pro community around Microsoft technologies.

This program helps to expand reach beyond typically-attended Microsoft events like TechEd to more local efforts, which helps to support you as the "smartest person in the room" on Microsoft technologies. The nexus of the program lies in the IT pro-ready content on The Springboard Series on TechNet.

Inizia così la mail contenuta nel Welcome Kit che mi è arrivato oggi direttamente da Redmond… Nel kit ci sono una polo per me, penne e adesivi per i portatili che prometto di distribuirvi al prossimo seminario che verrete a seguire… rimanete sintonizzati perché subito dopo l'estate ci saranno diversi seminari e incontri dove potremo vederci!.  :-)

L'utilizzo di App-V in una Virtual Desktop Infrastructure è sicuramente un altro modo per sfruttare appieno le potenzialità della virtualizzazione delle applicazioni e costruire una infrastruttura dinamica.

La creazione di una infrastruttura VDI è utile ad esempio in quegli scenari in cui si vogliono centralizzare le applicazioni aziendali sfruttando l'accesso via RDP tramite Thin Client, grazie anche a RemoteFX, o hardware ormai obsoleto utilizzando Windows Thin PC, una versione di Windows che può essere installata nei computer più vecchi per utilizzarli come client RDS/VDI e ottenibile tramite Software Assurance.

Grazie al nuovo ruolo "Virtualization Host" dei Remote Desktop Services di Windows Server 2008 R2 è possibile integrare i servizi RDS con Hyper-V per creare un'infrastruttura VDI con Personal Virtual Desktop o Pooled Virtual Desktop. A differenza di una soluzione basata sul Session Host, in cui ogni utente ha una "sessione" separata, le Virtual Machine di un ambiente VDI consentono una separazione maggiore degli ambienti. In questo modo è possibile assegnare permessi amministrativi agli utenti nella propria VM oppure utilizzare applicazioni che richiedono un sistema operativo client per essere eseguite e che in un Terminal Server (Session Host) non funzionerebbero correttamente.

Perchè utilizzare App-V in una infrastruttura VDI

Il vantaggio di utilizzare App-V in un'infrastruttura VDI è consentire il rapid deployment delle macchine virtuali e delle applicazioni. Nel momento in cui viene preparato il template della virtual machine, non dobbiamo preoccuparci di installare le applicazioni, ma al massimo installiamo un antivirus ed l'App-V Desktop Client.

Ogni volta che l'utente eseguirà il login nella sua macchina VDI il client App-V riconoscerà quali applicazioni l'utente è autorizzato ad utilizzare e le attiverà. In questo modo non è necessario creare template differenti con set di applicazioni differenti, e questo ci permette di avere un'infrastruttura molto dinamica e facilmente scalabile. Il provisioning di nuove macchine diventa davvero questione di minuti, così come la distribuzione di nuove applicazioni.

Gestione delle impostazioni degli utenti

Per semplificare e rendere dinamica la configurazione delle impostazioni dei nostri client App-V, sia client "classici", VM VDI o macchine Session Host o Terminal Server, è possibile scaricare il Microsoft Application Virtualization Administrative Template (ADM Template), che ci permette di sfruttare le Group Policy di Active Directory per gestire una serie di impostazioni di App-V come il server di streaming dei package virtuali o la cartella nella quale salvare le personalizzazioni che gli utenti fanno alle proprie applicazioni.

In particolare è utile sfruttare l'impostazione relativa alla "Posizione dati specifici per utente" e configurarla in modo tale che punti a una share di rete (come mostrato in figura 2). In questo modo nella share verranno salvate le impostazioni che l'utente configura in ciascuna applicazione, l'utente ritroverà le sue impostazioni su ogni desktop del VDI Pool a cui si connetterà e non sarà necessario mantenere in modo persistente lo stato della VM.

Figura 1: Scelta della Posizione dati specifici per utente

Ottimizzazione dello streaming

Tra le novità più importanti della versione 4.6 SP1 di App-V c'è il pieno supporto alla Read-Only Cache per RDS e per la VDI. E' ora possibile configurare i client App-V in modo tale che accedano tutti ad un unico file .FSD impostato in sola lettura e in cui vengono memorizzati i package di tutte le applicazioni presenti nei server di streaming.

Questo consente di non avere in ciascuna macchina virtuale un file di cache locale, risparmiando storage nella SAN e di ottimizzando il traffico di rete.

Infrastruttura VDI e accesso da remoto

L'integrazione con i Remote Desktop Services del Virtualization Host e dei componenti VDI rende possibile l'utilizzo di Connessione RemoteApp e desktop o del Remote Desktop Web Access per accedere in desktop remoto alle macchine, come mostrato in figura 2.

Figura 2: Connessione al Remote Desktop Web Access per potersi collegare alla VDI

Facendo click sull'icona del proprio Desktop oppure sull'icona del Pool VDI viene lanciata la connessione remota e, se la macchina virtuale in esecuzione su Hyper-V è spenta o è in "Save State", viene prima riattivata. Dopo la connessione l'utente comincia ad usare la macchina come un vero e proprio desktop.

Se configuriamo il RDS Web Access per l'utilizzo di un RDS Gateway, che incapsula il protocollo RDP in un tunnel HTTPS, possiamo permettere ad un utente di collegarsi anche da computer che sono fuori dalla LAN aziendale al proprio Personal Desktop o ad un Pool VDI aziendale in maniera sicura, senza la necessità di configurare un server VPN.

Per chi preferisce non usare la schermata del Web Access, in Windows 7 è possibile integrare i collegamenti a RemoteApp, infrastruttura VDI e Session Host direttamente nel menu Start di Windows: Connessione RemoteApp e desktop.

Come provare App-V in una infrastruttura VDI

Su TechNet trovate delle guide di approfondimento dedicate alla creazione di una infrastruttura VDI:

Per provare Application Virtualization in una infrastruttura VDI potete scaricare da Technet e MSDN la versione di valutazione senza limiti di Microsoft Desktop Optimization Pack.

Quando deciderete di andare in produzione dovrete valutare il Licensing, considerando che per i PC coperti da Software Assurance l'acquisto della Microsoft VDI Suite copre anche il licensing relativo ad Application Virtualization. I PC non coperti da Software Assurance hanno bisogno invece anche della licenza VDA – Windows Virtual Desktop Access.

Figura 3: Modalità di licenza per Microsoft VDI

Figura 4: Microsoft VDI Suites

È utile ricordare che la sottoscrizione a Windows Intune include anche i benefici della Software Assurance, e con una spesa aggiuntiva molto ridotta (meno di 1€ a computer al mese) consente di coprire i computer anche con la licenza di MDOP.

Approfondimenti:

Application Virtualization Whitepapers

App-V 4.6 for RDS whitepaper

Application Virtualization TechCenter

VDI licensing

Come configurare una cache di sola lettura su App-V Client

Video tecnici in Italiano su Windows Intune

Why Hyper-V for VDI whitepaper