Introduction

Intégrer des logiciels dans le CD de Windows XP


Prérequis :


  • - Savoir utiliser l’outil de ligne de commande et la gestion de fichiers,
  • - Création de batchs,
  • - Utilisation d'un décompresseur (ex: Winrar), d'un utilitaire de gravure (ex: Nero Burning ),
  • - Utilisation d'un éditeur Hexadécimal (ex: WinHex), ceci est facultatif,
  • - Ce dossier fais référence au dossier concernant l’installation de Windows XP en mode Unattend disponible ici,
  • - Il est préférable d’utiliser une distribution patchée avec le dernier Service Pack dont la méthode, appellée Slipstreaming est expliquée ici.

A/ Introduction :

Au cours d’une installation en mode Unattend, il est possible d’exécuter l’installation de programmes supplémentaires :
C’est le rôle de la fenêtre "commandes supplémentaires" du gestionnaire d’installation de windows.

Or, Windows XP a bénéficié de maintes améliorations logicielles depuis sa sortie :

  • - Internet Explorer en est à sa version 6 sp1,
  • - Direct X est passé à la version 9.0b,
  • - Windows Média Player est en version 9,
  • - MSN Messenger est en version 6,
Pourquoi alors ne pas intégrer directement ces nouvelles versions automatiquement au cours de l'installation de Windows '

B/ Mise en place d’une arborescence de type OEM :

Etant donné que ce dossier fait intervenir des applicatifs qui ne font pas partie intégrante du Setup de Windows, il faut considérer que nous allons entrer dans une installation de type OEM :

Ce type d’installation est utilisée par les intégrateurs de PC et évite les manipulations manuelles et répétitives sur des machines produites en grand nombre, elle est aussi utile pour les parcs informatiques d’entreprise et leur déploiement.

Cette arborescence permet l’installation des différentes applications « OEM », c’est ici que vont être stockées les applications.

Note: Je ne reviens pas sur la création d'un dossier spécial contenant Windows XP SP1, décrite plus en détail ici..
Nous considèrerons que ce répertoire se nomme F:\XPMSAPPS\

Voici donc l’arborescence OEM à créer :

Image

Notes :

- Le dossier F:\xpmsapps\i386 contient déjà Windows XP SP1 avec les fichiers winnt.sif et winnt32.sif:
- Cette arborescence doit respecter le format MS-DOS 8.3
- Les numéros de versions (ex: msie6sp1) ont été omis dans le nom des dossiers pour éviter d'éventuelles erreurs lors de changement de version.

Explications :

Toute l’arborescence située sous \$OEM$\ va être copiée à la fin de l'installation en mode texte de Windows XP (après les fichiers de XP) sur le disque dur en fonction des critères suivants :

- $1 : Correspond à la partition qui contient le système, (%systemdrive%), généralement C:
- $$ : Correspond au chemin d’installation de Windows, (%windir%) spécifié par TargetPath dans votre fichier de réponses, généralement C:\windows
- C : Correspond au lecteur C
- D : Correspond au lecteur D (et ainsi de suite)
- Textmode : Tous les fichiers contenus dans ce dossier servent au démarrage lors de l'installation en mode texte (cf. la commande au début de l'installation: "Appuyez sur F6 si vous voulez installer un pilote tiers SCSI ou RAID").

Ici, nous allons mettre dans le dossier \$OEM$\$1\msapps\ toutes les applications téléchargées à installer : si vous choisissez d’installer Windows sur C: alors les fichiers seront copiés dans c:\msapps.

Téléchargements (1)

C/ Téléchargement des fichiers d’installation :

Microsoft Internet Explorer 6 :

- Télécharger le fichier ie6setup.exe sur le site de Microsoft et placez-le dans le sous-dossier \msie :

Image

- Exécuter la ligne de commande suivante pour que l’assistant télécharge des sources :

F:\XPMSAPPS\$OEM$\$1\msapps\msie\Ie6setup.exe /c:"ie6wzd.exe /d /s:""#E"""

Image

Cliquez sur OK.

Image

Acceptez les termes du contrat et cliquez sur Suivant...

Image

Choisir F:\XPMSAPPS\$OEM$\$1\msapps\msie comme dossier de destination
Attention, ne choisir que les sources pour votre version de Windows (ici : 2000/XP) dans la zone "Installer sur".

Cliquez sur Suivant...

Image


A la fin du téléchargement, une confirmation apparait :

Image

Cliquez sur OK.

Voici le contenu du dossier une fois le téléchargement terminé (~12 Mo) :

Image

Note : Le fichier texte concernant la suppression du dossier doit être effacé ou bien renommé au format MS-DOS 8.3 (ex: del_dir.txt).

Téléchargements (2)

Microsoft DirectX 9.0b :

- Téléchargez DirectX sur le site de Microsoft (~32 Mo) et sauvegardez le fichier dx90b_redist.exe dans un dossier temporaire.

- Ouvrez ce fichier à l'aide de Winrar (ou autre) et visualisez le fichier redist.exe:

Image


- Entrez ensuite dans le sous-dossier DirectX9 :

Image

- Extraire les fichiers sélectionnés dans F:\XPMSAPPS\$OEM$\$1\msapps\directx .

Notes :
- Choisir l'option "Ne pas extraire le chemin"
- Les trois fichiers non sélectionnés ne servent pas à l'installation sous XP et permettent de gagner 16 Mo en espace disque sur le futur CD.
- Le repertoire temporaire contenant dx90b_redist.exe peut être supprimé.

Voilà le contenu du dossier une fois l'extraction effectuée :

Image

Microsoft Windows Média Player 9 :

- Téléchargez Windows Média Player sur le site de Microsoft (~10 Mo) et sauvegardez le fichier MPsetupXP.exe dans F:\XPMSAPPS\$OEM$\$1\msapps\wmp :

Image

Microsoft MSN Messenger 6 :

- Téléchargez MSN Messenger sur le site de Microsoft (~10 Mo) et sauvegardez le fichier Setup.exe dans un dossier temporaire (ex: F:\Temp).

- Exécutez la commande suivante afin d'extraire l'archive utile à l'installation :

F:\Temp\setup.exe /t:F:\XPMSAPPS\$OEM$\$1\msapps\msnmsgr /c

Image

- Ne gardez que le fichier MsnMsgs.msi

Image

Les fichiers étant récupérés, il nous reste à paramétrer leur installation...

Préparation (1)

D/ Préparation des installations :

Si nous exécutions tel quels les exécutables téléchargés, nous aurions une multitude de fenêtres affichées lors de l'installation ainsi que des choix à faire, sans compter les eventuels reboot ce qui ne serviraità rien dans ce type d'installation.

Afin donc d’éviter le maximum d’interactions avec l’utilisateur ainsi que d’éventuels redémarrages, nous allons utiliser les commutateurs permettant l’installation silencieuse et sans reboot.

Cette méthode consiste à créer un fichier de commandes lançant tour à tour les installations voulues à la fin de l’installation de Windows XP en mode graphique (lors de l'inscription des composants).

Microsoft Internet Explorer 6 :

La commande pour une installation silencieuse et sans reboot est la suivante :

ie6setup.exe /C:"ie6wzd.exe /S:""#e"" /Q:A /R:N"

Où:
- /C : exécute une commande personalisée
- /Q:A : n’affiche pas de fenêtres durant l’installation
- /R:N : ne redémarre pas l’ordinateur.

Pour plus d'informations, la commande ie6setup /' donne la fenêtre suivante:

Image

Microsoft DirectX 9 :

La version 9 de DirectX n’autorise pas l'utilisation de commandes permettant une installation silencieuse. Il existe cepandant deux méthodes permettant d'arriver à installer DirectX de cette manière. Il n'est pas possible de passer des commutateurs en ligne de commande sur dxsetup.exe.

1ère méthode: Modification de dxsetup.exe

A l'aide d'un éditeur hexadecimal, modifiez l'octet de la position 000033E2 : changez la valeur 74 existante en EB comme indiqué sur la capture suivante.

Image


Sauvegardez le fichier ainsi modifié.

La commande est alors la suivante pour une installation silencieuse sans reboot :

dxsetup.exe /windowsupdate

Où :
/windowsupdate: spécifie une installation silencieuse sans redémarrage.

Préparation (2)

2ème méthode (recommandée): Remplacement de dxsetup.exe

La solution est d’utiliser l’exécutable issu de la version 8.1 téléchargeable ici (~12 Mo)

A l'aide de votre utilitaire de compression (ici Winrar), il faut extraire les fichiers contenus dans l'exécutable :

Image

Copiez alors le fichier dxsetup.exe extrait dans le dossier \DirectX :

Image


Confirmez la copie par OK.

La commande utilisée est ici la suivante :

dxsetup.exe /install /silent

Où :
/install: ne redémarre pas l’ordinateur,
/silent : n’affiche pas de fenêtres durant l’installation.

Notes :
- La première méthode permet d'éviter le téléchargement de 12Mo.
- La seconde méthode permet d'avoir un fichier moins lourd sur le futur CD (celle-ci est recommandée).

Remarque :
Il existe un contrôle du panneau de configuration (en anglais) qu’il est possible de récupérer ici et d’ajouter à l’installation en le copiant dans le dossier \$$\system32 . Au cours de l’installation, il sera automatiquement copié dans %windir%\system32 et donc visible dans le panneau de configuration:

Image

Préparation (3)

Microsoft Windows Media Player 9 :

La commande est la suivante :

MPSetupXP.exe /Q:A /R:N /C:"setup_wm.exe /DisallowSystemRestore /Q:A /R:N"

Où:
/DisallowSystemRestore : Evite l'affichage d'une boîte de dialogue concernant la sauvegarde de la version précédente pour une éventuelle désinstallation,
/Q:A : n’affiche pas de fenêtres durant l’installation,
/R:N : ne redémarre pas l’ordinateur.

Microsoft MSN Messenger 6 :

La commande est la suivante :

MsnMsgs.msi /QB

Où:
/QB : n’affiche pas de fenêtres durant l’installation.


E/ Création des fichiers de commandes et modification des fichiers de réponses :


Nous allons créer deux fichiers de commandes.
Le premier va contenir toutes les commandes permettant l'installation des logiciels cités à la fin de l'installation en mode graphique, tandis que le second permettra le nettoyage de l'arborescence copiée qui ne servira plus.
Les commandes seront exécutées dans une fenêtre DOS. Ensuite, nous détaillerons les modifications à apporter aux fichiers de réponses pour l'exécution des fichiers de commandes.


1/ Création de msapps.bat


Voici le contenu de ce fichier :

@echo off
echo Installation des applications Microsoft suivantes :
echo Veuillez patienter ...
echo.
echo Internet Explorer 6 SP1 ...
start /wait %systemdrive%\msapps\msie\ie6setup.exe /Q:A /R:N /C:"ie6wzd.exe
/S:""#e"" /Q:A /R:N"
echo.
echo DirectX 9.0b ...
start /wait %systemdrive%\msapps\directx\dxsetup.exe /install /silent
echo.
echo Windows Media Player 9 ...
start /wait %systemdrive%\msapps\wmp\MPSetupXP.exe /Q:A /R:N /C:"setup_wm.exe
/DisallowSystemRestore /Q:A /R:N"
echo.
echo MSN Messenger 6 ...
start /wait %systemdrive%\msapps\msnmsgr\MsnMsgs.msi /QB

Note : Veillez à enlever les éventuels retours à la ligne en fonction de l'affichage de ce listing

Explications :

@echo off : évite l'affchage du prompt (c:\>) et n'affiche pas les commandes à l'écran,
echo Texte : Affiche "Texte" à l'écran (pas d'accents),
echo. : Passe une ligne,
start /wait : Exécute la commande située après. Le /wait permet d'attendre la fin d'une commande pour passer à la suivante (ceci pour éviter les conflits entre deux commandes lancées en même temps),
%systemdrive%\msapps\application\ : Chemin où sont rangés les fichiers copiés en début d'installation.

Ce fichier est à placer dans le dossier F:\XPMSAPPS\$OEM$\ .

Préparation (4)

2/ Création de clean.bat

Voiçi le contenu de ce fichier:

@echo off
echo Suppression des repertoires temporaires ...
cmd /c rd /s /q %systemdrive%\msapps\
echo.
echo Termine.

Explications :

cmd /c : Lance l'interpréteur de commande puis le ferme une fois la commande qui suit terminée. Pour obenir plus d'informations, il suffit d'exécuter la commande suivante: cmd /'

rd /s /q : Supprime l'arborescence sans confirmation. Pour obtenir plus d'informations, il suffit d'exécuter la commande suivante: help rd

Ce fichier est à placer dans le dossier F:\XPMSAPPS\$OEM$\ .


3/ Création de cmdlines.txt


Pour lancer ces fichiers de commandes, nous allons utiliser les dernières options du gestionnaire d’installation :

Image

Notes :
- Si vous avez déjà créé un fichier unattend.txt, vous avez la possibilité de le modifier avec le gestionnaire (Choisir: "Modifier un fichier de réponses existant" au début de l'assistant).
- La fenêtre précédente (Exécuter une fois) permet aussi le lancement de commandes mais celles-çi sont exécutées lors de la première ouverture de session sur la machine. Cette méthode est utilisée pour installer les imprimantes réseau (cf. la fenêtre Installer des imprimantes) mais aussi pour d'autres installations.

Une fois l’assistant terminé, le gestionnaire a créé un fichier supplémentaire nommé cmdlines.txt contenant les commandes suivantes :

[Commands]
"msapps.bat"
"clean.bat"

Notes :
- Il est tout à fait possible de créer ce fichier à l'aide d'un éditeur de texte,
- Il est obligatoire d’utiliser un système d’appel de fichier comme indiqué ici car le fichier cmdlines.txt n’accepte pas de commandes entre crochets,
- Il n'est pas possible d'utiliser des chemins réseau car ce dernier n'est pas configuré.

Ce fichier est à placer dans le dossier F:\XPMSAPPS\$OEM$\ :

Image

4/ Modification de unattend.txt / winnt.sif / winnt32.sif

Les paramètres suivants sont à ajouter ou à modifier dans le (les) fichier(s) de réponses :

[Unattended]
OemFilesPath="..\$OEM$" : Permet de spécifier le chemin de l’arborescence OEM.
OemPreinstall=Yes : Permet la copie de l’arborescence OEM sur la partition système.

[GuiUnattended]
OEMSkipWelcome=1 : Permet de s’affranchir de l’écran de bienvenue : Ce paramètre est à laisser obligatoirement à 0 pour les intégrateurs et revendeurs.

Gravure

F/ Gravure du CD :

Rien de bien nouveau à cette phase du projet, voir ici pour plus de détails.

Par contre, Si vous n'installez jamais Windows dans des langues nécéssitant des caractères spéciaux (Arabe, Chinois, Coréen, Hebreu, Indonésien, Japonnais ou Thailandais, ...), il est possible de réduire la quantité de données gravées en supprimant le dossier LANG se trouvant sous le dossier i386.


H/ Conclusion, crédits :


Il y a plusieurs méthodes pour effectuer ce type d'installation, nous avons vu ici la méthode utilisant cmdlines.txt s'éxécutant avant toute ouverture de session.

Les autres méthodes serviront ultérieurement.


Crédits:
http://www.microsoft.com/technet/... Référence sur le mode unattend (us) en plus de l'aide des bases de connaissances (http://support.microsoft.com/) et des aides de deploy.cab.
//www.generation-nt.com/affichage.php'type=astuces&id=65 : Astuce sur le téléchargement des sources de MSIE6
http://www.laboratoire-microsoft.org/ : Déploiement (fr/us)
http://www.tech-hints.com/ : Déploiement (us)
http://www.msfn.org/unattended/xp/index.htm : Déploiement (us)
http://www.appdeploy.com/ : Déploiement d'applications (us)
http://geeksasylum.free.fr/ : Déploiement et astuce sur directx.cpl (fr)