Vous êtes sur la page 1sur 27

Virtualisation dapplication avec VMware ThinApp

Cahier Produit Amosdec Q1 2009 Numro 2

Edito
Auriez-vous imagin ne plus avoir de problmatique de dploiement dapplications, de compatibilit entre applications ou avec les diffrentes versions de Windows, de mise jour, de publication ou de droits des utilisateurs dexcuter certaines applications Ce cahier produit dtaille le produit VMware Thinapp, outil de virtualisation dapplications. Merci Pierre-Franois GUgLIELMI, formateur VMware Certified Instructor (VCI), pour la rdaction de ce cahier produit qui vous dtaille tout ce quil faut savoir de VMware Thinapp. Nhsitez pas nous faire part de vos commentaires : cta@amosdec.fr Bonne lecture !

Avec ombre porte

Sans ombre porte

Virtualisation dapplication avec VMware ThinApp


Cahier produit Amosdec

Sommaire
I Introduction
1. Quest ce que la virtualisation dapplications? 2. Problmatiques et avantages a. Compatibilit b. Scurit c. Dploiement

1
1 1 1 2 2

II La solution VMware ThinApp


1. De Thinstall VMware ThinApp 2. Concept de Sandbox 3. Installation 4. Installation dun package

3
3 3 4 7

III Utilisation avance - Package.ini


1. Nouvelles fonctionnalits a. AppLink b. AppSync 2. Paramtres disolation 3. Dploiements MSI 4. Streaming 5. Exclusion de fichiers 6. Outils de commandes et outils tiers a. Thinreg.exe b. Sbmerge.exe c. Log Monitor.exe d. DLL_Dump.exe

15
15 15 16 17 18 21 21 22 22 22 22 22

I Introduction
1. Quest ce que la virtualisation dapplications?

Le plus souvent dans le monde x86, le terme virtualisation concerne les systmes, quils soient serveurs ou postes de travail. Ceci tant dautres lments comme le stockage mais aussi les applications peuvent tre virtualiss. Dans ce cas prcis, tout comme on dcouple le systme dexploitation du matriel lors de la virtualisation dun serveur ou dun poste de travail, la virtualisation dune application consiste dcorrler lapplication du systme dexploitation sur lequel elle est excute, liminant ainsi toute installation.

2. Problmatiques et avantages
La virtualisation dapplications peut adresser diffrentes problmatiques, parmi lesquelles compatibilit, scurit et dploiement. a. Compatibilit Certaines applications ne sont pas compatibles entre elles lorsquon souhaite les installer sur une mme machine. En effet, lorsquun logiciel sinstalle, des modifications sont apportes la base de registres et des fichiers sont crits sur le disque systme. Parfois mme, diffrentes applications peuvent apporter leur propre version de DLLs systmes, crasant les modifications apportes par une autre application qui aurait employ le mme procd, la rendant alors inutilisable. De plus, lors dune dsinstallation, certaines de ces modifications subsistent et les multiples installations/dsinstallations conduisent, au final, des systmes dexploitation moins sains et qui perdent souvent en performances et en stabilit. La virtualisation isole les applications entre elles. Elle permet ainsi lexcution simultane, sur une mme machine de ces applications nativement non compatibles, mais en plus sans aucune installation/dsinstallation, donc sans modification de la base de registres ou du systme de fichiers. Le systme dexploitation reste alors sain dans le temps. Dans certains mtiers, il est parfois ncessaire, voire obligatoire, dutiliser la mme application mais dans diffrentes versions. Le problme est quen gnral la nouvelle version dune application remplace lancienne, ce qui rend impossible lexcution de diffrentes versions de la mme application sur la mme machine. Virtualiser les diffrentes versions permet dans ce cas de crer des packages isols qui peuvent tre excuts simultanment sur la mme machine. Toutes ces problmatiques de compatibilit et de cohabitation de diffrentes applications sur un mme systme sont dautant plus contraignantes en environnements publis tels que Citrix XenApp ou Microsoft Terminal Services, que des incompatibilits entre applications publier conduisent alors la multiplication des frontaux. Ceci savre plus coteux, plus compliqu grer et administrer et mne parfois une sous-utilisation des ressources de ces frontaux.

Cahier Produit Amosdec Virtualisation dapplication avec VMware ThinApp

Toute reproduction ou reprsentation intgrale ou partielle, par quelque procd que ce soit, sans lautorisation dAmosdec est illicite et constitue une contrefaon.

b. Scurit Le principal problme de scurit qui peut se poser est celui des privilges ncessaires lexcution dune application. En loccurrence, certaines applications ncessitent que lutilisateur qui les excute dispose des privilges administratifs locaux, cest--dire quil soit membre du groupe Administrateurs local sous Windows. Cela pose un important problme de scurit face aux drives lies ces privilges : installation de logiciels personnels ou non sollicits, non valids par lentreprise qui peut entrainer une baisse de productivit, installation involontaire de divers malwares ou spywares qui peuvent se propager dautres machines, changements non contrls et/ou non souhaits de la configuration du systme, etc Si lon en revient aux environnements publis, de telles applications ne peuvent tout simplement pas tre publies puisquon ne peut pas donner les privilges administratifs locaux dun serveur des utilisateurs. La virtualisation des applications prsente un intrt majeur : toutes les applications virtualises avec la solution de VMware sont excutes en user mode cest--dire que lutilisateur dispose uniquement des privilges utilisateurs et non des privilges administrateurs afin de pouvoir excuter ces applications virtualises, ce qui, de plus, les rend alors publiables . c. Dploiement Le problme de lhtrognit dun parc informatique en termes de versions de systmes dexploitation peut galement se poser ainsi que les contraintes et les enjeux dune migration de systme dexploitation. Si on analyse un parc sur lequel cohabitent Windows 2000, Windows XP et Windows Vista, il faut pouvoir excuter les mmes applications sur toutes ces versions de Windows. Ceci ncessite davoir des versions, parfois diffrentes, compatibles avec chacune de ces versions dOS, de les tester, de les valider, de les dployer et de sassurer que lorsque lon veut migrer le systme dexploitation vers une version plus rcente de Windows, cette application continuera de fonctionner correctement. La problmatique de la migration vers Windows Vista est particulirement dlicate car les changements apports au systme sont trs importants. Dans ce type de situation, la virtualisation des applications permet de passer outre ces contraintes en obtenant un package applicatif qui pourra tre excut indiffremment sur les diffrentes versions de Windows.

Cahier Produit Amosdec Virtualisation dapplication avec VMware ThinApp

Toute reproduction ou reprsentation intgrale ou partielle, par quelque procd que ce soit, sans lautorisation dAmosdec est illicite et constitue une contrefaon.

II La solution VMware ThinApp


1. De Thinstall VMware ThinApp
La solution VMware ThinApp 4 est issue du rachat par VMware de la socit amricaine Thinstall cre en 1999. Thinstall stait impos comme le leader du march de la virtualisation dapplications avec sa solution Thinstall Virtualization Suite, avant dtre rachet par VMware dbut 2008. Cette solution logicielle rpond toutes les diffrentes problmatiques - compatibilit, isolation, scurit et dploiement - voques prcdemment, tout en tant une solution simple implmenter puisquelle ne ncessite la mise en place daucune infrastructure complexe. Cette prouesse est rendue possible par lintgration dans len-tte de chaque package dapplication virtualise, dun mini systme dexploitation appel VOS (Virtual Operating System) qui cre linteraction entre les donnes prsentes dans le package en termes de fichiers et de base de registres avec le systme de fichiers et la base de registres rels de la machine sur laquelle lapplication est excute. Ce VOS pse environ 400ko ce qui reprsente un overhead (consommation de ressources) ngligeable. (Fig 1-a)

Fig 1-a

2. Concept de Sandbox
Lorsquune application est virtualise avec ThinApp, linstallation et tous les fichiers et cls de registres ncessaires au fonctionnement sont encapsuls avec le VOS dans un fichier excutable. Pour que le fichier soit excutable de manire autonome, sans aucun agent, il faut que lensemble soit compil. Une fois lopration de compilation ralise, le fichier excutable rsultant nest plus modifiable.
Cahier Produit Amosdec Virtualisation dapplication avec VMware ThinApp Toute reproduction ou reprsentation intgrale ou partielle, par quelque procd que ce soit, sans lautorisation dAmosdec est illicite et constitue une contrefaon.

Nanmoins, le fonctionnement mme de lapplication ncessite que certaines modifications soient apportes au fur et mesure de lutilisation, que ce soit au niveau du systme de fichiers ou de la base de registres. Ces modifications ne peuvent tre apportes ni lintrieur mme de lexcutable ni sur le systme rel, puisque lun des intrts de la virtualisation dapplications est justement, de ne pas laisser de trace sur le systme de sorte quil reste sain et stable dans la dure. Cest pourquoi VMware ThinApp utilise la notion de Sandbox (rpertoire stock par dfaut dans le profil de lutilisateur) destine accueillir toutes ces modifications en criture sur les dossiers systmes et sur la base de registres. Lapplication virtualise est capable daccder en lecture aux rpertoires systmes ainsi qu la base de registres, mais aussi en criture sur les lecteurs rseaux ou les dossiers personnels non systmes de lutilisateur. Par exemple, pour un navigateur internet virtualis, si lutilisateur fait une configuration personnelle, changer la page daccueil par dfaut, cette configuration sera crite dans la Sandbox. (Fig 2-a)

Fig 2-a

3. Installation
Limplmentation du produit est extrmement simple puisquaucune infrastructure complexe nest mettre en place : pas de serveur de packages pas de serveur de streaming pas dagent dployer sur les postes pas de serveur de mise jour spcifique pas de serveur de dploiement spcifique. Une seule machine virtuelle suffit et l encore sans procdure dinstallation complexe. En effet, VMware recommande lutilisation de VMware Workstation, fourni avec VMware ThinApp, afin de crer une machine virtuelle qui sert capturer les packages dapplications virtualises. ThinApp capture ltat du systme avant linstallation de lapplication virtualiser, procde linstallation, puis capture une seconde fois ltat du systme aprs linstallation de lapplication. ThinApp extrait un diffrentiel, au niveau systme de fichiers et base de registres, qui est ensuite encapsul dans un fichier excutable unique et autonome.

Cahier Produit Amosdec Virtualisation dapplication avec VMware ThinApp

Toute reproduction ou reprsentation intgrale ou partielle, par quelque procd que ce soit, sans lautorisation dAmosdec est illicite et constitue une contrefaon.

Afin de sassurer que tous les lments ncessaires au fonctionnement soient bien capturs, il faut, pour chaque nouvelle capture dune application, raliser les oprations sur un systme le plus sain possible, donc avec le minimum de composants et dapplications installs. (Fig 3-a)

Fig 3-a Travailler dans un environnement virtualis est donc particulirement adapt puisque lon peut crer une machine virtuelle saine, dont on capture ltat grce la prise dun snapshot (photographie systme) froid, permettant ainsi de revenir un tat sain chaque nouvelle opration de virtualisation dapplications. Linstallation de VMware ThinApp se fait en lanant le package Microsoft Installer (MSI) fourni par VMware. Il suffit alors de se laisser guider par lassistant dinstallation. (Fig 3-b)

Fig 3-b

Cahier Produit Amosdec Virtualisation dapplication avec VMware ThinApp

Toute reproduction ou reprsentation intgrale ou partielle, par quelque procd que ce soit, sans lautorisation dAmosdec est illicite et constitue une contrefaon.

Fig 3-c Fig 3.c : Le License display name correspond au nom qui sera affich dans une petite fentre pop-up en bas droite de lcran chaque lancement de lapplication virtualise.

Fig 3-d

Cahier Produit Amosdec Virtualisation dapplication avec VMware ThinApp

Toute reproduction ou reprsentation intgrale ou partielle, par quelque procd que ce soit, sans lautorisation dAmosdec est illicite et constitue une contrefaon.

Une fois linstallation termine, on retrouve lensemble des fichiers qui composent la VMware ThinApp Virtualization Suite dans le rpertoire C:\Program Files\VMware\VMware ThinApp. (Fig 3-e)

Fig 3-e Une information est retenir au sujet de linstallation de ThinApp : la ThinApp Virtualization Suite est elle-mme virtualise avec ThinApp ! Ceci rend lapplication compltement portable et utilisable par exemple partir dun partage rseau ou dune cl USB, sans aucune installation pralable.

4. Installation dun package


La cration dun package dapplication virtualise se droule en quelques tapes simples. On commence par lancer lutilitaire ThinApp Setup Capture. (Fig 4-a et 4-b)

Fig 4-a
7 Cahier Produit Amosdec Virtualisation dapplication avec VMware ThinApp Toute reproduction ou reprsentation intgrale ou partielle, par quelque procd que ce soit, sans lautorisation dAmosdec est illicite et constitue une contrefaon.

Fig 4-b Cest avec cet utilitaire que lon capture linstallation dune application dans le but de lencapsuler dans un excutable autonome. On prend alors un premier snapshot de ltat du systme en scannant le systme de fichiers ainsi que la base de registres. (Fig 4-c et 4-d)

Fig 4-c

Cahier Produit Amosdec Virtualisation dapplication avec VMware ThinApp

Toute reproduction ou reprsentation intgrale ou partielle, par quelque procd que ce soit, sans lautorisation dAmosdec est illicite et constitue une contrefaon.

Fig 4-d Puis on installe lapplication que lon souhaite virtualiser. Ici un exemple avec Mozilla Firefox. (Fig 4-e)

Fig 4-e

Cahier Produit Amosdec Virtualisation dapplication avec VMware ThinApp

Toute reproduction ou reprsentation intgrale ou partielle, par quelque procd que ce soit, sans lautorisation dAmosdec est illicite et constitue une contrefaon.

Une fois lapplication installe, on peut la lancer une premire fois afin de faire une configuration globale qui sera alors galement capture. Une fois cette tape ralise, on lance un second snapshot de ltat du systme. (Fig 4-f )

Fig 4-f Il reste raliser quelques tapes de configuration gnrale du projet, en premier la slection des points dentre utilisateur (Fig 4-g). En virtualisant, par exemple, Microsoft Office, il est possible de selectionner comme points dentre utilisateur les excutables de chacun des composants principaux dOffice, savoir Word, Excel, PowerPoint, etc

Fig 4-g
10 Cahier Produit Amosdec Virtualisation dapplication avec VMware ThinApp Toute reproduction ou reprsentation intgrale ou partielle, par quelque procd que ce soit, sans lautorisation dAmosdec est illicite et constitue une contrefaon.

A cette mme tape, il faut slectionner un Primary data container cest--dire un fichier excutable parmi les points dentre utilisateur qui contiendra lensemble des donnes, organises en blocs de 64ko par dfaut, qui seront inclues dans le package. Si plusieurs points dentre utilisateur sont slectionns, celui dsign comme Primary data container sera le fichier ayant une taille plus importante, tous les autres ne psent que quelques kilo-octets et pointent vers le Primary data container. Dans le cas o le ThinApp Setup Capture estime la taille finale du package plus de 200 Mo, un fichier lextension .dat est gnr et slectionn comme Primary data container. Ceci vite les problmes daffichage de licne de lapplication lorsque le package est trop volumineux. Le champ Inventory Name quant lui permet de dfinir le nom qui sera affich dans Ajout/Suppression de programmes sous Windows si lapplication virtualise est dploye partir dun package MSI ou enregistre avec lutilitaire Thinreg.exe. Ce sujet sera abord plus en dtail un peu plus loin. Dans lcran suivant, ladministrateur peut dfinir des permissions dexcution, cest--dire quil peut choisir les groupes ou les utilisateurs Active Directory qui seront autoriss lancer lapplication, afin de la scuriser et den contrler lutilisation. Pour tous les autres utilisateurs non autoriss, il est possible de dfinir un message qui saffichera au lancement de lapplication et qui les avertira quils nont pas les permissions ncessaires pour lexcuter. (Fig 4-h)

Fig 4-h Lors de cette tape, ladministrateur dfinit lemplacement de la Sandbox qui, par dfaut, se situe dans le profil de lutilisateur qui lance lapplication. La Sandbox peut tre stocke des emplacements aussi divers quun partage rseau, une cl USB sur laquelle lapplication sera stocke ou tout autre rpertoire accessible par lutilisateur. Ceci est configurable volont. Il faut ensuite configurer le niveau gnral de lisolation de lapplication. Cette notion fera lobjet dune partie ddie. (Fig 4-i)

11

Cahier Produit Amosdec Virtualisation dapplication avec VMware ThinApp

Toute reproduction ou reprsentation intgrale ou partielle, par quelque procd que ce soit, sans lautorisation dAmosdec est illicite et constitue une contrefaon.

Fig 4-i Avant de construire le package de lapplication virtualise, il est ncessaire de choisir un rpertoire, que lon dsigne comme le projet, pour stocker tout le diffrentiel captur entre les deux snapshots au niveau systme, soit linstallation complte et la configuration de lapplication. Fig 4-j : deux autres options sont prsentes ici : la possibilit de crer un package MSI, en plus de lexcutable autonome, en vue dun dploiement simplifi via les Group Policy (GPO) Active Directory ou une intgration avec les solutions de dploiements de logiciels disponibles au sein de lentreprise la possibilit de compresser le package excutable final afin dconomiser la volumtrie ncessaire au stockage et au dploiement des packages dapplications virtualises.

Fig 4-j
12 Cahier Produit Amosdec Virtualisation dapplication avec VMware ThinApp Toute reproduction ou reprsentation intgrale ou partielle, par quelque procd que ce soit, sans lautorisation dAmosdec est illicite et constitue une contrefaon.

Le projet est alors cr et stock lendroit indiqu prcdemment dans lassistant. (Fig 4-k)

Fig 4-k Fig 4-l : dans la vue suivante, ladministrateur peut : soit construire le package afin dobtenir le fichier excutable autonome rsultant, ainsi que le package MSI le cas chant, en cliquant sur Build now. soit parcourir le dossier de projet en cliquant sur Browse project, afin de le personnaliser et de le configurer plus finement, notamment en sappuyant sur le fichier principal de configuration du package : le fichier package.ini.

Fig 4-l
13 Cahier Produit Amosdec Virtualisation dapplication avec VMware ThinApp Toute reproduction ou reprsentation intgrale ou partielle, par quelque procd que ce soit, sans lautorisation dAmosdec est illicite et constitue une contrefaon.

Fig 4-m

Fig 4-n Lorsque lon choisit de construire le package, une invite de commande saffiche et la tche de cration du package se droule (Fig 4-n). On trouve le rsultat de lopration dans un rpertoire bin par dfaut. (Fig 4-o)

Fig 4-o
14 Cahier Produit Amosdec Virtualisation dapplication avec VMware ThinApp Toute reproduction ou reprsentation intgrale ou partielle, par quelque procd que ce soit, sans lautorisation dAmosdec est illicite et constitue une contrefaon.

III Utilisation avance - Package.ini


Les applications tant toutes diffrentes, virtualiser chacune dentre elles est un cas particulier et ncessite le plus souvent une configuration avance spcifique. Ceci est bien videmment possible travers lutilisation du fichier de configuration dun package. Il sagit du fichier package.ini situ la racine du dossier dun projet. Cest, par exemple, grce ce fichier que lon peut configurer lutilisation des nouvelles fonctionnalits apportes la version 4 de VMware ThinApp, mais aussi lisolation, la compression, lexclusion de certains types de fichiers, etc

1. Nouvelles fonctionnalits
Avant que Thinstall ne soit rachete par VMware en 2008, loutil Thinstall Virtualization Suite tait en version 3.3. Suite ce rachat le logiciel est pass la version 4 et a apport 2 nouvelles fonctionnalits principales : AppLink et AppSync. a. AppLink Comme son nom le laisse supposer, AppLink permet de crer des liaisons entre packages. Supposons par exemple que lon veuille virtualiser 10 applications sappuyant toutes sur la mme version du .Net Framework de Microsoft ou du Java Runtime Environment de Sun. Plutt que dinclure ce composant fondamental pour le fonctionnement des applications dans chacun des packages, ce qui prend plus de temps et gnre des packages plus importants, il est possible, grce AppLink : de crer un package excutable autonome du .Net Framework ou du Java Runtime Environment de crer les packages des diffrentes applications virtualiser, sans y inclure le composant sousjacent puis de configurer le package.ini du projet afin que lapplication charge automatiquement le package de ce composant lorsquelle dmarre. Deux options permettent de configurer AppLink : ;OptionalAppLinks=plugins\*.exe ;RequiredAppLinks=\\server\share\*.exe;c:\abs\path\file.exe La premire permet de prciser les packages qui peuvent tre appels par lapplication principale si elle en a besoin. On peut par exemple lutiliser pour ajouter des plugins ou mises jour. Dans le cas dun navigateur internet on utilise cette option afin de mettre disposition de ce dernier des composants tels quun lecteur PDF : les documents PDF se chargent alors directement dans le navigateur ou un client web Citrix XenApp. La seconde option permet de prciser les composants indispensables lapplication qui doivent tre chargs. Dans ce cas si le composant spcifi nest pas prsent alors lapplication ne dmarre pas et un message derreur est affich. Dans les deux cas, on peut renseigner un ou plusieurs packages individuellement en prcisant leur chemin et leur nom et en les sparant par un point-virgule sil y en a plusieurs ou un rpertoire complet contenant des applications virtualises en mettant lextension gnrique *.exe, prcde du chemin du rpertoire. Les chemins peuvent tre locaux ou rseaux.
15 Cahier Produit Amosdec Virtualisation dapplication avec VMware ThinApp Toute reproduction ou reprsentation intgrale ou partielle, par quelque procd que ce soit, sans lautorisation dAmosdec est illicite et constitue une contrefaon.

Un autre exemple dutilisation dAppLink est la mise jour rapide dune application comme Microsoft Office. Lorsquun nouveau Service Pack est publi, il suffit de le virtualiser pour en obtenir un package excutable que lon met disposition de lOffice virtualis via AppLink. La mise jour est alors instantane et le retour arrire peut tre effectu de manire rapide et propre : il suffit de supprimer laccs au package du Service Pack pour que le package Office revienne aussitt sa version prcdente.

b. AppSync AppSync est une fonctionnalit de mise jour automatique centralise des packages ThinApp. Lors de la construction dun package avec ThinApp, comme vu prcdemment, celui-ci est compil et donc non modifiable. Par consquent, il faut mettre en place des solutions pour pouvoir mettre jour les applications lorsque cela est ncessaire. Tout dabord, il est fortement recommand de dsactiver les systmes automatiques de mise jour natifs des applications car, si on procde une mise jour via ces mcanismes, les donnes tlcharges et modifies seront stockes dans la Sandbox. Ceci pose problme terme. La solution est donc dutiliser AppSync. Dans ce cas, il faut au pralable configurer lapplication, travers son package.ini, pour lui indiquer quelle doit aller priodiquement vrifier sur un serveur spcifi si une nouvelle version du package est disponible. Si tel est le cas, le VOS, charg dans la mmoire de la machine sur laquelle lapplication est lance, est capable de dterminer les blocs diffrents et nouveaux par rapport ceux prsents dans le package lanc. Ces blocs exclusivement, et non lintgralit du nouveau package, sont alors tlchargs sur le poste client et un nouvel excutable prenant en compte les modifications est cr en local. Lors du prochain lancement de lapplication virtualise, elle est jour. Voici les paramtres configurables pour AppSync : ;-------- AppSync Parameters ---------;AppSyncURL=https://example.com/some/path/PackageName.exe URL du serveur de fichier ou Web contenant les packages jour. ;AppSyncUpdateFrequency=1d Priodicit de la vrification des mises jour. ;AppSyncExpirePeriod=30d Dlai dexpiration des packages, au terme duquel les packages non mis jour ne peuvent plus tre lancs. ;AppSyncWarningPeriod=5d Priode avant lexpiration pendant laquelle lutilisateur est averti que le serveur doit tre contact pour procder la mise jour. ;AppSyncWarningFrequency=1d Frquence de rptition de lavertissement avant expiration. ;AppSyncWarningMessage=This application will become unavailable for use in %%remaining_days%% day(s) if it cannot contact its update server. Check your network connection to ensure uninterrupted service. Message davertissement affich sur le poste de lutilisateur pendant la priode avant lexpiration.
Cahier Produit Amosdec Virtualisation dapplication avec VMware ThinApp Toute reproduction ou reprsentation intgrale ou partielle, par quelque procd que ce soit, sans lautorisation dAmosdec est illicite et constitue une contrefaon.

16

;AppSyncExpireMessage=This application has been unable to contact its update server for %expire_days% day(s), so it is unavailable for use. Check your network connection and try again. Message affich sur le poste de lutilisateur une fois le dlai de mise jour expir. ;AppSyncUpdatedMessage= Message affich sur le poste de lutilisateur lorsque la mise jour du package a t ralise avec succs. ;AppSyncClearSandboxOnUpdate=0 Possibilit de vider la Sandbox lors de la mise jour. Si le paramtre est 0, la Sandbox conserve les donnes quelle contient. Si le paramtre est 1, la Sandbox est vide.

2. Paramtres disolation
Afin que lapplication virtualise puisse lire les fichiers et les cls de registre systmes rels et crire dans leurs quivalents virtuels encapsuls dans le package, il est ncessaire de configurer le bon niveau disolation sur chacun des lments. ThinApp le configure automatiquement en fonction de diffrents critres comme par exemple la cration de nouveaux lments qui nexistaient pas sur le systme avant linstallation de lapplication. Dans ce cas le niveau disolation est configur en full . Il existe 3 niveaux disolation distincts : Full : en cas dexistence dun fichier systme ou dune cl de registres la fois sur le systme rel et dans le package, seul llment inclus dans le package peut tre lu et lcriture se fait dans la Sandbox WriteCopy : dans le mme cas que prcdemment, llment prsent sur le systme peut tre lu mais les modifications en criture sont stockes dans la Sandbox Merged : toujours dans le mme cas, lapplication virtualise peut lire et crire llment sur le systme rel

Pour lisolation des rpertoires, il existe un paramtre gnral prsent dans le package.ini et configur par dfaut pour tous les rpertoires du systme de fichiers virtuels : [Isolation] DirectoryIsolationMode=Merged On peut galement configurer lisolation individuellement pour chacun des rpertoires et sousrpertoires du projet laide du fichier ##Attributes.ini prsent dans chacun de ceux-ci.

17

Cahier Produit Amosdec Virtualisation dapplication avec VMware ThinApp

Toute reproduction ou reprsentation intgrale ou partielle, par quelque procd que ce soit, sans lautorisation dAmosdec est illicite et constitue une contrefaon.

Pour les cls de registres le niveau disolation est prcis en dbut de ligne dans les fichiers textes de base de registres prsents la racine du projet. (Fig 2-a et Fig 2-b)

Fig 2-a

Fig 2-b

3. Dploiement MSI
Quand on virtualise une application avec VMware ThinApp, on obtient toujours au moins un package excutable autonome, mais on peut galement configurer le projet afin quun package MSI soit galement gnr. Le but est de dployer les packages ThinApp soit via une GPO Active Directory de dploiement logiciel, soit via une solution de dploiement tierce partie.

18

Cahier Produit Amosdec Virtualisation dapplication avec VMware ThinApp

Toute reproduction ou reprsentation intgrale ou partielle, par quelque procd que ce soit, sans lautorisation dAmosdec est illicite et constitue une contrefaon.

Lutilisation de packages MSI savre trs utile pour la simplification des dploiements mais aussi pour trois raisons principales :

Fig 3-a La cration automatique des raccourcis de lapplication tels que spcifis dans la figure 3-a. Lenregistrement de lapplication dans Ajout/Suppression de programmes des fins dinventaire. Les associations de fichiers qui permettent de lancer automatiquement une application en fonction de lextension du fichier : Microsoft Word est lanc quand on double-clique sur un fichier .doc. Cest le paramtre FileTypes qui permet de prciser les extensions de fichiers associer lapplication. Ces trois oprations peuvent galement tre ralises manuellement ou de manire automatique sans passer par lutilisation dun package MSI grce lutilitaire de ligne de commande thinreg.exe qui sera couvert un peu plus loin. Si on choisi que le package MSI soit gnr simplement en cochant la case correspondante dans lassistant Setup Capture il peut tre toutefois ncessaire de le configurer plus finement. Pour ce faire, cest encore dans le package.ini quon peut trouver une section ddie cet effet : ;-------- MSI Parameters ---------;Enable MSIFilename if you want to package. MSIFilename=Safari 3.2.3.msi Nom du package MSI gnr. MSIManufacturer=Amosdec Nom du fournisseur du package qui apparait dans Ajout/Suppression de programmes sous Windows. MSIProductVersion=1.0 Version du package. MSIDefaultInstallAllUsers=1 Si le paramtre est 1, lapplication est dploye pour tous les utilisateurs. Sil est 0, lapplication nest dploye que pour lutilisateur qui lance le MSI. MSIRequireElevatedPrivileges=1 Ce paramtre sapplique uniquement aux machines sous Windows Vista, si ce dernier est configur pour utiliser lUAC (User Account Control). Sil est 1, un prompt UAC demandera lutilisateur de valider la demande dinstallation.
19 Cahier Produit Amosdec Virtualisation dapplication avec VMware ThinApp Toute reproduction ou reprsentation intgrale ou partielle, par quelque procd que ce soit, sans lautorisation dAmosdec est illicite et constitue une contrefaon.

generate

Windows

Installer

MSIInstallDirectory=Safari 3 (VMware ThinApp) Nom du rpertoire dans lequel le package .exe va tre copi sachant que celui-ci est un sous-rpertoire de C:\Program Files\ ;MSIProductCode={AA1F7409-4174-0CEA-BB95-8CBADC18FF2F} MSIUpgradeCode={FE9460B6-CCBD-4A20-3E66-79D4A3F4249C} Identifiants spcifiques des packages MSI MSIUseCabs=1 Si ce paramtre est 1, toutes les donnes captures par ThinApp Setup Capture dans le projet sont encapsules dans une archive .cab elle-mme encapsule dans le MSI. MSIArpProductIcon=%ProgramFiles%\Safari\Safari.exe Ce paramtre permet de spcifier licne afficher pour lapplication dans Ajout/Suppression de programmes sous Windows. Depuis la version 4.0.1 de VMware ThinApp il est possible de personnaliser la base de donnes MSI afin dajuster au mieux les paramtres de dploiement des packages. Ceci se fait en modifiant le fichier template.msi (situ dans le rpertoire dinstallation de ThinApp) laide dun outil de packaging MSI spcialis ou de Orca de Microsoft. (Fig 3-b)

Fig 3-b Cette mthode est utilise par exemple pour changer lemplacement par dfaut du dploiement de lexcutable, savoir C:\Program Files\. Lautre mthode pour changer ce chemin est de lancer le MSI en ligne de commande de cette manire-ci. (Fig 3-c)

Fig 3-c
20 Cahier Produit Amosdec Virtualisation dapplication avec VMware ThinApp Toute reproduction ou reprsentation intgrale ou partielle, par quelque procd que ce soit, sans lautorisation dAmosdec est illicite et constitue une contrefaon.

4. Streaming
Une application virtualise avec ThinApp peut tre dploye sur des postes de travail, dans un environnement Citrix XenApp ou Microsoft Terminal Services, pour tre excute en local, mais peut aussi tre dpose simplement sur un partage rseau et tre lance partir de ce dernier : dans ce cas, le mode dexcution est le streaming. Pour bien comprendre ce mode de fonctionnement, il est important de comprendre comment les donnes encapsules dans le package sont organises. En loccurrence, toutes ces donnes sont organises en blocs de 64ko par dfaut. Ceci est configurable dans le fichier package.ini, ou dans les fichiers ##Attributes.ini pour faire de la configuration individuelle pour chacun des rpertoires du projet, avec le paramtre BlockSize qui se trouve dans la section [Compression]. Les tailles de blocs configurables sont : 64ko, 128ko, 256ko, 512ko ou 1Mo. VMware recommande nanmoins dviter de trop augmenter la taille des blocs, car cela peut ralentir lexcution de lapplication en mode streaming. Voici un exemple de configuration : [Compression] CompressionType=Fast BlockSize=128 Quand un utilisateur lance un package ThinApp partir dun partage rseau, le VOS est dabord tlcharg sur le poste puis charg dans sa mmoire. Le VOS local est dsormais capable didentifier les blocs ncessaires au lancement de lapplication et ne tlcharge dans la mmoire du client que ceuxci. Ensuite les blocs correspondants aux diffrentes fonctionnalits de lapplication sont tlchargs la demande, au fur et mesure de lutilisation. Lorsquune DLL applicative est dcharge, les pages mmoires correspondantes sont galement libres.

5. Exclusion de fichiers
Quand lutilitaire ThinApp Setup Capture construit le projet, il copie tous les fichiers apports ou modifis par linstallation de lapplication dans le dossier du projet. Quand on lance la construction du package, cest lensemble du contenu du dossier de projet qui est encapsul dans ce package. Or, linstallation dune application dpose souvent en cache les fichiers dinstallation eux-mmes ou des fichiers de logs ou temporaires, inutiles pour lexcution dun package dapplication virtualise, mais qui font grossir la taille du package sils ne sont pas supprims du projet. Au lieu de raliser manuellement ce nettoyage, ce qui implique de parcourir lensemble des rpertoires du projet la recherche de ces fichiers, il est possible de configurer des exclusions par type de fichier. Ceci se fait dans le fichier package.ini de la manire suivante : [FileList] ExcludePattern=*.msi,*.msp,*.mst,*.tmp Il est noter que la section [FileList]nexiste pas par dfaut : il faut la crer.

21

Cahier Produit Amosdec Virtualisation dapplication avec VMware ThinApp

Toute reproduction ou reprsentation intgrale ou partielle, par quelque procd que ce soit, sans lautorisation dAmosdec est illicite et constitue une contrefaon.

6. Outils de commandes et outils tiers


Des outils de ligne de commande sont fournis avec VMware ThinApp. Ils se trouvent dans le rpertoire dinstallation. Chacun dentre eux sutilise dans des cas bien prcis. a. Thinreg.exe

Cet outil permet simplement de faire avec un package .exe ce quun package MSI fait automatiquement, savoir la cration des raccourcis, les associations de fichiers et lenregistrement dans Ajout/Suppression de programmes. Ceci est trs utile par exemple lorsque ladministrateur souhaite mettre disposition sur des postes utilisateurs des packages ThinApp situs sur un partage rseau. Les excutables ne sont alors pas stocks en local sur le poste de lutilisateur, mais celui-ci peut sen servir comme nimporte quelle application rellement installe : en la lanant partir dun raccourci ou en double-cliquant sur un fichier dun certain type. Puisquil est utilisable en ligne de commande, loutil est bien videmment scriptable. b. Sbmerge.exe Sbmerge.exe savre particulirement utile quand un projet a t cr, que le package ThinApp a t gnr et quil y a de nouvelles modifications inclure dans la configuration de lapplication. Dans ce cas, il est possible : de lancer le package ThinApp de faire les modifications directement, qui seront alors stockes dans la Sandbox et pour terminer, dappliquer ces dernires sur le dossier de projet. Ceci se fait avec sbmerge.exe : une fois lopration ralise, il ne reste plus qu reconstruire le package, qui prendra en compte la dernire configuration faite. Loutil sutilise de la manire suivante : Sbmerge.exe Apply ProjectDir path> <project_path> -SandboxDir <sandbox_

Pour que le succs de la virtualisation dune application soit total, il est parfois ncessaire de surveiller ce qui se passe quand le package est excut. Cest ce que permettent les outils fournis par VMware, savoir Log Monitor et DLL_Dump.

22

Cahier Produit Amosdec Virtualisation dapplication avec VMware ThinApp

Toute reproduction ou reprsentation intgrale ou partielle, par quelque procd que ce soit, sans lautorisation dAmosdec est illicite et constitue une contrefaon.

c. Log Monitor.exe Log Monitor.exe permet de tracer dans un fichier texte la totalit des excutions et des appels systmes raliss par le package. Le rsultat trs dtaill est exploitable uniquement par un ingnieur systme (Fig 6-a).

Fig 6-a d. DLL_Dump.exe DLL_Dump.exe liste tous les packages ThinApp en cours dexcution et affiche pour chacun quelles sont les DLLs charges par lapplication lintrieur du package et celles qui existent rellement sur le systme et qui sont charges par Windows. Des outils tiers peuvent galement tre utiliss pour aider la rsolution de problmes. Cest le cas doutils comme Filemon et Regmon de Sysinternals pour monitorer les activits fichiers et base de registres, de Thinstall Helper de CIS Group, qui permet entre autres de fournir une vue graphique des diffrents niveaux disolation dun projet. En conclusion, ci-dessous quelques liens forts utiles pour vous accompagner dans vos projets de virtualisation dapplications : http://www.vmware.com/pdf/thinapp403_manual.pdf http://www.vmware.com/products/thinapp/related-resources.html http://blogs.vmware.com/thinapp/2009/05/app-troubleshooting.html

23

Cahier Produit Amosdec Virtualisation dapplication avec VMware ThinApp

Toute reproduction ou reprsentation intgrale ou partielle, par quelque procd que ce soit, sans lautorisation dAmosdec est illicite et constitue une contrefaon.

Flicitations
Vous tes prt virtualiser vos applications avec VMware ThinApp.

A propos dAmosdec
Distributeur, grossiste valeur ajoute, cr en 1990, AMOSDEC recherche des solutions innovantes et performantes sur les marchs internationaux et en assure la commercialisation en France au travers d'un rseau de revendeurs partenaires. La socit acquiert lexpertise de ces nouvelles technologies, puis la transfre des revendeurs, slectionns pour leur haut niveau de comptences et leurs capacits traiter les problmatiques propres aux architectures du systme dinformation. AMOSDEC s'est intress trs tt VMware et a pris en charge sa distribution en France ds 2002. En moins de 10 ans, Amosdec est devenu un expert dans la virtualisation des infrastructures. Amosdec dispose de centres de formation rpartis sur toute la France. Au cours des annes, Amosdec a sign la distribution de logiciels dditeurs proposant un cosystme riche et performant autour de VMware tant sur le Datacenter que sur le poste de travail : Expand, Leostream, Novell/Platespin, Stonesoft, Thinprint, Veeam et Vizioncore. Amosdec dveloppe galement son expertise dans le Datacenter virtualis et complte son offre avec la distribution des systmes de stockage NetApp. Avec plus de 50 collaborateurs entirement ddis la virtualisation et au stockage, Amosdec met son expertise au service de ses revendeurs partenaires. Il leur propose des outils pour acclrer les processus de certification et dacquisition de comptences et met leur disposition en permanence ses quipes techniques, commerciales et marketing.

Nous contacter
Amosdec 1, place Victor Hugo 92400 Courbevoie Tel : 01 41 91 55 55 Fax : 01 41 91 55 96 www.amosdec.com

Toute reproduction ou reprsentation intgrale ou partielle, par quelque procd que ce soit, sans l'autorisation d'Amosdec est illicite et constitue une contrefaon.

Le Cahier Technique est diffus par Amosdec.

Vous aimerez peut-être aussi