Aujourd’hui, je vous propose de voir la démarche pour installer Microsoft App Virtualization v5.1. Le principe est simple lorsque vous téléchargez l’ISO depuis votre MSDN (ou ailleurs) vous aurez accès aux 3 composants principaux suivants :
- App-V Sequencer : c’est l’outil qui vous permet de créer vos bulles / packages App-V. En apparence, il se rapproche d’un outil tel que AdminStudio ou InstallShield puisqu’il vous permet de re-packager vos applications (tout en les personnalisant) au format .appv.
- App-V Client : il s’agit d’un petit logiciel qui doit être installé sur le serveur ou le poste de travail qui sera capable d’exécuter les packages App-V. Vous n’aurez pas d’icônes ou d’application à lancer à proprement parlé mais un certain nombre de services s’exécuteront à l’arrière plan qui vous permettront d’utiliser les packages app-v.
- App-V Server : c’est le composant principal qui vous permet de distribuer vos packages App-V. Le Server App-V se décompose en 3 sous composants :
- Management Server : c’est ce composant auquel vous accéderez via une interface web et qui vous permettra de gérer vos packages app-V, les utilisateurs qui y ont accès, les administrateurs du serveur app-v… bref toute la partie administration.
- Publishing Server : c’est-ce composant qui se chargera de diffuser / streamer / envoyer vos applications app-v aux serveurs / postes / utilisateurs qui disposent du fameux client App-V (qui aura donc été préalablement configuré).
- Reporting Server : autre composant permettant d’obtenir des statistiques sur l’utilisation des packages App-V. Je ne l’aborderai pas dans cet article même si je détaillerai son installation (en pratique je ne l’ai pas souvent vu en Prod).
Etape 0 – Prérequis
Bien entendu, vous pouvez installer l’ensemble des ces composants sur une même VM ou bien vous pouvez les répartir sur plusieurs serveurs. Notez que pour pouvoir procéder à l’installation vous devrez disposer au minimum d’un domaine Active Directory ainsi que d’un serveur SQL (l’assistant App-V n’installera pas la partie SQL).
Dans mon cas, en plus d’un Domain Controller pour mon AD, je vais déployer l’ensemble des composants sur une même machine virtuelle c’est-à-dire le SQL Server (2014 dans mon cas) + l’ensemble des 3 composants App-V Server (Management, Pulishing, Reporting) qui seront donc mutualisés.
Comme SQL ou l’AD ne sont pas l’objectif de cet article, je vais supposer que vous avez tout ce qu’il faut de ce côté-là. Pour le SQL Server, le composant Database et éventuellement Management Studio suffisent ! Du côté de la VM qui va accueillir les composants du serveur App-V, vous devez veiller à activer le rôle Web Server (IIS) depuis le Server Manager avec l’ensemble des sous-rôles par défaut ainsi que les sous-rôles ci-dessous :
Si vous oubliez quelque-chose, pas de panique l’assistant d’installation d’App-V vous le détaillera et il vous suffira de l’installer depuis le Server Manager. 🙂
Vous aurez ensuite besoin d’une VM supplémentaire Windows 10 ou Windows Server sur lequel vous aurez installé le client App-V pour tester l’exécution de nos applications App-V depuis notre serveur App-V :
- Si vous choisissez Windows 10 sachez que depuis la version 1607, le client App-V est intégré de base vous n’avez donc pas à l’installer (c’est le cas que je vais présenter dans cet article),
- Si vous choisissez un Windows Server ou une autre version de Windows 10 (moins récente) ou avant, vous devrez procéder à l’installation manuellement. Je ne vais pas la détailler car c’est très simple, exécutez simplement le MSI du client App-V qui se trouve dans le même ISO (quelques soit votre choix – l’utilisation sera la même qu’avec la version intégrée dans Windows 10 1607 et je vais en détailler l’utilisation plus bas dans cet article).
Et enfin, vous aurez également besoin d’un partage réseau sur lequel vous stockerez l’ensemble des packages App-V et qui sera accessible pour tous les utilisateurs et/ou serveurs qui doivent pouvoir accéder aux applications App-V (moi je l’ai auto-monté par GPO).
Etape 1 – Installation du App-V Server (Management, Publishing, Reporting)
Démarrez depuis l’ISO (en général il porte un nom à base de : mu application virtualization for remote desktop services 5.1.iso) et démarrez l’exécutable qui se trouve dans le dossier APPV SERVER 5.1.
C’est à ce moment que vous pouvez choisir les composants dont vous aurez besoin. Vous devez au moins sélectionner les 3 premiers pour disposer du Management Server (et automatiquement provisionner la base de données associée) et du Publishing Server. Pour le Reporting Server, vous pouvez les dé-sélectionner puisque je ne les présenterai de toute façon pas dans cet article (vous aurez dans ce cas moins de questions de la part de l’assistant d’installation).
Pour toutes les questions SQL, nous aurons la chance de pouvoir utiliser les options par défaut puisque notre serveur SQL est installé sur le même serveur et j’ai utilisé comme nom d’instance le nom par défaut MSSQLSERVER. 😉
Même explication que précédemment.
Comme je l’expliquais en introduction, s’il vous manque des prérequis l’assistant vous invitera à compléter et vous pouvez cliquer sur le bouton de Check pour vérifier étape par étape que le nombre de prérequis manquants diminue ! 🙂
Précisons que je n’ai pas eu besoin de faire l’enregistrement ASP.NET in .NET 4.5 (je suppose donc que l’assistant le fait lui-même). Si ce n’est pas le cas, vous devez exécuter la commande suivante : aspnet_regiis.exe -i dans le dossier suivant avec une CMD Admin : C:\Windows\Microsoft.NET\Framework64\v4.0.30319> aspnet_regiis -i. Plus d’infos : ici et là.
Une fois que c’est bon, vous pouvez poursuivre avec l’assistant d’installation.
Vous aurez besoin de spécifier le ou les administrateur(s) autorisés à gérer votre serveur App-V. Je vous recommander d’utiliser un groupe AD et d’y mettre votre compte dedans.
Nous aurons besoin de 3 ports distincts qui seront automatiquement configurés dans IIS Manager, je vais choisir arbitrairement :
- 8000 pour le Management Server,
- 8001 pour le Publishing Server,
- 8002 pour le Reporting Server,
Adaptez en fonction de vos besoins et réalisez les ouvertures de flux nécessaires entre ce serveur et votre VM de test qui disposera du client App-V.
Tout est OK – nous pouvons procéder à l’installation. Cliquez sur Install.
L’installation est terminée. Nous pouvons nous connecter à l’interface d’administrateur web du Management Server App-V via l’URL suivante : http://ip-server:8000/. Et pour ceux auraient déjà utilisé les anciennes versions d’App-V, désormais, vous verrez qu’il n’y a plus de SilverLight. 🙂
Si vous avez l’erreur ci-dessus, faites un Logoff + Login et vérifiez que votre compte utilisateur est bien dans le groupe d’administration que vous avez précédemment créé. 😉
Etape 2 – Utilisation de la console App-V et Publication d’un package App-V
Une fois connecté sur l’interface web (pas besoin de vous identifier tant que vous êtes dans le groupe d’administration) vous allez avoir les options suivantes. Attention, je commence du bas vers le haut. 🙂
Onglet Administrateur : vous permet de configurer graphiquement les utilisateurs ou les groupes d’utilisateurs AD qui seront autorisés à accéder à cette console web. Bien entendu, vous pouvez y accéder depuis le même serveur App-V ou depuis un autre serveur – dans ce cas, remplacez simplement le localhost de l’URL par le FQDN ou IP du serveur App-V.
Onglet Serveurs : section dans laquelle vous pourriez configurer plusieurs serveur App-V qui seraient gérés par ce même Management Server. Dans mon cas, je ne dispose que d’un seul et unique serveur.
Onglet Groupes de Connexions (pas de capture) : c’est dans cette zone que vous pouvez configurer des packages complexes reposant sur un ensemble de plusieurs packages simples. Par exemple, imaginez que vous ayez une application qui nécessite un composant tiers tel qu’un client Oracle, une version de Java JRE (ou n’importe quoi d’autre) ; dans ce cas, il est tout à fait pertinent de créer une 1ère bulle App-V pour l’application à proprement parlé et une 2nde bulle pour le middleware qu’elle utilise. De cette façon, vous pouvez mettre à jour l’un sans modifier l’autre et inversement.
Nous en arrivons à l’onglet Packages et nous allons maintenant publier notre premier package App-V. Pour cela, je vous mets à disposition 2 packages de test. Il s’agit de 2 applications ayant été préparées avec le App-V Sequencer et qui sont prêtes à l’emploi.
- App-V Client UI (.appv)
- PuTTY (.appv)
Peu importe les applications, l’objectif est simplement d’avoir un package à tester pour la suite de l’article ! 🙂
Décompressez le contenu de l’archive ZIP (une ou les 2) sur le partage réseau que vous avez précédemment préparé (voir les pré-requis). Moi je vais utiliser la première application App-V Client UI (qui correspond grossièrement à un client lourd pour voir les apps disponibles sur un serveur App-V).
Dans chacun des dossiers, vous aurez l’ensemble des fichiers que vous avez décompressé et notamment le fichier portant l’extension .appv.
Pour publier un package App-V au niveau de notre serveur App-V, rendez-vous dans le noeud Packages et cliquez sur Ajouter ou mettre à niveau.
Dans la nouvelle fenêtre qui apparaît ajoutez le chemin sur notre partage réseau vers le fichier .appv de l’application que nous souhaitons publier (dans mon cas le partage réseau est sur un autre serveur qui s’appelle AKL-RDGW). Une fois que c’est bon, cliquez sur Ajouter un package.
Une fois le package ajouté, cliquez du bouton droit sur le package et choisissez le ou les groupes AD (ou utilisateurs) auxquels vous souhaitez que cette application soit accessible (dans mon cas j’ai créé un groupe AD unique).
Et finalement, lorsque c’est bon, effectuez à nouveau un clic droit sur le package et cliquez sur Publier. Son état passe en Publié avec un petit carré vert à côté.
A partir de là, la partie serveur App-V est configurée et nous disposons d’une application test que nous allons pouvoir envoyer vers des clients / serveurs qui disposeraient du client App-V. La prochaine étape consiste donc à paramétrer le client App-V pour nous permettre d’accéder à l’application en question.
Etape 3 – Tester l’accès à notre package App-V
Comme je vous l’ai déjà dit en introduction, pour pouvoir accéder à votre application, vous devez disposer du client App-V et ce dernier doit être configuré cela veut dire que nous devons dire à ce client App-V auprès de quel serveur App-V (le composant Publishing cette fois) il doit être rattaché. Et pour faire ce paramétrage, on va utiliser les CmdLet PowerShell associée au client App-V.
Dans mon cas, je dispose donc d’un Windows 10 – Build 1607. Le client App-V est donc déjà installé (même chose si vous faîtes le test sur Windows Server 2016).
Nous allons donc activer le client App-V avec la CmdLet suivante :
Enable-AppV
Maintenant, si vous souhaitez voir à quelles commandes vous avez accès grâce à ce module, vous pouvez également exécutez la commande suivante :
Get-Command -Module AppvClient
Nous allons maintenant dire à notre client App-V auprès de quel client App-V il doit se rattacher avec la commande suivante :
Add-AppvPublishingServer -name "Mon Server AppV" -URL "http://akl-appv1.akril.cloud:8001"
Et là, vous devez bien entendu adapter en fonction de votre cas de figure. Il s’agit du 2nd port que nous avons renseigné lors de l’installation pour le Publishing Server (8001 dans notre cas).
Ensuite, vous pouvez forcer manuellement la synchronisation avec le serveur App-V avec la commande suivante :
Sync-AppVPublishingServer -ServerId 1
Si la connexion se passe bien, vous devriez ensuite pouvoir obtenir la liste des différentes applications disponibles avec la commande suivante :
Get-AppVClientPackage
Ensuite, il ne nous reste plus qu’à publier notre application avec la commande suivante :
PublishAppvClientPackage -PackageId "xxxx" -VersionId "xxxx"
Vous devez bien entendu remplacer les paramètres PackageId et VersionId avec les informations obtenues avec la précédente CmdLet.
Si tout s’est bien passée, vous devriez voir après quelques instants dans le menu Démarrer une nouvelle application : Microsoft Application Virtualization UI.
Si vous démarrez l’application, vous devriez voir ceci :
Je ne vais pas rentrer dans les détails de ce que fait cette application. L’objectif était simplement d’avoir une application à tester. Mais dans la section Virtual Apps vous verrez notamment toutes les applications disponibles sur le serveur App-V. Vous pouvez maintenant vous entraîner à publier la seconde application PuTTY en suivant la même démarche. 🙂
Etape 4 – Dé-publier votre application
Pour dé-publier votre application, vous allez cette fois utiliser la CmdLet suivante :
UnPublish-AppvClientPackage ...
Puis, si vous souhaitez supprimer la connexion entre votre serveur App-V et le client App-V, utilisez la CmdLet suivante :
Remove-AppvPublishingServer -ServerId n
PS: Dans mes différentes captures, le serveurId est passé de 1 à 2 c’est simplement dû à plusieurs tests que j’ai réalisé pour cet article. Remplacez par le ServerId correspondant à votre configuration ! 🙂
Voilà vous savez tout ! 😉
Pour aller plus loin
Avant de clore cet article, voici quelques points pour creuser votre test :
- Bien entendu, vous n’allez pas passer sur chaque poste avec le client App-V pour exécuter ces CmdLet. L’ensemble de ces paramètres et CmdLet ont leur équivalent en GPO. Vous pouvez donc configurer par masse les clients App-V sur plusieurs serveurs en fonction de vos besoin. Voir ici.
- Et enfin, si vous suivez également l’actualité de Citrix sachez que App-V est désormais la solution officielle pour diffuser des packages virtuels sur des serveurs XenApp ou XenDesktop. De ce fait, lorsque vous déployez les agents VDA (for server ou for Desktop), vous avez la possibilité au moment de l’installation de déployer automatiquement le client App-V au passage ! 🙂
Bonne chance dans vos tests et n’hésitez pas si vous avez des questions.