Формат файлу модуля
Файл модуля PEBuilder
Основним .inf файлом PE Builder являеться файл pebuilder.inf.Даний файл не рекомендується змінювати!
При необхідності внести зміни можливо використовуючи файл модуля.Всі модулі знаходяться каталозі plugin. Кожний .inf файл в каталозі plugin, що містить розділ "PEBuilder" вважається модулем PE Builder.
Використовуйте кнопку Подключить/Откл...
у вікні Модулів для підклучення чи відключення модулів.
Створення модуля
Кодування .inf файлу модуля повинно бути ASCII, а не Unicode. Рядки, що розпочинаються з ";" ігноруються (використовоються для коментарів).
Кожний файл модуля повинен розпочинатися із наступних рядків:
; PE Builder v3 plug-in INF file ; Created by Bart Lagerweij ; http://www.nu2.nu/pebuilder/ ; ; Short description of what the plugin does... [Version] Signature= "$Windows NT$" [PEBuilder] Name="NiceNameOfPlugin" Enable=0 Help="pluginhelp.htm" |
Зверніть увагу, що необхідно вімкнути в файл розділ [Version] із рядком Signature= "$Windows NT$". В іншому випадку .inf файл не буде розпізнаний функцією установки.
Для створення модулів необхідно використовувати наступні команди:
Розділ PEBuilder
При створені .inf файл повинен містити розділ [PEBuilder]!
Name | Назва модуля |
Enable | статус модуля 0 - Відключений |
Help | імя файлу допомоги для модуля. Це може бути текстовий, html, doc, pdf або будь-який інший тип файлу. PE Builder використовує функцію ShellExecute() для відкриття документу згідно асоціації файлу по замовченню. |
Config | імя файлу конфігурації |
Розділ WinntDirectories
Розділ WinntDirectories має наступний формат:
directoryID=dirname[, attribute]
де...
directoryID | ідентифікатор (номер) каталогу В .inf файлі модуля можливо використовувати символи 'a'-'z' для динамічного привласнення номеру... |
dirname | імя каталогу. Якщо в імені каталогу міститься пробіли, їх необхідно заключити його в "подвійні кавички". |
attribute | числове значення для вмикання/вимикання деяких опцій Значення: |
Приклад: [WinntDirectories]
- Завжди створювати теку в кореневому каталозі з іменем "BartPE"
a="BartPE",3
- Створювати теки в кореневому каталозі "Project\BartPE\Source"
b="Project\BartPE\Source",3
- Створювати теки в каталозі i386 з назвою "extra\files"
c="extra\files",1
Список деяких (найбільш використовуваних) ідентифікаторів каталогів:
ID | Каталог | Примітка |
30000 | [кореневий] | Кореневий каталог призначення PE Builder |
1 | \ | Кореневий каталог системи (на CD це каталог \i386, на жорстком диску це каталог \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 використовує ідентифікатори каталогів, що розпочинаються з 30000.
Ідентифікатор 30000 використовується для позначення каталогу призначення,
30001 та вище динамічно використовуються РE Builder.
Розділ SourceDisksFiles
Цей розділ використовується для копіювання файлів.Під час добавлення номеру збірки операційної системи після назви розділу,цей розділ буде використовуватись
тільки в тому випадку, якщо джерело відповідає вказаній збірці.
Збірка | Версія |
---|---|
2600 | Windows XP |
3790 | Server 2003 |
Розділ SourceDisksFiles має наступний формат:
filename=directoryID[, filenameRenamed][, attribute]
де...
filename | імя файлу для копіювання |
directoryID | номер (ідентифікатор) цільового каталогу. |
filenameRenamed | цільове імя файлу, якщо потрібго перейменування. |
attribute | числове значення для вмикання/вимикання деяких опцій значення: |
Приклад:
[WinntDirectories]
- Завжди створювати теку в кореневому каталозі з іменем "BartPE"
a="BartPE",3
- Створювати теки в кореневому каталозі "Project\BartPE\Source"
b="Project\BartPE\Source",3
- Створювати теки в каталозі i386 з назвою "extra\files"
c="extra\files",1
Список деяких (найбільш використовуваних) ідентифікаторів каталогів:
ID | Каталог | Примітка |
30000 | [кореневий] | Кореневий каталог призначення PE Builder |
1 | \ | Кореневий каталог системи (на CD це каталог \i386, на жорстком диску це каталог \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 використовує ідентифікатори каталогів, що розпочинаються з 30000.
Ідентифікатор 30000 використовується для позначення каталогу призначення,
30001 та вище динамічно використовуються РE Builder.
Розділ SourceDisksFiles
Цей розділ використовується для копіювання файлів.Під час добавлення номеру збірки операційної системи після назви розділу,цей розділ буде використовуватись
тільки в тому випадку, якщо джерело відповідає вказаній збірці.
Збірка | Версія |
---|---|
2600 | Windows XP |
3790 | Server 2003 |
Розділ SourceDisksFiles має наступний формат:
filename=directoryID[, filenameRenamed][, attribute]
де...
filename | імя файлу для копіювання |
directoryID | номер (ідентифікатор) цільового каталогу. |
filenameRenamed | цільове імя файлу, якщо потрібго перейменування. |
attribute | числове значення для вмикання/вимикання деяких опцій значення: |
Розділ SourceDisksFolders
Цей розділ використовується для копіювання тек з файлами. При додаванні номеру збірки операційної системи
після назви розділу, цей розділ буде використовуватись тільки в тому випадку, якщо джерело відповідає вказаній збірці.</p>
Розділ SourceDisksFolders має наступний формат:
sourcepath=directoryID
де...
sourcepath | шлях/тека в джерелі для копіювання. Це точна копія, не виконується декомпресій або видобування файлів! |
directoryID | номер (ідентифікато) цільвого каталогу. |
Приклад: [WinntDirectories] a="Programs\openoffice",2 [SourceDisksFolders]
- Коли тека openoffice являється каталогом модуля
openoffice=a [SourceDisksFolders]
- Коли тека openoffice знаходиться в c
c:\openoffice=a
Розділ Software.AddReg
Додавання ключів реєстру в HKEY_LOCAL_MACHINE\SOFTWARE.
Розділ має наступний формат:
regType, regKey, regValue, regData
де...
regType | визначає тип інформації, що буде зберігатись як значення даних.
Цей параметр може мати одне із наступних значень:
|
regKey | визначає назву ключа як рядок |
regValue | визначає назву значення як рядка |
regData | значення |
Приклад:
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
SetupReg.AddReg[.build]
Додавання ключів реєстру в вітку реєстру "SetupReg.hiv" .
Синтаксис відповідає розділу Software.AddReg
Розділ Default.AddReg
Default.AddReg[.build]
Додавання ключів реєстру в HKEY_CURRENT_USER.
Синтаксис відповідає розділу Software.AddReg
Розділ Software.DelReg
Software.DelReg[.build]
Видалення ключів реєстру із вітки реєстру "Software".
Розділ має наступні формат:
regKey[, regValue]
де...
regKey | визначає назву ключа для видалення (включаючи всі значення) як рядок. |
regValue | визначає назву значення для видалення як рядок. |
Розділ Default.DelReg
Default.DelReg[.build]
Видалення ключів реєстру із вітки реєстру "Default".
Синтаксис відповідає розділу Software.DelReg
Розділ AddLine
AddLine[.build]
Додавання рядків в розділ.
Рядки в розділі AddLine мають наступний формат:
Filename,Section,StringToAdd
де...
Filename | імя файлу, в який необхідно додати рядки. |
Section | назва розділу. |
LineToAdd | рядок для додавання розділу. |
Приклад:
"netmscli.inf", "MSClient.DelReg", "HKLM, Software\Microsoft\Rpc\SecurityService, 9"
Розділ DelLine
DelLine[.build]
Видалення рядків із файлу.
Рядки в розділі DelLine мають наступний формат:
Filename,Section,StringToDel
де...
Filename | імя файлу, із якого необхідно видалити рядки. |
Section | назва розділу. |
StringToDel | рядок для видалення. Не вимагається точного співпадання, будь-які рядки, що розпочинаються з "StringToDel" ,будуть видалені. |
Приклад:
"netmscli.inf", "MSClient.Browser.AddReg", "HKR, Parameters, MaintainServerList,"
Розділ SetValue
SetValue[.build]
Записує значення в файл.
Рядки в розділі SetValue мають наступний формат:
Filename,Section,Key,Value
де...
Filename | імя файлу, в який буде виконуватись запис значення. |
Section | назва розділу. |
Key | Ключ,в який буде записуватись значення. |
Value | дані. |
Приклад:
"netmscli.inf", "Alerter_Service_Inst", "StartType", "3"
Використовуйте Filename,Section,Key для видалення ключа
Використовуйте Filename,Section для видалення всього розділу
Розділ Append
Append[.build]
Додає файл до іншого файлу.
Рядки в розділі Append мають наступний формат:
Filename,FilenameToAppend
де...
Filename | імя файлу, в який здійсниться додбавлення даних. |
FilenameToAppend | імя файлу, що містить дані для добавлення. |
Приклад:
nu2menu.xml, penero_nu2menu.xml
Змінні
В більшості рядків файлу модуля можуть використовуватись спеціальні змінні PE-Builder:
Синтаксис: @variable@
де...
змінна | являїться... |
---|---|
Program | Містить програми-складальника (за замовченням PE-Builder) |
Version | Версія програми-складальщика |
IsoFile | Повний шлях та імя файлу ISO-образу |
OutDir | Повний шлях до коталогу призначення |
SourcePath | Повний шлях до коталогу джерела |
PluginDir | Повний шлях до коталогу даного модуля |
PluginFile | Повний шлях та імя файлу даного файлу модуля |
Language | Мова, вибрана в даний час |
Verbose | Інформаційний режим (0 - ввімкнений, 1 - вимкнений) |
Build | Номер збірки Windows (2600 відповідає XP, 3790 відповідає Server 2003) |
Приклад:
[SourceDisksFiles]
program.exe=2,,3
lang\@[email protected]=2,,3
Де lang\@[email protected] буде lang\ukrainian.lng (якщо вибрано українську мову).