Справка PE Builder v3

Содержание

# Формат файла модуля

1. Введение
2. Создание модуля
3. Раздел PEBuilder
4. Раздел WinntDirectories
5. Раздел SourceDisksFiles
6. Раздел SourceDisksFolders
7. Раздел Software.AddReg
8. Раздел Software.DelReg
9. Раздел SetupReg.AddReg
10. Раздел Default.AddReg
11. Раздел Default.DelReg
12. Раздел AddLine
13. Раздел DelLine
14. Раздел SetValue
15. Раздел Append
16. Переменные

## Введение

Этот документ поможет Вам создать или изменить модули для PE Builder. Основным .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 - Отключен 1 - Подключен
Help | имя файла помощи для модуля. Это может быть текстовый, html, doc, pdf или любой другой тип файла. PE Builder использует функцию ShellExecute() для открытия документа согласно ассоциации файла по умолчанию.
Config | имя файла конфигурации

## Раздел WinntDirectories

Раздел WinntDirectories имеет следующий формат:
`directoryID`=dirname[, attribute]
где...

directoryID | идентификатор (номер) каталога В .inf файле модуля можно использовать символы 'a'-'z' для динамического присвоения номера...
dirname | имя каталога. Если в имени каталога есть пробелы, то следует заключить его в "двойные кавычки".
attribute | числовое значение для включения/выключения некоторых опций значение: 1 - Всегда создавать эту папку (даже когда она пуста) 2 - Создавать папку в корневом каталоге (в `\` а не в `\i386`). Для их комбинации надо просто сложить значения... Значение по умолчанию - 0.

Пример:

    [WinntDirectories]
    ; Всегда создавать папку в корневом каталоге с именем "Bart"
    a="Bart",3
    ; Создать папки в корневом каталоге "Project\Bart\Source"
    b="Project\Bart\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 и выше динамически используются PE Builder.

## Раздел SourceDisksFiles

`SourceDisksFiles[.build]`
Этот раздел используется для копирования файлов. При добавлении номера сборки операционной системы после названия раздела, этот раздел будет использоваться только в том случае, если источник соответствует указанной сборке.

Сборка | Версия
--- | ---
2600 | Windows XP
3790 | Server 2003

Раздел SourceDisksFiles имеет следующий формат:
`filename=directoryID[, filenameRenamed][, attribute]`
где...

`filename` | имя файла для копирования
`directoryID` | номер (идентификатор) целевого каталога. Смотри раздел WinntDirectories для перечня стандартных идентификаторов каталогов Windows.
`filenameRenamed` | целевое имя файла, если требуется переименование.
`attribute` | числовое значение для включения/выключения некоторых опций значение: 1 - используется для функции pluginCheck(). Проверяет, существует ли указанный файл в той же папке, где находится .inf файл перед подключением или продолжением работы. 2 - не производить распаковку файла. 4 - копировать файл только в том случае, если он существует. Игнорировать если файл отсутствует. 8 - изменить имя файла в верхний регистр. При создании ISO-образа PE Builder изменяет регистр имен файлов на верхний, что требуется для загрузки с CD. Значение по умолчанию - 0.

## Раздел SourceDisksFolders

`SourceDisksFolders[.build]`
Этот раздел используется для копирования папок с файлами. При добавлении номера сборки операционной системы после названия раздела, этот раздел будет использоваться только в том случае, если источник соответствует указанной сборке.

Раздел SourceDisksFolders имеет следующий формат:
`sourcepath=directoryID`
где...

`sourcepath` | путь/папка в источнике для копирования. Это точная копия, не производится декомпрессии или извлечения файлов!
`directoryID` | номер (идентификатор) целевого каталога. Смотри раздел WinntDirectories для перечня стандартных идентификаторов каталогов Windows.

Пример:

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

    [SourceDisksFolders]
    ; когда папка openoffice является каталогом модуля
    openoffice=a

    [SourceDisksFolders]
    ; когда папка openoffice находится в c:\
    c:\openoffice=a

## Раздел Software.AddReg

`Software.AddReg[.build]`
Добавление ключей реестра в HKEY_LOCAL_MACHINE\SOFTWARE.

Раздел имеет следующий формат:
`regType, regKey, regValue, regData`
где...

regType | определяет тип информации, которая будет храниться как значения данных. Этот параметр может иметь одно из следующих значений: 0x0, (REG_NONE) создать только ключ, значения нет 0x1, (REG_SZ) строка 0x2, (REG_EXPAND_SZ) строка (с указанием переменных среды) 0x3, (REG_BINARY) двоичные данные 0x4, (REG_DWORD) 32-битный номер 0x7, (REG_MULTI_SZ) несколько строк * Примечание: должно начинаться с "0x" (в нижнем регистре)!
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\@language@.lng=2,,3`
Где `lang\@language@.lng` будет являться `lang\german.lng` (если выбран немецкий язык).
Содержание

PE Builder Copyright (c) 2002-2006 Bart Lagerweij. All rights reserved.
Права на программу PE Builder принадлежат (c) 2002-2006 Bart Lagerweij. Все права защищены.