App Layering

Créer une couche de plate-forme

Une couche de plate-forme comprend le logiciel de plate-forme et les paramètres requis pour que vos couches et images en couches s’exécutent parfaitement dans votre environnement.

Vous pouvez créer des couches de plate-forme à deux fins :

  • Pour créer et empaqueter des couches : lorsque vous avez importé le système d’exploitation à partir d’un hyperviseur différent de celui dans lequel vous créez vos couches, utilisez ce type de couche de plate-forme pour créer des couches d’application.

  • Pour la publication d’images en couches : utilisez ce type de couche Platform dans votre modèle d’image afin que les images en couches publiées s’exécutent parfaitement dans votre environnement.

Couches de plate-forme pour empaqueter des couches ou publier des images en couches

Utilisez le tableau suivant pour déterminer si vous avez besoin d’une couche de plate-forme. Ce tableau montre également quels logiciels installer sur la couche de plate-forme, si vous en avez besoin.

  Couches de packaging Publication d’images en couches
Couche de plateforme requise ? Obligatoire si l’image du système d’exploitation provient d’un autre Hypervisor. Lorsqu’une application nécessite l’agent ou le logiciel SSO, vous pouvez créer une couche de plate-forme spécifique pour créer et mettre à jour cette couche. Obligatoire lors de la publication sur un serveur de provisioning et à l’aide d’un broker de connexion.
Que faire pour installer Outils de l’hyperviseur, lorsque le système d’exploitation a été créé sur un autre hyperviseur. Le logiciel SSO ou agent, si nécessaire pour créer une couche d’application. Provisioning et connexion logiciel et paramètres du broker. Si vous publiez sur un hyperviseur différent de celui d’origine du système d’exploitation, incluez les outils de l’hyperviseur.
Valeurs à sélectionner Sélectionnez votre hyperviseur. Sélectionnez votre hyperviseur, votre logiciel de Provisioning et votre broker de connexion.
Ce dont vous avez besoin Programme d’installation pour l’hyperviseur Programmes d’installation pour le logiciel de provisioning et le broker de connexion.

Autres logiciels et paramètres à inclure dans la couche de plateforme

Outre le logiciel de plate-forme spécifié ci-dessus, vous devez inclure les paramètres et logiciels suivants sur la couche de plate-forme :

  • Joindre un domaine
  • Pilotes NVIDIA, le cas échéant
  • Citrix Receiver, pour le composant d’authentification unique
  • Agent WEM (Citrix Workspace Environment Management)

    Remarque :

    La clé RSA générée par Citrix WEM pose des problèmes lors de l’utilisation de WEM sur l’image déployée. Si la clé RSA est présente lors de la finalisation de la couche, un message s’affiche indiquant que vous devez supprimer le fichier de clé RSA, qui commence par le chemin suivant : C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18\fb8cc9e38d3e60ab60c17cdfd6dd6d99_.

  • Tout logiciel qui a un impact sur la pile d’ouverture de session, par exemple, Imprivata
  • Citrix Provisioning sur Hyper-V : nécessite une carte réseau héritée pour le démarrage PXE
  • Logiciel Microsoft System Center Configuration Manager (SCCM), si vous l’utilisez

Processus de création d’une couche de plate-forme

Les étapes de création d’une couche de plate-forme sont les suivantes :

  1. Créez une couche de plate-forme dans la console de gestion.
  2. Connectez-vous et connectez-vous à la machine d’emballage.
  3. Installez votre logiciel de Provisioning et de connexion Broker.
  4. L’appliance fonctionne-t-elle sur un hyperviseur différent de celui dans lequel vous créez des couches et publiez des images ? Si oui, nous vous recommandons également d’installer les outils de l’hyperviseur.
  5. Vérifiez la couche et arrêtez la machine de packaging.
    • Si la configuration de connecteur sélectionnée est définie pour utiliser la composition de déchargement, la couche est automatiquement finalisée.
    • Si la configuration du connecteur n’est pas définie sur Décharger la composition, finalisez la couche manuellement, comme décrit dans les étapes détaillées de cet article.

Quand mettre à jour une couche de plate-forme

La couche de plate-forme est la couche de priorité la plus élevée. Il est essentiel pour le déploiement d’images, en particulier pour les périphériques réseau. Chaque fois que vous mettez à jour le logiciel d’infrastructure, ajoutez une version à la couche de plate-forme.

Lorsque vous mettez à jour la couche du système d’exploitation, l’image a parfois des problèmes de démarrage. Pour résoudre le problème, ajoutez une version à la couche de plate-forme à l’aide de la nouvelle couche de système d’exploitation. Une fois que la machine de packaging démarre, arrêtez la machine pour la finalisation. La couche de plate-forme rassemble les composants critiques de la nouvelle version de la couche du système d’exploitation et les met à jour dans la plate-forme afin qu’ils correspondent à la version du système d’exploitation.

Exigences

Lors de la création d’une couche de plate-forme, les programmes d’installation de logiciels doivent être disponibles à un emplacement auquel la machine de packaging peut accéder. Par exemple, votre serveur de provisioning et le logiciel de broker de connexion doivent être accessibles. Si l’appliance est exécutée sur un autre Hypervisor, incluez également les outils de l’hyperviseur.

Pour connaître les exigences détaillées, sélectionnez l’environnement dans lequel vous créez des couches ou publiez des images :

Un mot sur les optimisations

La couche de plate-forme est la couche de priorité la plus élevée. Vous pourriez penser que ce serait le meilleur endroit pour inclure des optimisations. Toutefois, sous Windows 10, les optimisations qui suppriment les applications Windows fonctionnent uniquement sur la couche du système d’exploitation. Les applications Windows sont intégrées au Windows Store, qui ne peut être modifié que dans la couche du système d’exploitation.

Citrix propose un excellent utilitaire d’optimisation appelé Citrix Optimizer. Nous vous recommandons d’utiliser cet utilitaire plutôt que l’optimiseur fourni avec App Layering, car le Citrix Optimizer peut généralement inverser les optimisations, si nécessaire.

Pour accélérer les connexions utilisateur. Connectez-vous à l’aide d’un compte d’utilisateur réseau et redémarrez le bureau. Connectez-vous ensuite en tant qu’administrateur et supprimez le profil créé. Lorsque le premier utilisateur du réseau ouvre une session, certains fichiers système sont mis à jour, puis les performances de connexion s’améliorent généralement.

Démarrer une nouvelle couche de plate-forme

Pour créer une couche de plateforme, procédez comme suit :

  • Préparez la couche en utilisant Create Platform Layer.
  • Déployez une machine de packaging dans votre environnement.
  • Installez les outils et configurez les paramètres de votre environnement.
  • Finalisez la couche.

Procédez comme suit, à partir de la barre d’action :

  1. Sélectionnez Calques > Couches de plate-forme. Sélectionnez ensuite Create Platform Layer.

  2. Dans l’onglet Détails de la couche, entrez un nom de couche et une version, les deux valeurs obligatoires. Vous pouvez également saisir d’autres valeurs si vous le souhaitez.

  3. Dans l’onglet Détails de la version :

    1. (Obligatoire) Entrez un nom de nouvelle version. Par exemple, entrez la version du logiciel ou d’autres informations d’identification.
    2. Si vous ajoutez une version à une couche existante, le champ Version de base vous permet de choisir la version à utiliser comme point de départ. Le choix par défaut est la dernière version.
  4. Dans l’onglet Couche du système d’exploitation, sélectionnez la couche du système d’exploitation que vous souhaitez associer à cette couche Platform.

  5. Dans l’onglet Connecteur, choisissez une configuration de connecteur pour la plate-forme sur laquelle vous créez cette couche.

  6. Dans l’onglet Types de plateformes, sélectionnez Cette plate-forme sera utilisée pour la publication d’images en couchesou Cette plate-forme sera utilisée pour l’packaging. Sélectionnez ensuite l’hyperviseur, le logiciel de Provisioning et le broker de connexion où vous publiez l’image en couches. Remarque : Si vous n’utilisez pas le provisionnement ou un broker de connexions, sélectionnez Aucun pour chacune de ces options.

  7. Dans l’onglet Disque d’packaging, entrez un nom de fichier pour le disque d’empaquetage. Ce disque est utilisé pour la machine de packaging (la machine virtuelle) sur laquelle vous souhaitez installer les outils.

  8. Dans l’onglet Attribution d’icônes, sélectionnez une icône à affecter à la couche. Cette icône représente la couche dans le module Couches.

    • Pour utiliser une image existante, sélectionnez-la dans la zone d’image.
    • Pour importer une nouvelle image, cliquez sur Parcourir et sélectionnez une image au format PNG ou JPG.
    • Si la couche utilise l’une des icônes fournies et un connecteur avec la composition de déchargement sélectionnée, la machine d’packaging attribue une icône en fonction du contenu de la couche.
  9. Dans l’onglet Confirmer et terminer, passez en revue les détails de la couche App, entrez un commentaire si nécessaire, puis cliquez sur Create Layer. Tous les commentaires que vous saisissez apparaissent dans la vue Informations de l’ historique d’audit.

  10. Sélectionnez la page Tâches, puis cliquez sur la tâche Packaging Disk . Cliquez sur l’icône d’informations pour afficher la description complète de la tâche.

    Une fois le disque packaging créé, la barre des tâches affiche l’emplacement du disque packaging dans votre environnement.

Ensuite, vous pouvez déployer la machine de packaging pour votre couche.

Déployer une machine de packaging

Le système App Layering crée une machine de packaging à l’emplacement défini dans la configuration du connecteur. La machine de packaging est une machine virtuelle temporaire dans laquelle vous installez le logiciel pour la couche. Une fois la couche finalisée, la machine de packaging est retirée.

Citrix Hypervisor, Hyper-V, Nutanix AHV, VMware vSphere

l’appliance crée la machine de packaging à l’emplacement défini dans la configuration du connecteur.

  1. Accédez à la console de gestion App Layering, puis sélectionnez la page Tâches .
  2. Ouvrez la tâche Créer une couche de plate-forme pour obtenir le nom de la machine de conditionnement.
  3. Connectez-vous à la console de gestion de votre hyperviseur, par exemple : Citrix Hypervisor, Azure, Hyper-V, Nutanix ou VMware.
  4. À partir de la console du gestionnaire d’hyperviseur, accédez à la machine de packaging. Si la machine d’packaging n’est pas encore sous tension, faites-le maintenant.

Citrix Provisioning pour Hyper-V : configuration de deux cartes réseau

Lorsque vous utilisez deux cartes réseau et que vous exécutez Citrix Provisioning pour Hyper-V, vous devez configurer les cartes comme suit sur chaque nouvelle version de la couche Platform.

Une fois que votre logiciel de provisionnement est installé et que les redémarrages requis sont terminés :

  1. Ouvrez une invite de commandes administratives sur la machine de packaging.
  2. Exécutez la commande : ipconfig /all
  3. Faites correspondre l’adresse IP de la carte réseau de diffusion en continu (carte réseau héritée dans Hyper-V) avec le nom de carte correct.
  4. Renouvelez le bail DHCP sur la carte réseau de streaming.
  5. Encore une fois, dans une invite de commande administrative, exécutez, ipconfig /release *adapter-name* suivi de ipconfig /renew *adapter-name*. Cette commande force les pilotes App Layering à sélectionner cette carte comme « carte réseau principale ».
  6. Exécutez Shutdown for Finalize et finalisez la couche comme vous le feriez normalement.

Important :

Si vous sélectionnez Arrêter pour Finaliser, mais que vous devez ensuite rallumer la machine pour une raison quelconque, vous devez réexécuter les commandes de libération et de renouvellement .

Azure

  1. Accédez à la console de gestion App Layering et sélectionnez la page Tâches . Ouvrez la tâche Créer une couche d’application et cliquez sur l’icône Info pour afficher les détails.
  2. Utilisez le lien dans les détails de la tâche pour accéder à la machine de packaging dans Azure. Le panneau de déploiement personnalisé s’ouvre.
  3. Connectez-vous au portail Azure (https://portal.azure.com).
  4. Définissez les paramètres Azure.
    • Nom de la machine d’emballage : doit être conforme aux exigences relatives aux noms de machines virtuelles Azure.
    • Size : taille de la machine virtuelle.
    • Réseau virtuel et sous-réseau - pour le déploiement de la machine de packaging. IMPORTANT : Assurez-vous que la valeur de l’emplacement du groupe de ressources correspond à l’emplacement du compte de stockage que vous avez configuré dans la configuration du connecteur. Si ces emplacements ne sont pas les mêmes, la machine de packaging ne parvient pas à se déployer. Si votre déploiement échoue, vous pouvez coller à nouveau le lien dans le navigateur et recommencer.
  5. Une fois votre machine de packaging sous tension, vous pouvez installer les applications que vous souhaitez inclure dans la couche.

Tout autre hyperviseur (via le partage de fichiers réseau)

  1. Localisez le disque d’empaquetage dans le répertoire suivant sur le partage de fichiers réseau : \Unidesk\Packaging Disks

  2. Copiez le disque de packaging à un emplacement distinct sur votre hyperviseur. Le fait de placer le disque dans un autre emplacement permet de disposer d’espace pour les fichiers générés par votre hyperviseur lorsque vous créez une nouvelle machine virtuelle.

    IMPORTANT : ne copiez pas le disque dans le dossier Finalize tant qu’il n’est pas prêt à être finalisé. Un disque du dossier Finalize ne peut pas être attaché à la nouvelle machine virtuelle que vous allez créer ensuite.

  3. Créez une machine virtuelle en utilisant le disque packaging comme disque de démarrage.

  4. Mettez la machine de packaging sous tension.

Une fois votre machine d’packaging sous tension, vous pouvez installer vos outils de plate-forme dans la couche.

Installer les outils de plate-forme sur la machine de packaging

Ensuite, installez le logiciel pour la plate-forme sur laquelle vous publiez des images en couches. Les outils de plate-forme incluent Provisioning et les logiciels de courtage de connexion dont les images en couches nécessitent dans l’environnement cible. Gardez à l’esprit que l’état du logiciel lorsque vous finalisez le couche est l’état utilisé par l’image.

  1. Connectez-vous à distance à la machine d’emballage. Assurez-vous de vous connecter à l’aide du compte utilisateur que vous avez utilisé pour créer le système d’exploitation.
  2. Installez les outils que vos images en couches sont configurées pour exécuter. Par exemple, incluez vos outils de Provisioning, de connexion Broker et d’Hypervisor. N’oubliez pas vos pilotes, vos applications de démarrage et tous les fichiers requis.
  3. Si l’installation nécessite un redémarrage du système, redémarrez-le manuellement. La machine d’packaging ne redémarre pas automatiquement.
  4. Assurez-vous que la machine de packaging est dans l’état dans lequel vous souhaitez qu’elle soit au démarrage de l’image :
    • Si les outils que vous installez nécessitent une installation ou un enregistrement après l’installation, suivez ces étapes dès maintenant.
    • Supprimez tous les paramètres, configurations, fichiers, lecteurs mappés ou applications que vous ne souhaitez pas inclure sur la machine d’packaging.
  5. (Facultatif) Pour personnaliser l’image déployée depuis l’ELM avant le déploiement sur MCS, procédez comme suit :
    1. Mettez à niveau vos outils principaux dans la version 2308 du système d’exploitation et au-delà.
    2. Créez ensuite le fichier : c:\windows\setup\scripts\kmsdir\Admin_Controlled_Shutdown.txt

      Remarque :

      Le contenu des fichiers n’est pas important.

    3. Lorsque l’image est déployée à partir de l’ELM, l’image démarrée continue de fonctionner afin que vous puissiez effectuer vos personnalisations. Un redémarrage n’affecte pas l’état de la machine.
    4. Une fois votre personnalisation terminée, exécutez la commande suivante : c:\windows\setup\scripts\kmsdir\CompleteDeployment.cmd. À ce stade, la machine s’arrête et la tâche de déploiement est terminée. Vous pouvez ainsi déployer la machine sur MCS.

Vérifiez la couche et arrêtez la machine de packaging

Une fois les outils installés sur la machine de packaging, vous pouvez vérifier que la couche est prête à être finalisée. Tout traitement post-installation requis doit être effectué. Par exemple, un redémarrage ou un processus ngen Microsoft peut être nécessaire.

Pour vérifier que les processus en suspens sont terminés, exécutez l’outil Arrêter pour finaliser . Recherchez l’icône Arrêter pour finaliser sur le bureau de la machine d’packaging.

Arrêtez la machine de packaging pour que vous puissiez finaliser la couche

  1. Si vous n’êtes pas connecté à la machine de packaging, connectez-vous à distance à l’aide du compte configuré lors de la création de la couche OS.
  2. Double-cliquez sur l’icône Arrêter pour finaliser . Une fenêtre de ligne de commande affiche des messages détaillant le processus de vérification des couches.
  3. S’il y a une opération en attente, vous êtes invité à terminer le processus. Par exemple, si une opération ngen Microsoft doit être terminée, vous pouvez accélérer l’opération ngen, comme indiqué dans la section Messages relatifs à l’intégrité des couches pendant le processus de finalisation.
  4. Une fois les opérations en attente terminées, double-cliquez à nouveau sur l’icône Arrêter pour finaliser .

La couche est maintenant prête à être finalisée.

  • Si la configuration de connecteur sélectionnée est définie sur Décharger la composition, la couche est automatiquement finalisée.
  • Si vous n’utilisez pas la composition de déchargement, finalisez la couche manuellement.

Messages d’intégrité de la couche pendant le processus de finalisation

Les messages d’intégrité de la couche suivants indiquent les opérations en file d’attente qui doivent être terminées avant que la couche soit prête à être finalisée :

  • A RunOnce script is outstanding - check and reboot the packaging machine.
  • A post-installation reboot is pending - check and reboot the packaging machine.
  • A Microsoft ngen operation is in progress in the background. - An MSI install operation is in progress - check the packaging machine.
  • A reboot is pending to update drivers on the boot disk - check and reboot the packaging machine.
  • A Microsoft ngen operation is needed.
  • Software Center Client is configured to run, but the SMSCFG.INI is still present. Pour en savoir plus sur le déploiement de SCCM dans un environnement virtuel, consultez l’article Microsoft TechNet, Implementing SCCM in a XenDesktop VDI environment.

Pour plus d’informations sur la signification des messages d’intégrité de la couche et sur la façon de les déboguer, consultez la section Débogage des problèmes d’intégrité de la couche dans Citrix App Layering 4.x et versions ultérieures.

Vous ne pouvez pas contourner les messages d’intégrité de la couche en arrêtant la machine. Le logiciel App Layering vous renvoie à la machine de packaging jusqu’à ce que les processus soient terminés.

Si une opération ngen Microsoft est en cours, vous pouvez essayer de l’accélérer, comme décrit dans la section suivante.

Accélérez les opérations Ngen.exe Microsoft, si nécessaire

Une fois toutes les mises à jour logicielles installées, vous devez permettre à Ngen.exe de recompiler essentiellement le code d’octets .NET en images natives et de construire les entrées de registre pour les gérer.

L’exécutable Ngen.exe est Microsoft Native Image Generator, qui fait partie du système .NET. Windows détermine quand exécuter Ngen.exe en fonction du logiciel en cours d’installation et de ce que Windows détecte dans la configuration.

Important : Lorsque Ngen.exe est en cours d’exécution, vous devez le laisser se terminer. Une opération Ngen.exe interrompue peut entraîner le non-fonctionnement des assemblages .NET ou d’autres problèmes dans le système .NET.

Normalement, Ngen.exe est une opération en arrière-plan qui s’arrête lorsqu’il y a une activité au premier plan. Pour accélérer une opération Ngen.exe, mettez la tâche au premier plan pour la terminer.

Pour mettre la tâche au premier plan :

  1. Ouvrez une invite de commandes en tant qu’administrateur.
  2. Accédez au répertoire Microsoft.NET\Framework de la version actuellement utilisée :

    cd C:\Windows\Microsoft.NET\FrameworkNN\vX.X.XXXXX <!--NeedCopy-->

  3. Entrez la commande Ngen.exe suivante pour exécuter tous les éléments en file d’attente. Cette commande traite les installations de composants mis en file d’attente avant de créer des assemblys.

    ngen eqi 3 <!--NeedCopy-->

    La tâche Ngen.exe passe au premier plan dans l’invite de commande et répertorie les assemblages en cours de compilation. C’est OK si vous voyez des messages de compilation.

    Vous pouvez utiliser le Gestionnaire des tâches pour voir si une instance de MSCORSVW.EXE est en cours d’exécution. Si c’est le cas, laissez-le se terminer ou exécutez ngen eqi 3.

    Attention : Ne redémarrez pas pour arrêter la tâche. Autoriser la tâche à terminer !

  4. Assurez-vous que tous les processus Ngen.exe ont été exécutés jusqu’à leur fin.
  5. Lorsque vous avez terminé, arrêtez la machine virtuelle à l’aide du raccourci Arrêter pour finaliser disponible sur votre bureau.

Finaliser la couche manuellement

La finalisation de la couche est la plus rapide lorsque vous utilisez un connecteur sur l’un des hyperviseurs testés. Voir la section suivante pour plus de détails.

Vous pouvez également finaliser une couche sur d’autres hyperviseurs à l’aide du partage de fichiers réseau. Consultez la dernière section de cet article.

Citrix Hypervisor, Azure, Hyper-V, Nutanix AHV, VMware vSphere

Maintenant que la couche a été vérifiée et arrêtée, elle est prête à être finalisée.

Hyper-V :

si vous utilisez un connecteur avec la composition de déchargement sélectionnée, ce processus de finalisation est automatisé et vous n’avez pas à effectuer ces étapes manuelles.

  1. Revenez à la console de gestion.
  2. Sélectionnez Couches > Couches de plate-forme, puis la version de la couche dans l’onglet Informations de version que vous avez préparé.
  3. Cliquez sur Finaliser pour terminer la création de la couche.
  4. Surveillez la barre des tâches pour vérifier que l’action est terminée avec succès.

Une fois la couche vérifiée, la machine de packaging est retirée pour minimiser l’espace de stockage utilisé.

Tout autre hyperviseur (via le partage de fichiers réseau)

Maintenant que la couche a été vérifiée et arrêtée, elle est prête à être finalisée.

  1. Copiez le disque packaging empaquetage du dossier contenant les fichiers de la machine d’empaquetage vers le dossier Finalize sur le partage de fichiers réseau : \Unidesk\Finalize

  2. Revenez à la console de gestion.

  3. Sélectionnez Calques > Couches de plate-forme.

  4. Sélectionnez Finaliser dans la barre d’actions.

  5. Surveillez la barre des tâches pour vérifier que l’action se termine correctement et que la couche est déployable.