CD unattended : Copier le répertoire I386 sur le disque dur

   Mais pourquoi faire ? 

          Pour faire automatiquement lors de l'installation automatisée ce que l'on fait manuellement ici.


Le petit BAT que je vais vous présenter sert à recopier depuis le CD d'installation le répertoire I386 au complet. Il est lancé lorsqu'il reste 12 minutes d'installation par le fichier "cmdlines.txt" qui se trouve dans le répertoire "$OEM$" de votre CD. (Ou par le RunOnceEx)

Voilà un extrait de ce fichier cmdlines.txt :

[Commands]
"applis.bat"
"patchs.bat"
"cpy_i386.bat"
"REGEDIT /S registre.reg"

Les fichiers nécessaires sont placés dans le même répertoire que cmdlines.txt.

Voici le contenu de ce fichier cpy_i386.bat :

@echo off
SET CDROM=A
IF EXIST D:\win51ip.SP1 SET CDROM=D:
IF EXIST E:\win51ip.SP1 SET CDROM=E:
IF EXIST F:\win51ip.SP1 SET CDROM=F:
IF EXIST G:\win51ip.SP1 SET CDROM=G:
IF EXIST H:\win51ip.SP1 SET CDROM=H:
IF EXIST I:\win51ip.SP1 SET CDROM=I:
IF EXIST J:\win51ip.SP1 SET CDROM=J:
IF EXIST K:\win51ip.SP1 SET CDROM=K:
IF EXIST L:\win51ip.SP1 SET CDROM=L:
IF EXIST M:\win51ip.SP1 SET CDROM=M:
IF EXIST N:\win51ip.SP1 SET CDROM=N:
IF EXIST O:\win51ip.SP1 SET CDROM=O:
IF EXIST P:\win51ip.SP1 SET CDROM=P:
IF EXIST Q:\win51ip.SP1 SET CDROM=Q:
IF EXIST R:\win51ip.SP1 SET CDROM=R:
IF EXIST S:\win51ip.SP1 SET CDROM=S:
IF EXIST T:\win51ip.SP1 SET CDROM=T:
IF EXIST U:\win51ip.SP1 SET CDROM=U:
IF EXIST V:\win51ip.SP1 SET CDROM=V:
IF EXIST W:\win51ip.SP1 SET CDROM=W:
IF EXIST X:\win51ip.SP1 SET CDROM=X:
IF EXIST Y:\win51ip.SP1 SET CDROM=Y:
IF EXIST Z:\win51ip.SP1 SET CDROM=Z:

IF %CDROM%==A goto fin

echo.
echo Copie du I386 en cours !
echo ==========================
echo.
echo.
XCOPY %CDROM%\i386\*.* %systemdrive%\i386\ /E /H /Y >NUL
echo.
echo Termine
echo.

:fin
exit

C'est très "agricole", mais suffisant et fonctionnel. Le test du fichier win51ip.SP1 sert à déterminer la lettre du lecteur de CD-Rom. Evidemment, il faut être sur que le fichier existe bien sur le CD que l'on va créer.

Cette recopie est inutile si vous n'indiquez pas au système que ses fichiers sources sont désormais sur le disque dur. Vous le faites par un fichier .reg qui contiendra, entre autres réglages :

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup]
"Installation Sources"="C:\\"
"ServicePackSourcePath"="C:\\"
"SourcePath"="C:\\"