Table de Matieres
I. Présentation
Vous avez probablement deviné que derrière ce titre racoleur se cache un petit mensonge 🙂 En fait, le service pack 2 n’existe pas vraiment et pour rattraper les nombreux correctifs sortis depuis le SP1 de Windows 7 (et 2008-R2), Microsoft propose un correctif cumulatif « KB3125574 » alias « Convenience Rollup« .
Distribué sous la forme d’un package Windows Update, vous disposez de plusieurs techniques pour l’installer.
- Sur les ordinateurs déjà installés
- Directement en ligne via Windows Update ou un serveur WSUS de votre entreprise.
- En téléchargeant le package .MSU dans le cadre d’une installation autonome (cf WUSA.exe)
- Dans les images de référence
- Injection directe dans l’image WIM via DISM
- Installation via le processus de fabrication MDT (Cas exposé ci-après)
Toutefois, l’installation de ce package implique quelques précautions et prérequis. En effet, outre la présence du service pack 1 (ce qui semble évident), il faut y adjoindre les correctifs préalables suivants, selon l’architecture :
N° Correctif | x86 | x64 |
KB3020369 | X | X |
KB3083710 | X | |
KB3102810 | X |
L’installation de ces prérequis implique un redémarrage de l’ordinateur afin qu’il soit éligible à l’installation du « Convenience Rollup ». En conséquence, l’utilisation de la fonctionnalité « Packages » du MDT, ne peut pas être réalisée en une seule passe.
Remarque : Cette technique et conseils d’installation peuvent s’appliquer à d’autres cas de figure. Dans les grandes lignes, vous devez cibler l’installation des prérequis dans les processus de fabrication initiaux, au plus proche ou à l’intérieur des images WIM de référence. Les autres packages pouvant être installés en post-installation ou via l’infrastructure selon leur taille ou le besoin.
II. Explications et mise en œuvre dans MDT
A. Appliquer les packages au bon moment
Vous savez probablement que MDT prend nativement en charge l’installation de packages au format .cab ou .msu. En fait, au sein d’une séquence de tache standard, nous pouvons constater que l’installation des packages est effectuée au niveau de l’action « Apply Patches » située dans le groupe de taches « Preinstall« . Toutefois, cette action s’appuie sur le profil de sélection « All Packages » par défaut, et par conséquent installe l’intégralité des éléments éligibles déclarés dans le dossier « Packages » et ses éventuels sous dossiers.
En affinant sur les profils de sélection des packages, on peut imaginer une installation en 2 étapes mais il faut gérer un redémarrage intermédiaire, ce qui n’est pas possible à ce moment du processus.
Il faut donc que le correctif global s’installe dans un second temps, après que le système ait redémarré, donc plutôt dans la phase « State Restore« .
Cela étant dit, nous devons également distinguer deux techniques de fabrication :
- Une séquence de taches distincte chargée de la capture qui intègre au minimum les prérequis puis la ou les séquences de déploiement chargées d’installer ce fameux correctif cumulatif, en mode autonome ou via WSUS. (Gestion du parc existant, mais pénalise fortement les temps d’installation)
- Une séquence de taches chargée de la capture qui intègre directement l’ensemble de ces correctifs, limitant ainsi l’impact sur les séquences de déploiement.
A mon humble, le plus raisonnable est de se focaliser sur cette seconde approche.
B. Installer les prérequis en tant que packages
Commençons par organiser le dossier « Packages » en créant un sous-dossier dédié aux prérequis. Pour cela, à partir de la console MDT, sélectionnez la rubrique « Packages » puis cliquez sur le menu « New Folder » ou le menu contextuel et entrez un nom distinctif tel que « W7SP2-Prereq« . Sélectionnez ensuite ce nouveau dossier puis cliquez sur le menu « Import OS Package » ou le menu contextuel. Sélectionnez les packages .MSU correspondants lorsque vous y êtes invité.
L’opération d’importation n’autorise pas un choix sélectif des package et prend en considération la totalité du dossier stipulé. Veillez donc à organiser ces sources (.MSU) dans des dossiers distincts entre ceux du prérequis, ceux des correctif cumulatif.
Une fois l’importation des packages terminée, cela donne quelque chose du genre :
Pour les plus rigoureux, vous pouvez créer des sous-dossiers distincts par architecture mais le processus MDT gère de lui-même ces différences et n’installe que les packages compatibles.
Notez que les MSU ont été transformés en .CAB lors de cette importation.
Par défaut, l’opération « Apply Pacthes » mentionnée précédemment s’appuie sur le profil de sélection « All packages« , le sous-dossier que nous venons de créer sera donc pris en compte. Au besoin, vous pouvez modifier ce profil ou créez une tache spécifique.
C. Déclarer le package cumulatif en tant qu’application
Pour installer le « Convenience Rollup », nous allons déclarer le package cumulatif .MSU selon le principe des applications avec sources MDT. Pour cela, il suffit de créer une nouvelle entrée en sélectionnant la rubrique « Applications » puis de cliquer sur le menu « New Application » ou le menu contextuel.
Attention à bien distinguer cette fois, les packages selon l’architecture. Au besoin créez des sous-dossiers distincts pour organiser ce classement.
Dans l’assistant de déclaration de cette nouvelle application, sélectionnez « Application with source files » puis cliquez sur « Next« . Entrez un nom distinctif tel que « Install W7x64 Convenience Rollup » dans le champ « Application Name » puis cliquez sur « Next« . Utilisez ensuite le bouton « Browse » afin de sélectionner le dossier contenant le package cumulatif .MSU (ici 64 bits) puis cliquez sur « Next« . Modifiez éventuellement le nom du dossier de stockage puis cliquez sur « Next« . Dans le champ « Command line » entrez la commande « Wusa.exe .\windows6.1-kb3125574-v4-x64.msu /quiet /norestart » puis cliquez 2 fois sur « Next » puis sur « Finish« .
D. Modifier la séquence de taches
Maintenant, il ne nous reste plus qu’à modifier la séquence de taches afin d’y ajouter cette nouvelle application. Ici j’ai pris une séquence de déploiement classique, mais le principe est le même si vous avez séparé et automatisé vos processus de capture.
Pour cela, sélectionnez la séquence de taches, (64 bits dans cet exemple) puis accédez à ses propriétés et sélectionnez l’onglet « Task Sequence« .
Sélectionnez ensuite une tache située sous le groupe de tache « State Restore« , plutôt au-dessus de « Windows Update (Pre Application Installation) » désactivée par défaut puis utilisez le menu « Add … General … Install Application« .
Ici, le choix dépend bien sûr du contenu de la séquence de taches existante, qui peut déjà contenir une opération « Install Application » – L’action par défaut affiche toutes les applications disponibles dans l’assistant, à moins que l’écran ne soit masqué par la variable « skipApplications=YES » – Généralement, cette tâche par défaut est pondérée par l’usage de « roles » et de « bundles » pour assurer une installation plus ciblée des applications. Il est également possible de déclarer des applications obligatoires (Mandatory) dans le customSettings.ini mais c’est un autre sujet 🙂
Entrez un nom distinctif dans le champ « Name: » puis sélectionnez le radio-bouton « Install a single application » suivi du bouton « Browse » afin de choisir l’application déclarée précédemment.
Pour la démonstration, je n’ai pas géré le redémarrage final qui reste à votre discrétion, par exemple via la variable « FinishAction=Reboot« , afin que le correctif soit pleinement fonctionnel.
Le principal défaut de cette méthode est le temps considérable durant lequel la tâche d’installation du correctif semble bloquée. Il suffit d’être patient 🙂 Au risque de me répéter, il est donc préférable d’intégrer ce gros correctif dans les processus de capture afin d’associer une image WIM à jour dans vos séquences de déploiement, ou d’utiliser la méthode de « slipstreaming » décrite ci-après.
III. Injection directe manuelle (indépendante de MDT)
Cette approche nécessite une intervention manuelle sur les images de référence, afin d’injecter directement les prérequis dans l’image .WIM. Dans ce cas, il suffirait d’ajouter le « Convenience Rollup » dans la rubrique « Packages » afin que celui-ci soit injecté nativement via l’action « Apply Patches » d’une séquence de tache standard. Cela étant dit, le fait d’intervenir sur l’image WIM pour l’ajout des prérequis, peut aussi être l’occasion d’injecter ce correctif cumulatif dans la foulée. C’est donc ce que je vous propose de détailler ici.
Cette procédure n’est pas spécifique au MDT et reste valable pour la mise à jour d’une distribution sur DVD ou USB. Cette technique s’apparente à la notion de « slipstreaming » utilisée dans les générations précédentes de Windows.
A. Modification de l’image WIM via DISM
- Commençons par créer une petite structure de dossiers dédiée à ces opérations, comme par exemple
mkdir F:\W7SP1\Sources mkdir F:\W7SP1\Mount
Je considère que les correctifs (prérequis et cumulatifs) ont été préalablement copiés dans F:\W7SP2\Updates
Pour simplifier les explications, j’utilise une distribution (fichier WIM) de Windows 7 sp1 64 bits ne contenant qu’une seule image. En effet, dans le cas contraire, il faut réitérer ces opérations pour chacune des images contenues dans le fichier .WIM.
Pour vous en assurer, tapez la commande suivante
dism.exe /Get-ImageInfo /ImageFile:"F:\Deploy\Operating Systems\Windows 7 x64\sources\install.wim"
Au besoin, vous pouvez extraire l’image souhaitée, pat exemple la 3ème, vers un nouveau fichier « mono-image » via la commande suivante:
dism.exe /Export-Image /SourceImageFile:"F:\Deploy\Operating Systems\Windows 7 x64\sources\install.wim" /SourceIndex:3 /DestinationImageFile:F:\W7SP1\Sources\W7x64-Pro.wim
Note : Sous Windows 7, la commande DISM ne supporte pas cette option. Vous devez installer et utiliser l’outil d’un kit de déploiement, soit « Imagex /export » pour le WAIK, ou DISM pour un ADK plus récent.
- Copiez l’image .WIM de référence dans un dossier de travail (si vous n’avez pas fait d’export comme cité précédemment)
copy "F:\Deploy\Operating Systems\Windows 7 x64\sources\install.wim" F:\W7SP1\Sources\W7x64-Pro.wim
- Procédez au montage de l’image WIM comme suit :
dism.exe /Mount-Wim /WimFile:F:\W7SP1\Sources\W7x64-Pro.wim /MountDir:F:\W7SP1\Mount /Index:1
- Procédez à l’intégration des correctifs, selon l’architecture, comme suit :
dism.exe /Image:F:\W7SP1\Mount /Add-Package /PackagePath:F:\W7SP1\Updates\Windows6.1-KB3020369-x64.msu
dism.exe /Image:F:\W7SP1\Mount /Add-Package /PackagePath:F:\W7SP1\Updates\Windows6.1-KB3102810-x64.msu
dism.exe /Image:F:\W7SP1\Mount /Add-Package /PackagePath:F:\W7SP1\Updates\windows6.1-kb3125574-v4-x64.msu
Cette dernière opération prend beaucoup de temps mais considérons que c’est pour la bonne cause 🙂
- Procédez au démontage de l’image WIM comme suit :
dism.exe /Unmount-Wim /MountDir:F:\W7SP1\Mount /Commit
N’oubliez surtout pas l’option « commit » afin de valider les changements 😉
- Facultatif : Modifiez le nom de l’image et/ou sa description :
Sauf erreur de ma part, Microsoft à du oublier d’intégrer cette faculté dans DISM sans procéder un export. (Cette opération était très simple avec l’outil précédent ImageX.exe). Donc, si vous ne disposez pas de l’ancien outil, vous pouvez toujours utiliser l’outil gratuit GImageX.exe disponible ici : https://www.autoitscript.com/cgi-bin/getfile.pl?gimagex/gimagex.zip
A minima, pensez à renommer le fichier afin de le distinguer plus facilement.
B. Réintégration de l’image WIM dans MDT
Maintenant que vous disposez d’une image Windows 7 à jour, vous pouvez la réintégrer au sein de vos distributions DVD ou MDT, en lieu et place des images WIM précédentes.
Bien que cela ne soit pas impératif, il est conseillé de régénérer le catalogue (fichier .clg) via l’outillage WISM.
Pour le MDT, allez dans la rubrique « Operating System« , créez un éventuel sous-dossier spécifique, puis utilisez le menu « Import Operating System » ou le menu contextuel. Choisissez ensuite « Custom image file » puis sélectionnez cette nouvelle image.
Note : Si vous avez déjà importé une autre image de référence, telle que le DVD original de Microsoft, conservez le choix « Setup and Sysprep files are not needed«
Une fois l’image importée, allez dans les séquences de taches concernées, puis modifiez simplement la tâche « Install operating system » ou créez une nouvelle séquence de déploiement.
En vous remerciant pour votre lecture et fidélité sur notre site.
Bon déploiement à tous.