PE Builder hulp

Inhoudsopgave

# Plugin bestands formaat

1. Introductie
2. Een plugin maken
3. PEBuilder section
4. WinntDirectories section
5. SourceDisksFiles section
6. SourceDisksFolders section
7. Software.AddReg section
8. Software.DelReg section
9. SetupReg.AddReg section
10. Default.AddReg section
11. Default.DelReg section
12. AddLine section
13. DelLine section
14. SetValue section
15. Append section
16. Variabelen

## Introductie

Dit document zal je helpen bij het zelf bouwen of wijzigen van PE Builder plugin bestanden. Het hoofd .inf bestand voor PE Builder is `pebuilder.inf` Wijzig dit bestand niet! Als je iets wilt aanpassen maak dan gebruik van een plugin bestand. Alle plugins staan in de `plugin` map. Ieder .inf bestand in de `plugin` map (doet er niet toe in welke map) met een "pebuilder" paragraaf wordt aangenomen als een geldige plugin voor PE Builder. Gebruik de deactiveren/activeren knop in het plugin scherm om plugins aan of uit te schakelen.

## Een plugin maken

Een plugin .inf bestand moet een ascii bestand zijn, geen unicode. Regels die beginnen met een ";" (puntkomma) worden genegeerd (dit is commentaar).
Ieder plugin bestand moet beginnen met de regels zoals hieronder aangegeven:

    ; PE Builder v3 plug-in INF file
    ; Created by Bart Lagerweij
    ; http://www.nu2.nu/pebuilder/
    ;
    ; Korte omschrijving over wat de plugin doet

    [Version]
    Signature= "$Windows NT$"

    [PEBuilder]
    Name="MooieNaamVoorPlugin"
    Enable=0
    Help="pluginhelp.htm"

Letop: het plugin bestand moet de paragraaf `[Version] Signature= "$Windows NT$"` bevatten. Anders kunnen de setup functies van windows (setupapi) het bestand niet openen. Gebruik de informatie hieronder om meer paragrafen aan je plugin toe te voegen...

## PEBuilder paragraaf

Als je een plugin maakt, dan moet je .inf bestand een [PEBuilder] paragraaf hebben!

Name | de naam voor de plugin
Enable | de status (aan of uit) van de plugin 0 - Uitgeschakeld 1 - Ingeschakeld
Help | de bestandsnaam voor de pluginhelp. Dit kan een tekst, html, doc, pdf of ieder ander type bestand zijn. PE Builder gebruikt de ShellExecute() funktie om het document te starten via het standaard geregistreerde bestandstype.
Config | de bestandsnaam voor configuratie.

## WinntDirectories paragraaf

paragraaf WinntDirectories gebruikt het volgende formaat:
`mapNummer`=mapNaam[, attribuut]
waar...

mapNummer | is het map nummer (id) In plugin .inf bestanden kun je 'a' t/m 'z' gebruiken voor het toekennen van dynamische nummers...
mapNaam | is de naam van de map. Als de naam een spatie bevat, gebruik dan dubbele aanhalingstekens "er omheen".
attribuut | nummer waarde voor extra opties waarde: 1 - Map altijd aanmaken (ook al is deze leeg) 2 - Maak de map in de doel map (in `\`, niet in `\i386`). Om te kombineren, waardes bij elkaar optellen... De standaard waarde is 0.

Voorbeeld:

    [WinntDirectories]
    ; Maak een map in de doel map \ genaamd "Bart", ook al is deze leeg, toch aanmaken
    a="Bart",3
    ; Maak een map in de doel map \ genaamd "Project\Bart\Source"
    b="Project\Bart\Source",3
    ; Maak een map in de \i386 map genaamd "extra\files"
    c="extra\files",1

Hier is een lijst met de standaard map nummers:

ID | Directorie | Opmerking
30000 | [root] | PE Builder doel map
1 | \ | SysteemRoot (op de CD is dit de \i386 map, op de vaste schijf is dit de \minint map)
2 | system32
3 | system32\config
4 | system32\drivers
5 | system
17 | system32\drivers\etc
20 | inf
21 | Help
22 | Fonts
24 | msagent\intl
52 | msagent
124 | WinSxS
125 | WinSxS\Manifests
252 | WinSxS\Policies

PE Builder gebruikt map nummers die beginnen vanaf 30000. Nummer 30000 wordt al gebruikt voor de doel map. 30001 en hoger worden intern door PE Builder gebruikt voor het toekennen van dynamische map nummers (a-z).

## SourceDisksFiles paragraaf

`SourceDisksFiles[.bouw]`
Deze paragraaf wordt gebruikt om bestanden te kopieren. Als je een "bouw" (in het engels build) nummer achter de paragraaf plaatst, dat wordt die paragraaf alleen gebruikt als je bron bestanden van datzelfde bouw nummer zijn.

Bouw | Versie
--- | ---
2600 | Windows XP
3790 | Server 2003

De paragraaf SourceDisksFiles gebruikt het volgende formaat:
`bestandsnaam=mapNummer[, bestandsnaamHernoemd][, attribuut]`
waar...

`bestandsnaam` | het bestand voor kopiëren.
`mapNummer` | het doel map nummer. Zie WinntDirectories paragraaf voor een lijst van standaard map nummers.
`bestandsnaamHernoemd` | is het doel bestandsnaam als hernoemen nodig is.
`attribuut` | nummer waarde voor extra opties waarde: 1 - wordt gebruikt voor plugin controle bij activeren van een plugin. Dit zorgt ervoor dat het bestand werkelijk bestaat voordat de plugin wordt geactiveerd. 2 - bestand niet uitpakken. 4 - alleen kopieren als bestand bestaat. Er wordt niet geklaagd als het bestand niet bestaat. De standaard waarde is 0.

## SourceDisksFolders paragraaf

`SourceDisksFolders[.bouw]`
Deze paragraaf wordt gebruikt om complete mappen en bestanden te kopieren. De paragraaf SourceDisksFolders gebruikt het volgende formaat:
`bronPad=mapNummer`
waar...

`bronPad` | is de bron pad/map om vanaf te kopieren. Dit is een exacte kopie, er worden geen bestanden gedecomprimeerd of uitgepakt!
`mapNummer` | het doel map nummer. Zie WinntDirectories paragraaf voor een lijst van standaard map nummers.

Voorbeeld:

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

    [SourceDisksFolders]
    ; als openoffice map in plugin map
    openoffice=a

    [SourceDisksFolders]
    ; als openoffice map staat in c:\
    c:\openoffice=a

## Software.AddReg paragraaf

`Software.AddReg[.bouw]`
Voeg register sleutels toe aan het "Software" register. Deze paragraaf gebruikt het volgende formaat:
`regType, regKey, regValue, regData`
waar...

regType | specificeert het type informatie dat opgeslagen moet worden. Deze parameter kan een van de volgende waardes zijn: 0x0, (REG_NONE) maak alleen de sleutel, geen waarde 0x1, (REG_SZ) zin (string) 0x2, (REG_EXPAND_SZ) zin met omgevings variabelen (string with environment variable references) 0x3, (REG_BINARY) binaire data 0x4, (REG_DWORD) 32-bit nummer 0x7, (REG_MULTI_SZ) meerdere zinnen * Letop: beginnen met "0x" (geen hoofdletter 'x')!
regKey | specificeert de naam van de sleutel (string).
regValue | specificeert de naam van de waarde (string).
regData | De werkelijk data.

Voorbeeld:

    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 paragraaf

`SetupReg.AddReg[.bouw]`
Voeg register sleutels toe aan het "SetupReg.hiv" register. Werkt hetzelfde als Software.AddReg

## Default.AddReg paragraaf

`Default.AddReg[.bouw]`
Voeg register sleutels toe aan het "Default" register. Werkt hetzelfde als Software.AddReg

## Software.DelReg paragraaf

`Software.DelReg[.bouw]`
Verwijder register sleutels van het "Software" register. Deze paragraaf gebruikt het volgende formaat: `regKey[, regValue]`
waar...

regKey | specificeert de naam van de sleutel (inclusief alle waarden) voor verwijderen (string).
regValue | specificeert de naam van de waarde voor verwijderen (string).

## Default.DelReg paragraaf

`Default.DelReg[.bouw]`
Verwijder register sleutels van het "Default" register. Werkt hetzelfde als Software.DelReg

## AddLine paragraaf

`AddLine[.bouw]`
Regels toevoegen aan een paragraaf. De paragraaf AddLine gebruikt het volgende formaat:
`Filename,Section,StringToAdd`
waar...

Filename | het bestand waar de regel moet worden toegevoegd.
Section | de paragraafnaam.
LineToAdd | de regel die moet worden toegevoegd.

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

## DelLine paragraaf

`DelLine[.bouw]`
Verwijder regels van bestand. De paragraaf DelLine gebruikt het volgende formaat:
`Filename,Section,StringToDel`
waar...

Filename | het bestand waar de regel moet worden verwijderd.
Section | de paragraafnaam.
StringToDel | de string die moet worden verwijderd. Je hoeft niet de gehele regel op te geven, elke regel die begint met "StringToDel" wordt verwijderd.

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

## SetValue paragraaf

`SetValue[.bouw]`
Schrijf waarde naar bestand. Deze paragraaf gebruikt het volgende formaat:
`Filename,Section,Key,Value`
waar...

Filename | het bestand waar de waarde moet worden geschreven.
Section | is de paragraafnaam.
Key | de sleutel waar de waarde in moet worden geschreven.
Value | de waarde.

Voorbeeld:
"netmscli.inf", "Alerter_Service_Inst", "StartType", "3"
Gebruik `Filename,Section,Key` om een key te verwijderen.
Gebruik `Filename,Section` om een paragraaf te verwijderen.

## Append paragraaf

`Append[.bouw]`
Voeg gegevens van een bestand toe aan een ander bestand. Deze paragraaf gebruikt het volgende formaat:
`Filename,FilenameToAppend`
waar...

Filename | is het bestand waar de gegevens aan worden toegevoegd (dit bestand veranderd).
FilenameToAppend | is het bestand welke de toe te voegen gegevens bevat.

Voorbeeld:
`nu2menu.xml, penero_nu2menu.xml`

## Variabelen

De meeste string velden in het plugin bestand kunnen speciale PE Builder variabelen bevatten::
Syntax: `@variabel@`
waar...

variabel | wordt omgezet in...
--- | ---
Program | Programma naam (normaal PE Builder)
Version | Programma versie
IsoFile | Volledig pad en bestandsnaam naar ISO-image
OutDir | Volledig pad naar doel map
SourcePath | Volledig pad naar bron map
PluginDir | Volledig pad naar huidige plugin map
PluginFile | Volledig pad naar huidige plugin bestand
Language | De gebruikte taal
Verbose | Uitgebreide meldingen (0 is uit, 1 is aan)
Build | Het windows "bouw" nummer (2600 voor XP, 3790 voor server 2003)

Voorbeeld:
`[SourceDisksFiles]`
`program.exe=2,,3`
`lang\@language@.lng=2,,3`
Waar `lang\@language@.lng` wordt omgezet in `lang\dutch.lng` (als de nederlandse taal is geselecteerd).
Inhoudsopgave

PE Builder Copyright (c) 2002-2006 Bart Lagerweij. All rights reserved.