- Introducere
- Crearea unui plugin
- Sectiunea Directoarelor Winnt
- Sectiunea Fisierelor SourceDisks
- Sectiunea Directoarelor SourceDisks
- Sectiunea Software.AddReg
- Sectiunea Software.DelReg
- Sectiunea SetupReg.AddReg
- Sectiunea Default.AddReg
- Sectiunea Default.DelReg
- Sectiunea AddLine
- Sectiunea DelLine
- Sectiunea SetValue
- Sectiunea Append
- Sectiunea PEBuilder
Introducere
Acest document doreste sa va ajute la crearea sau modificarea fisierelor Plugin pentru PE Builder. Fisierul .inf de baza pentru PE Builder este fisierul pebuilder.inf.
Va rog sa nu editati acest fisier ! Daca vreti sa schimbati ceva folositi un fisier Plugin. Toate plugin-urile sunt situate in directorul
Plugin. Fiecare fisier .inf situat in directorul "Plugin" ( nu conteaza in ce director ) cu o sectiune "pebuilder" este considerat un plugin valid pentru PE Builder. Folositi butonul Enable/Disable din dialogul "Plugin" pentru a activa/dezactiva un Plugin ( on/off ).
Crearea unui plugin
Un fisier plugin .inf trebuie sa fie un fisier ascii, nu unicode. Liniile care incep cu ";" ( semicoloana ) sunt ignorate ( se folosesc pentru comentarii ).
Orice fisier plugin trebuie sa inceapa cu liniile de mai jos:
; PE Builder v3 plug-in INF file
; Created by Bart Lagerweij
; http://www.nu2.nu/pebuilder/
;
; Scurta descriere a ceea ce face pluginul...
[Version]
Signature= "$Windows NT$"
[PEBuilder]
Name="Numele Pluginului"
Enable=0
Help="pehelp.htm"
Trebuie sa schimbati numele, url-ul si celelalte setari, acesta este doar un exemplu...
Va rog sa notati ca
trebuie sa includeti informatia
[Version] Signature= "$Windows NT$". Altfel functiile setupapi nu pot deschide fisierul .inf. Va rog sa folositi informatia de mai jos pentru a adauga mai multe sectiuni plugin-ului vostru...
Sectiunea Directoarelor Winnt
Sectiunea Directoarelor Winnt este in urmatorul format:
directoryID=dirname[, attribute]
unde...
directoryID |
este numarul directorului ( id )
In fisierul .inf al plugin-ului puteti folosi un numar de la 'a'-'z' pentru a desemna numerele dinamice... |
dirname |
este numele directorului. daca numele contine spatii, puneti doua ghilimele "la capetele sale". |
attribute |
valoare numerica pentru a activa/dezactiva unele optiuni
valoare:
1 - Intotdeauna creeaza acest director ( chiar gol )
2 - Creeaza dir. din ( output ) root ( nu in \i386 )
Doar adaugati valori pentru a combina...
Valoarea "Default pentru attr este 0. |
Exemplu:
[WinntDirectories]
; Intotdeauna creeaza un director in radacina numita "Bart"
a="Bart",3
; Creeaza un director in radacina numita "Project\Bart\Source"
b="Project\Bart\Source",3
; Creeaza un subdirector in directorul i386 numit "extra\files"
c="extra\files",1
Aceasta este o lista a ID-urilor (celor mai utilizate) directoare:
ID |
Director |
Remarca |
30000
[root] |
Radacina PE Builder output |
1 |
\ |
SystemRoot ( pe CD acesta este directorul \i386, pe hd acesta este directorul \minint ) |
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 foloseste ID-uri de directoare incepand cu 30000. Unde id 30000 este folosit pentru directorul radacina. 30001 si mai sus sunt folosite dinamic de PE Builder.
Sectiunea Fisierelor SourceDisks
SourceDisksFiles[.build]
Sectiunea Fisierelor SourceDisks foloseste urmatorul format:
filename=directoryID[, filenameRenamed][, attribute]
Unde...
filename |
este fisierul de copiat. |
directoryID |
este numarul directorului tinta. Vezi sectiunea Directoarelor Winnt pentru lista ID-urilor standard a directoarelor. |
filenameRenamed |
este fisierul tinta, daca este necesara redenumirea. |
attribute |
valoare numerica pentru a activa/dezactiva unele optiuni.
Valoare:
1 - Folosit pentru pluginCheck(). Asigurati-va ca fisierul exista in acelasi director cu fisierul .inf file, inainte de a activa sau continua.
2 - nu decomprima fisierul.
4 - copiaza fisierul numai daca exista. Nu reclama daca nu exista.
Valoarea "default"a atributului este 0.
|
Sectiunea Fisierelor SourceDisks
SourceDisksFolders[.build]
Sectiunea Fisierelor SourceDisks foloseste urmatorul format:
sourcepath=directoryID
Unde...
sourcepath |
este calea/directorul sursei de unde va copia. Aceasta este o copiere exacta, nimic nu este decomprimat sau extras! |
directoryID |
este numarul directorului tinta. Vezi sectiunea Directoarelor Winnt pentru lista ID-urilor standard a directoarelor. |
Exemplu:
[WinntDirectories]
a="Programs\openoffice",2
[SourceDisksFolders]
; cand directorul openoffice este in directorul pluginului
openoffice=a
[SourceDisksFolders]
; cand directorul openoffice este in c:\
c:\openoffice=a
Sectiunea Software.AddReg
Software.AddReg[.build]
Adauga chei in sectiunea "Software" a Registrilor( hive ). Aceasta sectiune este in urmatorul format:
regType, regKey, regValue, regData
Unde...
regType |
Specifica tipul informatiei ce va fi stocata ca "value’s data". Acest parametru poate avea urmatoarele valori:
0x0, (REG_NONE) Creeaza doar chei, fara valoare
0x1, (REG_SZ) "string"
0x2, (REG_EXPAND_SZ) "string" ( cu referinte environment variable )
0x3, (REG_BINARY) data binara
0x4, (REG_DWORD) numar 32-biti
0x7, (REG_MULTI_SZ) multiple "string"-uri
* Nota: regType trebuie sa inceapa cu "0x" ( x - litera mica ) ! |
regKey |
specifica numele cheii ca "string". |
regValue |
specifica numele valorii ca "string". |
regData |
Data actuala. |
Exemplu:
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"
Sectiunea SetupReg.AddReg
SetupReg.AddReg[.build]
Adauga chei in sectiunea "SetupReg.hiv" a Registrilor( hive ). Aceeasi syntaxa ca
Software.AddReg
Sectiunea Default.AddReg
Default.AddReg[.build]
Adauga chei in sectiunea "Default" a Registrilor( hive ). Aceeasi syntaxa ca
Software.AddReg
Sectiunea Software.DelReg
Software.DelReg[.build]
Sterge chei din sectiunea "Software" a Registrilor( hive ). Aceasta sectiune este in urmatorul format:
regKey[, regValue]
Unde...
regKey |
specifica numele cheii ( incluzand toate valorile ) de sters ca "string". |
regValue |
specifica numele valorii de sters ca "string". |
Sectiunea Default.DelReg
Default.DelReg[.build]
Sterge chei din sectiunea "Default" a Registrilor( hive ). Aceeasi sintaxa ca
Software.DelReg
Sectiunea AddLine
AddLine[.build]
Liniile in sectiunea AddLine au urmatorul format:
Filename,Section,StringToAdd
Unde...
Filename |
este numele fisierului pentru care se va adauga o linie. |
Section |
este numele sectiunii. |
StringToAdd |
este linia/"string"-ul de adaugat. |
Model:
"netmscli.inf", "MSClient.DelReg", "HKLM, Software\Microsoft\Rpc\SecurityService, 9"
Sectiunea DelLine
DelLine[.build]
Liniile in sectiunea DelLine au urmatorul format:
Filename,Section,StringToDel
Unde...
Filename |
este numele fisierului pentru care se va adauga o linie. |
Section |
este numele sectiunii. |
StringToDel |
este linia de sters. Nu trebuie sa se potriveasca exact, orice linie incepand cu StringToDel va fi stearsa. |
Model:
"netmscli.inf", "MSClient.Browser.AddReg", "HKR, Parameters, MaintainServerList,"
Sectiunea SetValue
SetValue[.build]
Liniile in sectiunea SetValue au urmatorul format:
Filename,Section,Key,Value
Unde...
Filename |
este numele fisierului pentru care se va adauga o valoare. |
Section |
este numele sectiunii.. |
Key |
este cheia pentru care se va adauga o valoare. |
Value |
este data. |
Model:
"netmscli.inf", "Alerter_Service_Inst", "StartType", "3"
Folositi
Filename,Section,Key pentru a sterge o cheie.
Folositi
Filename,Section pentru a sterge o intreaga sectiune.
Sectiunea Append
Append[.build]
Liniile in sectiunea Append au urmatorul format:
Filename,FilenameToAppend
Unde...
Filename |
este fisierul in care se vor adauga date. |
FilenameToAppend |
este fisierul care contine datele de adaugat. |
Model:
nu2menu.xml, penero_nu2menu.xml
Sectiunea PEBuilder
Daca vreti sa creati un plugin, fisierul vostru .inf
trebuie sa aiba o sectiune [PEBuilder] !
Aceasta sectiune are urmatoarele campuri:
Name |
numele sau descrierea plugin-ului |
Enable |
starea plugin-ului
0 - Dezactivat ( Disabled )
1 - Activat ( Enabled )
|
Help |
numele fisierului "help" al plugin-ului. Acesta poate fi text, html, doc, pdf sau orice alt tip de fisier. PE Builder foloseste functia ShellExecute() pentru a porni documentul cu asocierea sa "default". |