Rendre un logiciel portable avec VMware ThinApp

Logo

Le but de ce billet est d'apprendre à rendre des applications portables en utilisant VMware ThinApp, une solution de virtualisation d’applications Windows.

Qu'est-ce qu'une application portable ?

Une application portable est un logiciel qui ne nécessite pas d'installation, ne dépend pas de ressources externes et ne provoque pas de modification durable du système lors de son exécution.

Ces applications sont particulièrement pratiques lorsque l'on travaille sur une machine dont la politique de sécurité n'autorise pas des installations. On peut alors utiliser l'application à partir d'un stockage amovible comme une clé USB.

Cela peut, par exemple, être aussi utile dans le cas suivant. Imaginons que j'ai besoin d'imprimer un document chez un ami. Je ne sais pas s'il possède le même traitement de texte que moi. Pour être certain de ne pas avoir de problème de mise en page, une solution simple est d'utiliser une version portable de mon traitement de texte chez lui.

Je vais donc, à travers ce billet, expliquer comment créer une application portable à l'aide de VMware ThinApp. J'ai choisi, pour l'exemple, de rendre portable Mozilla Firefox.

Prérequis

Avant d'aller plus loin, je tiens à préciser que VMware ThinApp est une application payante. Une version d'évaluation de 60 jours est disponible sur le site de VMware.

Ensuite, il est conseillé de travailler dans une machine virtuelle. Deux raisons à cela :

  • L'environnement doit être le plus propre possible. En effet, plus il y aura de processus en tâche de fond et de logiciels installés, plus le risque de générer des conflits et de capturer des informations indésirables sera élevé. Cela pourra avoir pour conséquence d’alourdir la taille finale de l'exécutable, voire de le rendre non fonctionnel. De plus, certaines ressources nécessaires pour le bon fonctionnement du logiciel virtualisé risquent de ne pas être détectées si elles sont déjà présentes dans le système.
  • L’environnement doit être le plus proche de l’environnement dans lequel sera exécuté le logiciel "portabilisé". Ainsi, si le logiciel est destiné à être utilisé sur des ordinateurs équipés de Windows 7, il vaut mieux le virtualiser sous Windows 7.

Pour résumer, il nous faut :

  • une machine virtuelle Windows vierge dans laquelle est installé VMware ThinApp. Une version d'essai est disponible ici.
  • un fichier d'installation de Firefox téléchargeable sur cette page.

Etapes de virtualisation d'un logiciel

Les différentes étapes pour virtualiser un logiciel avec VMware ThinApp sont :
1. Prescan : ThinApp scanne un état initial du système (fichiers et base de registre).
2. Installation : installation du logiciel à virtualiser (dans notre cas Mozilla Firefox).
3. Postscan : ThinApp scanne à nouveau le système afin d'identifier les différences avec son état initial.
4. Configuration : Configuration du projet.
5. Construction : Construction de l'exécutable.

Virtualisation de Mozilla Firefox

1. Démarrer VMWare ThinApp

Démarrer VMware ThinApp. L'écran suivant s'affiche :

01-Welcome.png

Cet écran résume les différentes étapes pour virtualiser une application. Cliquer sur le bouton "Next".

2. Prescan : Scanner l'état initial du système

02-ready_to_prescan.png

Nous sommes à l'étape "Prescan". L'outil va scanner le système (fichiers et base de registre) afin de déterminer un état initial.
En cliquant sur le bouton "Advanced scan locations", la boîte de dialogue suivante s'affiche :

02-1-Advanced_scan_locations.png

Il est possible ici de sélectionner les disques à scanner. Comme Firefox sera installé sur le disque C:, cela ne sert à rien de scanner d'autres disques (e: étant une clef USB).
Fermer la boîte de dialogue et cliquer sur le bouton "Prescan". ThinApp scanne alors l'état du système :

03-Prescanning.png

Attention ! Ne pas utiliser, dans la VM, d'autres logiciels entre l'étape de Prescan et de Postscan. Cela pourrait avoir des conséquences sur la construction de l'exécutable.

3. Installer Mozilla Firefox

Une fois l'étape de "Prescan" réalisée, l'écran suivant s'affiche :

04-Install_Application.png

Il faut, maintenant, installer Firefox. Exécuter l'installeur de Firefox et procéder à son installation.

04-Install_Application-FF-01.png

04-Install_Application-FF-02.png

04-Install_Application-FF-03.png

04-Install_Application-FF-04v2.png

A la fin de l'installation de Firefox, le démarrer et le configurer afin que les modifications soient prises en compte dans la construction de sa version portable.

04-Install_Application-FF-05-config.png

Une fois la configuration de Firefox effectuée, vous pouvez le fermer.

4. Postscan : scanner à nouveau le système

Nous sommes, maintenant, rendus à l'étape de "postscan". L'objectif de cette étape est de détecter les différences entre la version courante du système et la version initiale, analysée lors de l'étape de "prescan". Cliquer sur le bouton "Postscan".

05-Postscanning.png

5. Configuration du projet

Une fois les différences détectées par ThinApp, il nous faut procéder à la configuration du projet.

06-Entry_points.png

Tout d'abord, indiquer à ThinApp les points d'entrée de Firefox. Pour cela, cocher "Mozilla Firefox.exe".

07-Manage_with_horizon.png

ThinApp demande, ensuite, si l'on souhaite gérer notre projet avec VMware Horizon. Cela permet de mettre notre application dans le "cloud" afin de l'utiliser en SaaS (Software as a Service). Cela ne sous intéresse pas, laisser la case décochée et cliquer sur "Next".

08-groups.png

ThinApp nous propose ensuite de gérer les droits d'utilisation de notre application. Cette étape ne nous intéresse pas non plus dans notre cas. Cliquer sur "Next".

09-Isolation.png

Il faut, maintenant, choisir un mode d'isolation pour notre logiciel virtualisé.

  • Merged isolation mode : l'application virtualisée peut lire et écrire dans les fichiers système de la machine sur laquelle elle sera virtualisée.
  • WriteCopy isolation mode : ce mode restreint les droits d'écriture de l'application virtualisée.

Je préfère restreindre les droits en sélectionnant le mode "WriteCopy isolation" (mais cela fonctionnerait aussi bien dans l'autre mode).

10-Sandbox.png

Ensuite, ThinApp nous demande à quel endroit nous voulons que la configuration de notre logiciel virtualisé soit stockée (sandbox). Comme nous sommes en train de créer une application portable, il est préférable qu'elle soit stockée au même endroit que notre exécutable (2ème choix). Ainsi, lorsque nous utiliserons notre version portable de Firefox, un répertoire sera créé à côté de l'exécutable. Les modifications apportées à Firefox (préférences utilisateur, favoris, etc.) seront stockées dans ce répertoire.

Important : il ne faut pas que le répertoire dans lequel sera stocké l'exécutable soit en lecture seul, sinon l'application fonctionnera mal, voire pas du tout.

Cliquer sur "Next".

11-quality_assurance_stats.png

Cet écran nous permet d'autoriser ou non l'envoi d'informations à VMware à des fins statistiques. Libre à chacun d'accepter ou non. Personnellement, je refuse (2nd choix). Cliquer ensuite sur le bouton "Next".

12-package_settings.png

Sur cet écran, sélectionner le point d'entrée indiqué précédemment (Mozilla Firefox.exe).
Il est aussi possible de compresser ou non l'application virtualisée. En effet, une application virtualisée peut atteindre une taille conséquente. Il est donc parfois préférable de la compresser. Cependant, cela peut nuire aux performances. Du coup, pour Firefox, qui est un logiciel plutôt léger, je préfère ne pas compresser l'exécutable.
Cliquer ensuite sur "Next".

12-project_settings.png

Sur cet écran, indiquer le nom de l'exécutable, ainsi que la localisation du projet.
Cliquer sur "Next" pour passer à l'étape de construction de l'exécutable.

6. Construction de l'exécutable

13-Save_Project.png

ThinApp procède alors à l'enregistrement des fichiers et des clefs de la base de registre, modifiés lors de l'installation de Firefox, dans le projet.

L'étape suivante est la construction de l'exécutable :

14-ready_to_build.png

Il est possible sur cet écran d'éditer le fichier de configuration du projet "Edit Package.ink", et de visualiser le contenu du répertoire du projet en cliquant sur le bouton "Open Project Folder" :

14-ready_to_build-project_folder.png

Nous n'avons pas besoin d'effectuer de modifications.
Cliquer sur le bouton "Build" afin de construire l'exécutable :

15-build_project.png

A la fin de la construction, un rapport indique si celle-ci s'est bien déroulée. Cliquer sur "Finish" pour ouvrir le dossier contenant l'exécutable de notre version portable de Firefox.

16-exe.png

Et voilà le travail ! Nous venons de créer une version portable de Firefox, utilisable à partir d'un support amovible.
Vous avez maintenant les bases pour rendre portables la plupart de vos applications préférées, VMware indiquant un taux de réussite de virtualisations compris entre 90 et 95%.

Pour aller plus loin :

Un commentaire

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.