Accueil  -  ModBoot -  CD de démarrage -  CD MultiBoot - PE Builder -  Scr2Htm

Aide sur les plugins de Bart's PE Builder v3

ce document est encore en construction, mais est mieux que la version originale en anglais ;-)

Page créée le : 6 octobre 2003
Dernière mise à jour : 07 novembre 2003

:: Introduction
:: Contenu d'un plugin
:: Créer un plugin
:: Section PEBuilder
:: Section WinntDirectories
:: Section SourceDisksFiles
:: Section Software.AddReg
:: Section Software.DelReg
:: Section SetupReg.AddReg
:: Section Default.DelReg
:: Section AddLine
:: Section DelLine
:: Section SetValue
:: Remerciements

 Introduction

Ce document devrait vous aider à créer ou modifier les fichiers de plugin de PE Builder, pour ajouter des fonctionnalités. Le fichier .inf principal de PE Builder est pebuilder.inf. Merci de ne PAS éditer ce fichier ! Si vous souhaitez modifier quelque chose, utilisez un fichier de plugin.
Tous les plugins sont situés dans le répertoire plugin. Chaque fichier .inf situé dans le répertoire des plugins (quelque soit le sous répertoire) avec une section "pebuilder" est considéré comme un plugin valide (ce qui permet d'avoir plusieurs plugin dans un même répertoire) pour PE Builder.
Utilisez le bouton activer/désactiver (Enable/Disable) dans le dialogue sur les plugins pour choisir lesquels inclure.

 Contenu d'un plugin

Un fichier de plugin comportera les éléments suivants :
Si vous souhaitez partager vos plugins, et afin de pouvoir les utiliser directement depuis PE Builder, il faut créer une archive compactée au format .CAB.

Suivez les étapes suivantes pour créer un plugin au format .CAB :
  1. Téléchargez makev3.zip modifié le 14 octobre 2002 (59 Ko) et décompactez le dans un répertoire (par exemple, "c:\makev3\")
  2. Copiez les fichiers à utiliser dans le répertoire "c:\makev3\source\nom_plugin".
  3. Ouvrez une fenêtre de commandes, allez dans le répertoire "c:\makev3\", et tapez "make nom_plugin". Normalement, vous devriez trouver votre module compacté et nommé "c:\makev3\cabs\nom_plugin.cab"
  4. Votre fichier de plugin est créé, vous pouvez le partager.

En règle générale, pour un plugin, on créé un répertoire dans "c:\makev3\source\", qui sera le nom du plugin. Dans ce répertoire, on place les différents fichiers (.inf, .htm, .xml, .cmd, ...). On copie éventuellement les autres fichiers dans un répertoire "c:\makev3\source\nom_plugin\files".

 Créer un plugin

Un fichier de plugin .inf doit être au format ASCII, et pas unicode. Les lignes commençant par un ";" (point virgule) sont ignorées (utilisées pour les commentaires).

Tous les plugins devraient commencer par des lignes ressemblant à ceci :
; Fichier de plug-in pour PE Builder v3
; Cree par Bart Lagerweij
; Traduit par Severin TERRIER
; http://severinterrier.free.fr/Boot/
;
; Courte description de ce que fait le plug-in...

[Version]
Signature= "$Windows NT$"

[PEBuilder]
Name="Nom du Plugin"
Enable=0
Help="pehelp.htm"

Ceci est un exemple, vous devez bien évidemment adapter les différentes valeurs.

Attention, vous DEVEZ conserver l'information [Version] Signature= "$Windows NT$". Sinon, les fonctions setupapi ne peuvent pas ouvrir le fichier .inf. Utilisez les informations ci-dessous pour ajouter d'autres sections à votre plugin...

 Section PEBuilder

Si vous créez un plugin, votre fichier .inf doit avoir une section [PEBuilder] !
Cette section doit comporter les champs suivants (il faut conserver les noms anglais) :
Name Le nom du plugin
Enable L'état du plugin (par défaut)
0 - Désactivé
1 - Activé
Help Le nom du fichier d'aide du plugin. Cela peut être un fichier texte, html, doc, pdf ou n'importe quel autre type. PE Builder utilise la fonction ShellExecute() pour ouvrir le document avec le programme associé par défaut. Il vaut toutefois mieux utiliser un fichier html ou texte, pour une portabilité maximale.

 Section WinntDirectories

Sert à créer des répertoires.
Les lignes de cette section doivent avoir le format suivant :
directoryID=dirname[, attribute]

avec ...

directoryID est l'identifiant du répertoire (id)
Dans les fichiers .inf de plugin, vous pouvez utiliser 'a'-'z' pour assigner dynamiquement des nombres...
dirname est le nom du répertoire. Si le nom contient des espaces, il faut mettre des guillemets "autour du nom".
attribute Valeur numérique pour activer/désactiver des options
Valeur :
1 - Toujours créer le répertoire (même si vide)
2 - Créer le répertoire depuis la racine du CD généré (pas dans \i386)
Ajouter les valeurs pour combiner...
La valeur par défaut est 0.

Exemple :
[WinntDirectories]
; Toujours créer un répertoire à la racine nommé "Séverin"
a="Séverin",3
; Toujours créer un répertoire à la racine nommé "Projet\Séverin\Source"
b="Projet\Séverin\Source",3
; Créer un répertoire dans le répertoire i386 nommé "extra\files"
c="extra\files",1

 Section SourceDisksFiles

Sert à copier des fichiers.
Les lignes de cette section doivent avoir le format suivant :
filename=directoryID[, filenameRenamed][, attribute]

avec ...
filename est le nom du fichier à copier.
directoryID est l'identifiant du répertoire de destination. Ces identifiants sont issus de la section [WinntDirectories]. Voir le fichier layout.inf de windows, section [WinntDirectories] pour une liste des identifiants de répertoires standards.
filenameRenamed est le nom du fichier de destination si un renommage est nécessaire.
attribute Valeur numérique pour activer/désactiver des options
Valeur :
1 - utilisé pour pluginCheck(). Soyez sur que le fichier existe dans le même répertoire que celui du fichier .inf, avant d'activer et continuer.
La valeur par défaut est 0.

Exemple :
[SourceDisksFiles]
; Copier le fichier French.dll du répertoire Languages dans le répertoire ayant l'ID b, avec vérification
Languages\French.dll=b,,1

PE Builder utilise des identifiants de répertoire commençant à 30000, avec 30000 utilisé pour le répertoire racine de sortie. 30001 et plus sont utilisés de façon dynamique par PE Builder.

 Section Software.AddReg

Ajouter des clés de registre dans la partie "Software".
Les lignes de cette section doivent avoir le format suivant :
regType, regKey, regValue, regData

avec ...
regType Spécifie le type d'information à stocker comme valeur.
Ce paramètre peut être une des valeurs (voir l'aide de regedit pour plus d'info) suivantes :
0x0, (REG_NONE) crée juste la clé, sans valeur
0x1, (REG_SZ) chaine de caractères
0x2, (REG_EXPAND_SZ) chaine (avec référence à une variable d'environment)
0x3, (REG_BINARY) données binaires brutes.
0x4, (REG_DWORD) nombre 32-bit
0x7, (REG_MULTI_SZ) chaine multiple
* Attention : doit commencer par "0x" (avec x minuscule) !
regKey Spécifie le nom de la clé (comme une chaine de caractères).
regValue Spécifie le nom de la valeur (comme une chaine de caractères).
regData La donnée à placer dans la valeur.

Exemple :
0x1, "Microsoft\Windows NT\CurrentVersion\Fonts", "Tahoma (TrueType)","TAHOMA.TTF"
0x2, "Control Panel\desktop", "WallPaper", "%systemroot%\system32\nu2.bmp"
0x3, "ControlSet001\Control\TimeZoneInformation", "DaylightStart",\
	00,00,04,00,00,01,00,02,00,00,00,00,00,00,00,00
0x4, "ControlSet001\Control\GraphicsDrivers\DCI", "Timeout", 0x7
0x7, "ControlSet001\Services\VgaSave\Device0", "InstalledDisplayDrivers","vga", "framebuf", "vga256", "vga64k"

 Section SetupReg.AddReg

Ajouter des clés dans la partie "SetupReg.hiv" du registre. Même syntaxe que Software.AddReg

 Section Default.AddReg

Ajouter des clés dans la partie "Default" du registre. Même syntaxe que Software.AddReg

 Section Software.DelReg

Supprimer des clés dans la partie "Software" du registre.
Les lignes de cette section doivent avoir le format suivant :
regKey[, regValue]

avec ...
regKey Spécifie le nom de la clé (incluant toutes les valeurs) à supprimer (comme une chaine de caractères).
regValue Spécifie le nom de la valeur à supprimer (comme une chaine de caractères).

 Section Default.DelReg

Supprimer des clés dans la partie "Default" du registre. Même syntaxe que Software.DelReg

 Section AddLine

AddLine[.build]

Les lignes de cette section doivent avoir le format suivant :
Filename,Section,StringToAdd

avec ...
Filename est le nom du fichier dans lequel ajouter une ligne.
Section est le nom de la section.
StringToAdd est la ligne/chaine à ajouter.

Exemple :
"netmscli.inf", "MSClient.DelReg", "HKLM, Software\Microsoft\Rpc\SecurityService, 9"

 Section DelLine

DelLine[.build]

Les lignes de cette section doivent avoir le format suivant :
Filename,Section,StringToDel

avec ...
Filename est le nom du fichier dans lequel supprimer une ligne.
Section est le nom de la section.
StringToDel est la ligne à supprimer. Vous n'avez pas besoin de l'écriture exacte, les lignes commençant par StringToDel seront supprimées.

Exemple :
"netmscli.inf", "MSClient.Browser.AddReg", "HKR, Parameters, MaintainServerList,"

 Section SetValue

SetValue[.build]

Les lignes de cette section doivent avoir le format suivant :
Filename,Section,Key,Value

avec ...
Filename est le nom du fichier dans lequel placer une valeur.
Section est le nom de la section.
Key est la clé à laquelle assigner une valeur.
Value est la valeur.

Exemple :
"netmscli.inf", "Alerter_Service_Inst", "StartType", "3"

Utilisez Filename,Section,Key pour supprimer une clé.
Utilisez Filename,Section pour supprimer une section complète.

 Remerciements

PE Builder a été créé par Bart Lagerweij, c'est lui qui a fait un superbe travail, et la version originale (en anglais) peut être consultée sur le site original de PE Builder. Vous pouvez aussi consulter l'aide originale sur les plugins (en anglais), qui est moins avancée (à la date de rédaction) que mon fichier ;-)

Pour ma part, j'ai effectué une traduction des pages de son site, ainsi que des plugins, pour permettre à un (plus) grand nombre de personnes maitrisant mieux le français que l'anglais d'en profiter.

J'ai (volontairement) omis de traduire les informations très techniques (les gens motivés les liront en anglais).

J'ai parfois réorganisé, modifié ou ajouté certaines informations, soit pour les rendre plus clair ou simple, soit parce qu'elles sont relatives au langage français, ou qu'elles n'existaient pas.

Traduction et modifications par Séverin TERRIER. Tous droits réservés.
Copyright (c) 2002-2003 par Bart Lagerweij. All rights reserved.