Le Cloud de Romain LOIZEAU

  • [APP-V] Séquencer une application avec Application Virtualization Sequencer 5.0

    Microsoft a publié hier sa nouvelle version du pack MDOP 2012 (Microsoft Desktop Optimization Pack) embarquant, parmis d'autres outils, la version 5.0 de App-V (Application Virtualization). 

    Nous allons voir dans ce billet comment packager des applications avec cette nouvelle version du séquenceur. 

    Préparer le séquenceur 

    Définition 

    Le séquenceur est la machine de référence, à partir de laquelle les packages seront créés. Pour se faire, le séquenceur va analyser toutes les modifications apportées au système pendant l'installation d'une application afin de les insérer dans le package .appv (nouvelle extension de la version 5.0, précédemment .sft). Les modifications liées au système de fichiers et au registre seront donc "montées" dans un environnement virtuel par le client App-V, se superposant ainsi au système de fichier dit "physique" du système client. 

    Afin d'obtenir des packages "propres" et sans surplus, il est fortement conseiller de les créer sur une machine fraichement installée. 

    Pour cette raison, il est fortement conseillé d'installer le séquenceur APP-V 5.0 sur une VM et de créer un snapshot dès que le système est prêt à packager sa première application.  

    Prérequis 

    Les pré-requis pour faire fonctionner le séquenceur sont les suivants: 

    Bien choisir l'OS du "socle" 

    Si les applications packagées sont amenées à être utilisées sur plusieurs versions de Windows, il convient de bien choisir laquelle servira de référence pour le séquenceur.   

    Par exemple, nous souhaitons séquencer l'application Adobe Reader XI, pour ensuite la déployer sous forme de package à tous les clients Windows 7 32Bit/64Bit et Windows 8 64 Bit.  

    Sur quel système est-il préférable de séquencer l'application?  

    La réponse est en réalité assez simple, pour des raisons de "meilleure" compatibilité, il est préférable d'utiliser le système le plus ancien. 

    Dans le cas ou plusieurs architectures différentes sont utilisées, nous avons la possibilité de packager l'application en 32 bit et de la déployer sur des systèmes 32bit / 64bit, ou bien de créer deux packages différents, chacun adapté à l'architecture correspondante. 

    Qu'en est il si mon application sera déployée sur des serveurs Windows 2008 R2 / Windows 2012, puis servie aux clients via RDP/ RemoteApp ? 

    Dans un environnement où les applications virtuelles sont toutes déployées via RDP depuis des serveurs Windows  Server 2008 R2 ou Windows Server 2012 (pour rappel, ces versions de Windows sont disponibles en 64bit uniquement, Windows Server 2003 n'étant plus supporté), l'architecture du poste client n'est pas prise en compte.  

    Note: APP-V Sequencer 5.0 ne supporte que Windows 7 et Windows 8. Il n'est plus possible de packager des applications pour Windows XP et Windows Vista (dû au fait qu'APPV 5.0 est très fortement basé sur Powershell 3.0) 

    Suspendre les services et fermer les applications 

    Il est conseillé d'arrêter voire désactiver certains services avant de procéder au packaging de l'application. Cette étape est importante car elle permet d'éviter que des services intrusifs opèrent pendant que le séquenceur scanne la machine pour identifier les changements effectués par l'installation de l'application.  

    Pour faire simple, nous ne voudrions pas que Windows Update effectue une mise à jour pendant l'installation de notre application. Les changements effectués par cette mise à jour serait par la suite intégrée au package virtuel et pourrait provoquer un dysfonctionnement de l'application en question. 

    Les services que l'on peut désactiver sont les suivants: 

    Service 

    Windows Update 

    Windows Defender 

    Service d'indexation 

    Créer un snapshot 

    Une fois toute les applications fermées et services désactivés, je vous invite à créer un snapshot de la machine virtuelle pour pouvoir revenir rapidement à l'état initial et non altéré de notre séquenceur. 

    Packager avec App-V 5.0: 

    Séquencer une application avec APP-V 5.0 est à très peu de choses près, le même scénario que l'on connaît avec la précédente version 4.6 SP2. 

    Plus besoin de lecteur virtuel! 

    La principale différence réside dans le fait qu'il n'y a plus de lecteur virtuel Q: imposé dans la version 4.6 (et antérieure). 

    Cette contrainte permet de pallier certains problèmes que l'on pouvait rencontrer avec des applications "Legacy" qui ne pouvait pas du tout s'installer en dehors du lecteur C:. 

    Il faut tout de même préciser que lors du packaging de l'application, il est requis de spécifier un dossier "racine" dans lequel l'application sera installée. 

    Séquencer Adobe Reader XI 

    Dans la section suivante, nous allons suivre l'assistant du séquenceur pour packager l'application Adobe Reader XI.  

    1. Copier les sources d'Adobe Reader XI sur le séquenceur 
    2. Lancer l'application "Microsoft Application Virtualization Sequencer"
    3. A l'ouverture de l'assistant, nous allons choisir de créer un nouveau package. Pour cela, cliquez sur "Create A New Virtual Package Application".
    4. L'écran suivant nous invite à choisir la méthode de packaging pour l'application. Nous avons le choix entre créer un package de toute pièce (Create Package) ou d'utiliser un accélérateur de package (une sorte de recette fournie par l'éditeur de l'application ou la communauté qui l'entoure). Dans notre cas, nous choisirons "Create a Package (Default)".
    5. Dans le cas où des applications et/ou services non nécessaires (Windows Update, Windows Defender) se trouvent en tâche de fond, l'écran suivant vous en informera et vous invitera a les fermer avant de continuer. Toutefois, il est possible de passer outre cette étape en cliquant sur "Next", bien que cela ne soit pas conseillé. 
    6. Une fois les services désactivés, et les reboots nécessaires effectués, l'écran précédent affichera un message d'information indiquant que le séquenceur est prêt à packager. 
    7. Le séquenceur vous invitera à choisir le type d'application que nous souhaitons packager. Nous avons ici le choix entre "Standard Application" comme son nom l'indique pour packager une application standard, "Add-on or Plug-in" pour packager une extension d'application, par exemple un Plugin pour Excel, ou encore "Middleware" pour packager un framework ou autre application impliquant une dépendance pour d'autre application. Ici nous choisirons "Standard Application" avant de cliquer sur le bouton "Next". 
    8. Nous serons ensuite amené à choisir l'exécutable que le séquenceur se chargera de démarrer pour installer l'application, ou bien de choisir "Perform a custom Installation" pour lancer manuellement les exécutables d'installation, ou autres scripts, parfois nécessaires. Dans le cas d'Adobe Reader XI, nous cliquons sur Browse pour aller sélectionner notre installer au format MSI.
    9. L'écran suivant nous invitera à indiquer un nom pour le package ainsi que le repertoire principal où l'application sera installée. Dans le champ nom nous saisirons "Adobe Reader XI
    10. Ensuite nous spécifierions le dossier dans lequel Adobe Reader XI sera installé. Notez qu'il est possible de choisir un répertoire parent, mais qu'il est strictement impossible de choisir la racine du lecteur C:
    11. L'écran suivant démarrera l'installation de l'application. Cliquez sur Exécuter lorsque l'UAC vous invitera à le faire. 
    12. Cliquons sur "Change Destination Folder" pour s'assurer que le répertoire de destination concorde bien avec le chemin spécifié à l'étape 17-18.
    13. Sélectionnez le répertoire indiqué précédemment à l'étape 17-18 et validez 
    14. L'étape suivante dans le processus d'installation d'Adobe Reader XI vous invitera à choisir la méthode de mise à jour que vous souhaitez configurer pour l'application. Dans le cas du packaging de notre application il est fortement recommandé de désactiver les mises à jour pour garder l'intégrité de notre package. Il est préférable de distribuer la mise à jour sous la forme d'un package différentiel ou bien sous la forme d'un tout nouveau package. Par conséquent, nous choisirons "Manually check for install and updates
    15. Une fois validée, l'installation commence. 
    16. Lorsque l'installation est terminée, fermez l'assistant d'installation. 
    17. De retour sur la fenêtre du séquenceur, il sera possible de cliquez sur "Run..." pour lancer d'autres exécutables ou scripts pour configurer notre applications ou intégrer des élément supplémentaires à notre package. Une fois tous les éléments installés, nous cocherons la case "I am finished installing" pour pouvoir ensuite cliquer sur le bouton "Next" et passer à l'écran suivant. 
    18. Le séquenceur collecte les changements apportés au système 
    19. Une fois la collecte des informations de changement réalisée, le séquenceur vous présentera la liste des exécutables détectés pendant l'installation. Cette étape est importante car le séquenceur vous permettra d'exécuter chaque application pour les configurer et sauvegarder ces paramètres dans le package. Sélectionnons "Adobe Reader XI" et cliquons sur "Run Selected". 
    20. Par exemple, afin d'éviter que le Disclaimer se présente au premier lancement du package sur les clients, nous pouvons cliquez sur "Accept" pour que le séquenceur sauvegarde ce changement et l'inclus dans la configuration virtuelle de l'application. Cette étape peut aussi servir à désactiver les mises à jour type "self-update" de certaines applications lorsque l'installeur ne propose pas l'option. 
    21. Une fois le disclaimer accepté, nous pouvons fermer l'application pour retourner sur l'écran du séquenceur
    22. Une fois les applications configurées, cliquez sur Next pour arriver sur l'écran du rapport d'installation. Ici, vous pourrez identifier les différentes alertes et points d'attention soulevés par le séquenceur. Dans notre cas, certains fichiers ont été ignorés par le séquenceur. En double cliquant sur l'incident, il est possible d'obtenir plus d'informations 
    23. L'écran suivant nous invitera à choisir si nous souhaitons personnaliser l'application, ou bien si nous voulons terminer et sauvegarder notre package. Sélectionnons "Customize" et cliquons sur "Next"
    24. Le premier écran de personnalisation nous invite à exécuter l'application dans son environnement virtuel pour la première fois. Cette étape est importante dans le cas où l'application est destinées à être déployée sur les clients en streaming puisque le séquenceur analysera les blocs d'instructions nécessaires au premier lancement de l'application afin de les déployer en premier vers les clients. Les blocs suivants seront téléchargés en tâches de fond.
    25. Une fois l'application lancée, ouvrez un fichier PDF puis fermons l'application.De retour sur l'écran du séquenceur,  cliquons sur Next 
    26. L'écran suivant nous invite à sélectionner les OS sur lesquels l'application sera autorisée à fonctionner.
    27. Une fois les systèmes choisis, nous pouvons sauvegarder le package en sélectionnant l'emplacement de sauvegarde et en cliquant sur "Create
    28. Le séquenceur affichera un résumé des évènements et erreurs rencontrés lors du packaging de l'application. 
    29. Pour terminer, ouvre le répertoire de destination, et sauvegardons le package avant d'effectuer un retour arrière en restaurant notre Snapshot. 

    Principales nouveautés des packages APPV 5.0 

     

    • Le fichier binaire .SFT se transforme en .APPV 

    • Le fichier MSI est automatiquement généré (il fallait choisir l'option dans les précédentes versions) 

    • Par défaut les packages sont automatiquement compressés 

    • Le fichier manifest.xml a été divisé en deux fichiers: 

      •  *_DeploymentConfig.xml pour tout ce qui concerne les options de déploiement et les informations systèmes du package (le type d'OS supporté) 

      • *_UserConfig.xml comprenant la configuration utilisateur, décrivant la façon dont l'application se comportera sur le client 

    • Le fichier report.xml résume au format xml les différents rapports affichées par le séquenceur 

    • Disparition du fichier OSD 

    • Disparition du dossier regroupant les icones 

    • Disparition de la fenêtre d'association de fichiers dans le séquenceur. 

     

    • 2/11/2012