Exécuter des commandes

Tout au long du dossier, nous utilisons la méthode la plus basique pour installer des programmes et exécuter des commandes, à savoir l'utilisation d'un batch. Cependant, il existe d'autres méthodes, parfois plus esthétiques. Nous détaillerons ici les principales. Les commandes peuvent être exécutées soit pendant l'installation de Windows, soit au premier démarrage de Windows. On peut également utiliser des programmes tiers pour améliorer l'esthétique ou laisser le choix lors de l'installation.

Note : T-39, T-13, T-12 et T-9 sont les phases correspondant au nombre de minutes restantes durant l'installation de Windows.

1. Le batch (.bat ou .cmd)
2. Pendant l'installation de Windows

2.1. DetachedProgram (T-39)
2.2. SVCPACK.INF (T-13)
2.3. cmdlines.txt (T-12)
2.4. SetupParams (T-9)

3. Au premier démarrage de Windows

3.1. GuiRunOnce
3.2. RunOnceEx

4. Programmes tiers

4.1. ProInstall
4.2. Windows Post-Install Wizard
4.3. XPlode

 

1. Le batch (.bat ou .cmd) :


Le batch est la technique par défaut utilisée dans tout le dossier. Voici la structure pour l'installation d'un programme :

@echo off
echo Votre Programme ...
start /wait %systemdrive%\applications\votreprogramme.exe /switch
echo.


@echo off
est placé en tête du batch pour empêcher l'affichage des commandes.

Pour que le batch soit exécuté, il faudra l'indiquer soit à cmdlines.txt, soit à GuiRunOnce.

Dans le cas d'un lancement à partir de cmdlines.txt, le batch doit être placé dans le même dossier que celui-ci, à savoir "...\$OEM$\".

Dans le cas d'un lancement à partir de GuiRunOnce, le batch devra être copié sur le disque dur (placez-le donc dans "...\$OEM$\$1\applications\" par exemple) et exécuté comme toute application.

 

2. Pendant l'installation de Windows :

2.1. DetachedProgram (T-39) :



DetachedProgram est une ligne de la section [GuiUnattended] du fichier de réponse (unattend.txt et winnt.sif). Elle sera exécutée à T-39, soit avant même que les pilotes soient installés. De nombreux utilisateurs utilisent ceci pour extraire un pack de pilotes (pour économiser de la place sur le CD).

DetachedProgram="%systemdrive%\applications\drivers.bat"

 

2.2. SVCPACK.INF (T-13) :



Le fichier SVCPACK.INF va vous permettre d'intégrer tous les correctifs, y compris ceux qui refusent de s'intégrer avec la méthode expliquée au chapitre 4 (Ajout des correctifs).

Tous les correctifs à intégrer doivent être placés dans "...\I386\SVCPACK\" et renommés au format 8.3 (pas plus de 8 caractères). Par exemple, WindowsXP-KB867282-x86-FRA.exe deviendrait KB867282.exe.

Ensuite, créez un fichier SVCPACK.INF dans "...\I386\" contenant les lignes suivantes :

;Windows XP
[Version]
Signature="$Windows NT$"
MajorVersion=5
MinorVersion=1
BuildNumber=2600

[SetupData]
CatalogSubDir="\i386\SVCPACK"

[ProductCatalogsToInstall]

[SetupHotfixesToRun]

Dans la section SetupHotfixesToRun, ajoutez le nom des correctifs à intégrer suivi de leur switch, par ordre numérique. Par exemple:

[SetupHotfixesToRun]
KB834707.exe /Q /O /N /Z
KB867282.exe /Q /O /N /Z
KB873333.exe /Q /O /N /Z
KB873339.exe /Q /O /N /Z
...
qchain.exe

Ouvrez ensuite le fichier DOSNET.INF et ajoutez la section suivante (où vous voulez) :

[OptionalSrcDirs]
SVCPACK

Téléchargez le fichier Télécharger Q815062_W2K_spl_X86_EN.exe, décompressez-le et récupérez qchain.exe que vous placez dans le dossier "...\I386\SVCPACK\", il sera lancé par la dernière ligne de la section [SetupHotfixesToRun] de SVCPACK.INF.
Il permet de faire en sorte que les correctifs soient installés par ordre chronologique, car plusieurs correctifs peuvent contenir le même fichier exe/dll avec un numéro de version différent.

Attention! N'oubliez pas de supprimer SVCPACK.IN_ pour que SVCPACK.INF puisse être lancé.

Note : vous pouvez si vous le souhaitez décompresser (expand) et recompresser (makecab) le fichier SVCPACK.IN_ existant au lieu d'en créer un nouveau.

 

2.3. cmdlines.txt (T-12) :


cmdlines.txt est un fichier à placer dans "...\$OEM$\". Il permet d'exécuter des commandes (de manière très limitée) à T-12. Il est généralement utilisé pour exécuter des batch ou fichiers registre (situés dans le même dossier de préférence). La première ligne doit obligatoirement être [Commands]. Exemple :

[Commands]
"applications.bat"
"regedit /s regmodif.reg"

Plus d'infos sur cmdlines.txt (en anglais) sur MSFN.

 


2.4. SetupParams
(T-9) :


SetupParams est une section du fichier de réponse (unattend.txt et winnt.sif) qui va vous permettre d'exécuter des commandes à T-9, ce qui peut être utile pour effectuer un nettoyage ou exécuter des commandes plus loin dans l'installation. Elle se présente sous cette forme :

[SetupParams]
UserExecute = "%systemdrive%\applications\nettoyage.bat"

 

3. Au premier démarrage de Windows :

3.1. GuiRunOnce :



GuiRunOnce
est une section du fichier de réponse (unattend.txt et winnt.sif) qui va vous permettre d'exécuter des commandes au premier démarrage de Windows. Elle se présente sous cette forme :

[GuiRunOnce]
"%systemdrive%\applications\votreprogramme1.exe /switch"
"%systemdrive%\applications\votreprogramme2.exe /switch"
...

 

3.2. RunOnceEx :



RunOnceEx
est exécuté après GuiRunOnce. Tout comme celui-ci, il exécute les commandes au premier démarrage de Windows, mais il permet d'ajouter une interface comme celle-ci :

Installation d'applications...

Attention ! si vous avez intégré Internet Explorer 7 (avec nLite par exemple), RunOnceEx ne fonctionnera pas !

Pour cette méthode, nous n'utiliserons pas le fichier de réponse contrairement à GuiRunOnce.
Il faut importer au registre des clés contenant les commandes d'installation des programmes. Pour cela nous utiliserons un batch (on ne peux pas utiliser de *.reg car ils ne supportent pas les variables d'environnement). Voici à quoi devra ressembler votre batch (vous pouvez très bien en utiliser un existant) :

@echo off

SET KEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx

REG ADD %KEY% /V TITLE /D "Installation d'applications..." /f

REG ADD %KEY%\001 /VE /D "Votre Programme 1" /f
REG ADD %KEY%\001 /V 1 /D "%systemdrive%\applications\programme1.exe /switch" /f

REG ADD %KEY%\002 /VE /D "Votre Programme 2" /f
REG ADD %KEY%\002 /V 1 /D "%systemdrive%\applications\programme2.exe /switch" /f
REG ADD %KEY%\002 /V 2 /D "Deuxième commande à exécuter (facultatif)" /f
...


Explications :

  • SET KEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx définit la variable %KEY% comme étant HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx.
  • REG ADD permet d'ajouter une clé au registre.
  • %KEY%\00X correspond à la clé a créer (une clé par programme). X correspond au numéro du programme (l'installation se fera dans l'ordre).
  • /D "valeur" attribue une valeur à la clé définie juste avant.
  • /f force l'écrasement si la clé existe déjà.

N'oubliez pas d'exécuter le batch à l'aide de cmdlines.txt.

 

4. Programmes tiers :

4.1. ProInstall :


ProInstall est à la base un logiciel qui permet de lancer des applications l'une après l'autre. Il a été créé dans le but de remplacer nos fichiers batchs qui installent des applications.

Abréviation du Professional Installation, Proinstall a évolué depuis la version 1. Arrivée à sa quatrième évolution, la v2 a été entièrement renouvelée tout aussi bien visuellement que techniquement.

Création des groupes, possibilité de créer plusieurs labels, barres de progressions, images, MP3, association des applications, thème moderne, meilleure gestion des propriétés des composants ainsi que des applications, deux fichiers distincts dont l'un est pour la construction et l'autre pour l'exécution du fichier proinstall, splash screen, personnalisation au maximum de l'installateur et d'autres améliorations et modifications sont les principales évolutions de cette version 2.

 

4.2. Windows Post-Install Wizard :


Windows Post-Install Wizard (WPI) est un utilitaire en HTML/JavaScript visant à donner le choix aux utilisateurs. Alors que Windows offre de nombreuses options de configuration pendant l'installation, l'inconvénient majeur est l'impossibilité pour les utilisateurs de choisir quelles applications ils désirent installer. Dans le passé, les utilisateurs et administrateurs devaient soit télécharger les fichiers à la main, soit créer des scripts complexes qui ne pouvaient être utilisés qu'une seule fois.

WPI vous permet de créer une liste de programmes personnalisable, de telle sorte que les utilisateurs puissent installer n'importe quel programme. WPI fonctionne sur toutes les versions actuelles de Windows (et peut fonctionner sur les versions plus anciennes avec quelques modifications).

 

4.3. XPlode :


XPlode est un outil qui permet d'installer des programmes de manière silencieuse, de modifier le registre, de créer des utilisateurs et d'effectuer toutes sortes d'opérations pendant une installation de Windows 2000/XP/2003. Il utilise un script XML et un plugin d'architecture. Vous pouvez modifier ses actions, sa manière de fonctionner et y insérer les commandes que vous souhaitez.

  • Téléchargement
  • Tutoriel complet dans le fichier docs.pdf contenu dans l'installeur (en anglais).