PE Builder v3 help
Inhaltsübersicht

Plugin Datei-Format


  1. Einführung
  2. Ein Plugin erstellen
  3. PEBuilder Abschnitt
  4. WinntDirectories Abschnitt
  5. SourceDisksFiles Abschnitt
  6. SourceDisksFolders Abschnitt
  7. Software.AddReg Abschnitt
  8. Software.DelReg Abschnitt
  9. SetupReg.AddReg Abschnitt
  10. Default.AddReg Abschnitt
  11. Default.DelReg Abschnitt
  12. AddLine Abschnitt
  13. DelLine Abschnitt
  14. SetValue Abschnitt
  15. Append Abschnitt
  16. Variablen

Einführung

Dieses Dokument soll Ihnen dabei helfen, PE-Builder Plugins zu erstellen oder zu verändern. Die Haupt-.inf-Datei des PE-Builder ist die pebuilder.inf. Diese bitte nicht veräendern! Um etwas verändern, verwenden Sie ein Plugin. Alle Plugins befinden sich im Verzeichnis plugin. Jede .inf-DAtei im Verzeichnis plugin (egal in welchem Unterverzeichnis) mit einem "pebuilder" Abschnitt wird durch den PE-Builder als gütilges Plugin erkannt. Verwenden Sie die Schaltfläche (de)aktivieren im Plugin Fenster um Plugins ein- oder auszuschalten.

Ein Plugin erstellen

Eine plugin-.inf Datei muss im ascii Format vorliegen, nicht in unicode. Zeilen, die mit ";" (semikolon) beginnen werden ignoriert (werden zur Kommmentierung verwendet).

Jedes Plugin file sollte mit den folgenden Zeilen beginnen:

; PE Builder v3 plug-in INF file
; Created by Bart Lagerweij
; http://www.nu2.nu/pebuilder/
;
; Kurzbeschreibung was das Plugin macht .....

[Version]
Signature= "$Windows NT$"

[PEBuilder]
Name="NiceNameOfPlugin"
Enable=0
Help="pluginhelp.htm"
Bitte beachten Sie, dass sie unbedingte die [Version] Signature= "$Windows NT$" Information anfügen. Anderenfalls können die setupapi Functionen die .inf Datei nicht öffnen. Verwenden Sie die folgenden Informationen, um in Ihrem Plugin weitere Abschnitte anzufügen ...

PEBuilder Abschnitt

Wenn Sie ein neues Plugin erstellen, muss Ihre .inf Datei einen [PEBuilder] Abschnitt haben!
NameName für das plugin
EnableStatus des Plugin
0 - deaktiviert
1 - aktiviert
Helpder Dateiname der Hilfedatei des Plugin. Kann text, html, doc, pdf oder auch ein anderes Format haben. PE Builder verwendet die ShellExecute() Function um das Document mit der Standardanwendung zu &oouml;ffnen.
Configder Dateiname der Konfigurationsdatei.

WinntDirectories Abschnitt

Abschnitt WinntDirectories hat das Format:
directoryID=dirname[, attribute]

where...
directoryIDVerzeichnisnummer (id)
In plugin .inf files you can use 'a'-'z' for dynamic number assignment...
dirnameName des Verzeichnisses. Falls dieser Leerzeichen enthält, diesen unbedingt in "Anführungszeichen setzen".
attributenumerischer Wert um verschiedene Optionen zu aktivieren
Wert:
1 - Verzeichnis immer anlegen (auch wenn leer)
2 - Verzeichnis zu Ausgabe im Wurzelverzeichniss (in \ und nicht in \i386) anlegen.
Wert addieren um beides zu kombinieren...
Standardwert ist 0.

Example:
[WinntDirectories]
; Immer ein Verzeichnis im Wurzelpfad "Bart" erstellen
a="Bart",3
; Ein Verzeichnis im Wurzelverzeichnis mit Namen "Project\Bart\Source" erstellen
b="Project\Bart\Source",3
; Ein Verzeichnis im i386 Pfad mit Namen "extra\files" erstellen
c="extra\files",1

Hier ist eine Liste der (häfig verwendeten) Verzeichnis ID's:
IDVerzeichnisBemerkungen
30000[root]PE Builder Ausgabepfad
1\SystemRoot (auf CD das \i386 Verzeichnis, auf der Festplatte \minint)
2system32
3system32\config
4system32\drivers
5system
17system32\drivers\etc
20inf
21Help
22Fonts
24msagent\intl
52msagent
124WinSxS
125WinSxS\Manifests
252WinSxS\Policies

PE Builder Verwendet Verzeichnis-id's beginnend mit 30000. Dabei wird id 30000 als Ausgabeverzeichnis verwendet. 30001 und folgende werden von PE Builder dynamisch verwendet.

SourceDisksFiles Abschnitt

SourceDisksFiles[.build]

Dieser Abschnitt wird zum Kopieren von Dateien verwendet. Wenn Sie eine build Nummmer nach dem Abschnitt anfügen, wird der Abschnitt nur dann verwendet, wenn die Quelle aus diesem build stammt.

BuildVersion
2600Windows XP
3790Server 2003

Der Abschnitt SourceDisksFiles hat folgendes Format:
filename=directoryID[, filenameRenamed][, attribute]

filenamedie zu kopierende Datei.
directoryIDDie Nummer des Zielverzeichnisses. Siehe WinntDirectories Abschnitt mit einer Liste mit ID's von Standard WindowsVerzeichnissen
filenameRenamedder Dateiname des Ziels falls umbennnen erforderlich ist.
attributenumerischer Wert zum (de)aktivieren von Optionen
value:
1 - pluginCheck(). Stellt fest, ob die Datei sich im gleichen Verzeichnis wie die .inf befindet, bevor aktiviert oder verarbeitet wird.
2 - keine Kompression der Dateien.
4 - Datei nur kopieren, wenn vorhanden. Keine Meldung wenn nicht vorhanden.
Standardwert ist 0.

SourceDisksFolders Abschnitt

SourceDisksFolders[.build]

Dieser Abschnitt dient dazu, ganze Verzeichnisse mit Dateien zu kopieren. Der Abschnitt SourceDisksFolders hat das folgende Format:
sourcepath=directoryID

where...
sourcepathQuellpfad aus dem heraus kopiert wird. Exakte Kopie. Kein entpacken oder entkomprimieren!
directoryIDNummer des Zielpfades. Siehe WinntDirectories Abschnitt mit einer Liste von ID's von Windows Standardverzeichnissen.

Beispiel:
[WinntDirectories]
a="Programs\openoffice",2

[SourceDisksFolders]
; ist ein Verzeichnis openoffice im Plugin-Verzeichnis
openoffice=a

[SourceDisksFolders]
; ist das openoffice Verzeichnis auf c:\
c:\openoffice=a

Software.AddReg Abschnitt

Software.AddReg[.build]

Fügt Registrierungsschlüssel in die "Software" Registrierungsadatenbank. Dieser Abschnitt hat folgendes Format:
regType, regKey, regValue, regData


regTypespezifiziert den Typ der Information die als Wert gespeichert werden soll. Dieser Parameter kann einer der folgenden Werte sein:
0x0, (REG_NONE) nur den Schlüssel anlegen, ohne Wert
0x1, (REG_SZ) string
0x2, (REG_EXPAND_SZ) string (mit Umgebungsvariablen-Referenz)
0x3, (REG_BINARY) Binärdaten
0x4, (REG_DWORD) 32-bit Nummer
0x7, (REG_MULTI_SZ) multiple strings
* Note: muss mit "0x" (kleinschreibung) beginnen!
regKeyspezifiziert den Namen des Schlüssels als string.
regValuespezifiziert den Namen des Wertes als string.
regDataDie aktuellen Daten.

Beispiel:
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"

SetupReg.AddReg Abschnitt

SetupReg.AddReg[.build]

Schreibt Registrierungsschlüssel in "SetupReg.hiv" Registrierungs-Hive. Gleicher syntax wie Software.AddReg

Default.AddReg Abschnitt

Default.AddReg[.build]

Schreibt Registrierungsschlüssel in den "Default" Registrierungs-Hive. Gleicher syntax wie Software.AddReg

Software.DelReg Abschnitt

Software.DelReg[.build]

Entfernt Registrierungsschlüssel aus dem "Software"-Registrierungs-Hive. Dieser Abschnitt ist in folgendem Format regKey[, regValue]

regKeyspezifiziert den Namen des Schlüssels (inklusive aller Werte) um ihn als String zu löschen as string.
regValuespezifiziert den Namen des Wertes um ihn als String zu löschen..

Default.DelReg Abschnitt

Default.DelReg[.build]

Entfernt Registrierungsschlüssel aus dem "Software"-Registrierungs-Hive. Gleiche syntax wie Software.DelReg

AddLine Abschnitt

AddLine[.build]

Fügt einem Abschnitt Zeilen hinzu. Zeilen im AddLine Abschnitt haben folgendes Format:
Filename,Abschnitt,StringToAdd

Filenameder Dateiname, dem eine Zeile angefügt werden soll.
Abschnittder Abschnittname.
LineToAdddie anzufügende Zeile.

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

DelLine Abschnitt

DelLine[.build]

Entfernt Zeilen aus einer Datei. Die Zeilen im DelLine Abschnitt haben das Format:
Filename,Abschnitt,StringToDel

Filenameder Dateinamen, dem eine Zeile entfernt werden soll.
Abschnittder Abschnittname.
StringToDeldie Zeile, die entfernt werden soll. Muss nicht exakt angegeben werden, jede Zeile die mit "StringToDel" beginnt wird gelöscht.

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

SetValue Abschnitt

SetValue[.build]

Schreibt einen WErt in die Datei. Die Zeilen im SetValue Abschnitt haben das Format:
Filename,Abschnitt,Key,Value

where...
Filenameist der Dateiname wo ein Wert gesetzt werden soll.
Abschnittder Abschnittname.
Keyist der Schlüssel, dem ein Wert zugeordnet werden soll.
Valueder Wert.

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

Verwenden Sie Filename,Abschnitt,Key um einen Schlüsel zu entfernen
Verwenden Sie Filename,Abschnitt um einen ganzen Abschnitt zu entfernen

Append Abschnitt

Append[.build]

Datei an eine andere Datei anfügen. Die Zeilen im Append Abschnitt haben das Format:
Filename,FilenameToAppend

where...
FilenameDatei an die Daten angehängt werden soll.
FilenameToAppendDatei, welche die Daten enthält, die angehängt werden sollen.

Beispiel:
nu2menu.xml, penero_nu2menu.xml

Variablen

Die meisten strings in einem plugin file können besondere PE-Builder Variablen sein:
Syntax: @variable@

variabledefiniert
ProgramDen Namen des builder (Standardwert: PE-Builder)
VersionDie Version des builder
IsoFileVoller Pfad und Dateiname des ISO Abbildes
OutDirVoller Pfad des Ausgabeverzeichnisses
SourcePathVoller Pfad des Quellverzeichnisses
PluginDirVoller Pfad des aktuellen plugin Verzeichnisses
PluginFileVoller Pfad und Dateiname der aktuellen plugin-Datei
LanguageAktuelle Sprache
Verbose"Verbose" Modus (0 aus, 1 an)
BuildDie Windows build Nummer (2600 bedeutet XP, 3790 bei server 2003)

Beispiel:
[SourceDisksFiles]
program.exe=2,,3
lang\@language@.lng=2,,3

aus lang\@language@.lng wird lang\german.lng (wenn deutsche Sprache ausgewählt ist).

Inhaltübersicht

PE Builder Copyright (c) 2002-2006 Bart Lagerweij. All rights reserved / Alle Rechte vorbehalten.