Документация по BartPE

В этом разделе:

  1. Документация
  2. Руководства пользователя
  3. Статьи посвященные BartPE builder
  4. Плагины

Коротко о BartPE:

        BartPE - Bart`s Preinstallation Environment, создана человеком по имени Bart Lagerweij. Посмотрев на WinPE он задумался насколько сложно будет создать на основе дистрибутива Windows XP/2003 аналогичную среду, не ограниченную лицензионными препятствиями. Как на своем сайте говорит Bart, он никогда бы не взялся за проект, если бы знал сколько времени и сил на него понадобится.
      Так или иначе, именно Bart создал BartPE - среду, которой может воспользоваться любой обладатель [лицензионного] дистрибутива Windows XP/2003. BartPE не попадает под лицензионные ограничения Microsoft и обладает меню (nu2menu), обеспечивающим простой доступ к приложениям и утилитам диска.
      Однако, не только это обеспечило популярность проекта. Главным достоинством BartPE является возможность расширения ее функциональности за счет плагинов. Как результат, многие пользователи BartPE начали делать и публиковать плагины, а также обмениваться идеями по их созданию.

       Попросту говоря, плагин - это один или несколько файлов обеспечивающих функциональность приложения в среде BartPE. Само приложение может и не входить в состав плагина; в таком случае подразумевается, что у пользователя оно есть.
       Пользователь может выбирать какие из имеющихся в наличии плагинов устанавливать используя графический интерфейс программы pebuilder. Эта программа осуществляет сбор нужных файлов, из директорий указанных пользователем и создает загрузочный ISO образ BartPE. Выбранные пользователем приложения включается в состав Live CD на этапе построения ISO образа.

Использование секции [Execute] в BartPE

Данная информация уже включена в расширенную справку.

Семантика оформления секции [Execute]:

<исполняемый файл> , <параметры комстроки через пробел>
Отрабатывает в BartPE Builder 3.xx

Важные замечания:

  • - встроенные переменные BartPE(которые обрамляются в символы "@") не работают
  • - системные переменные окружения работают в параметрах командной строки
  • - абсолютное указание пути для исполняемого файла не сработает
  • - работают модификаторы относительных путей "." и ".." и все их комбинации
  • - при исполнении начальная текущая папка это папка самого BartPE Builder

Примеры вариантов использования:


[Execute]
FILES\my_script1.cmd,my_param1_1 my_param1_2 my_param1_3
FILES\my_script2.cmd,my_param2_1 my_param2_2 my_param2_3

Рабочие варианты
(примеры на базе моего плага "Z Base - optimize project"):

FILES\1_del_files.cmd
.\FILES\1_del_files.cmd
..\Z_OPTIMIZE_PROJECT\FILES\1_del_files.cmd

Примеры ошибочного использования:
C:\BARTPE\PLUGIN\Z_BASE\Z_OPTIMIZE_PROJECT\FILES\1_del_files.cmd
%SystemDrive%:\BARTPE\PLUGIN\Z_BASE\Z_OPTIMIZE_PROJECT\FILES\1_del_files.cmd

Порядок обработки метода Execute:

сразу после копирования файлов по I386\drvindex.inf и получения загрузочного сектора диска. Притом INF-файлы обрабатываются в заданной структорой плагинов очередности и по каждому из них последовательно отрабатываются сразу четыре секции в следующем порядке:

  1. 1 - [DelLine]
  2. 2 - [AddLine]
  3. 3 - [SetValue]
  4. 4 - [Execute]

То есть для двух расположенных в одной папке(чтобы задать порядок отработки) 1.inf и 2.inf, любая из этих четырех секций из файла 1.inf выполниться раньше любой из аналогичных секций из файла 2.inf. Это позволяет изменить содержимое либо самого 2.inf (за исключением модификации включен/выключен - это считывается вообще в самом начале построения проекта) либо модифицировать запускаемые в файле 2.inf через секцию [Execute] обработки.
Пример использования находится в моем конструкторе: связка
PLUGIN\1_BASE\Z_CUSTOM\owner_info.inf
("1 Base - Customize - names, owner and other info")
и PLUGIN\1_BASE\Z_CUSTOM\z_version.inf
("1 Base - Customize - version info")
через скрипт
PLUGIN\1_BASE\Z_CUSTOM\version.cmd
используется для автоматической установки даты сборки в нескольких местах сразу.

Полезняшка:

чтобы получить в тело скрипта имя рабочей папки проекта(она может быть совершенно различна и описывается в корневом файле проекта input.inf) рекомендую использовать такой[ CMD-скрипт:
=====начало кода=====

@ECHO OFF
SETLOCAL
IF NOT EXIST "%CD%\input.inf" (ECHO Не найден файл настройки PEBUILDER-а&EXIT 0)
FOR /F "USEBACKQ TOKENS=1* EOL=; DELIMS== " %%a IN (`TYPE "%CD%\input.inf"`) DO IF /I "%%a"=="FULLOUTDIR" SET "OUTDIR=%%b"
IF "%OUTDIR%"=="" (ECHO Не указана директория для сборки проекта&EXIT 0)
REM Отбрасывание хвостовых пробелов в переменной %OUTDIR%
REM (лидирующие не могут возникнуть в силу обработки FOR с двумя разделителями)
:MM1
SET "LAST_CHAR=%OUTDIR:~-1%"
IF "%LAST_CHAR%"==" " (SET "OUTDIR=%OUTDIR:~0,-1%") & GOTO MM1

REM <а здесь пойдет основное тело скрипта>

ENDLOCAL
EXIT 0
=====конец кода===== 

Расширенная справка PE Builder v3

Справка PE Builder v3


Содержание

Основное окно
Окно модулей (plugins)
Окно параметров
Окно объединения установочных файлов
Поиск установочных файлов Windows

Добавление драйверов
Формат файла модуля
Параметры командной строки
Поддержка


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

Добавление драйверов

Справка PE Builder v3


Содержание

Добавление драйверов

Добавление драйверов устройств хранения данных и сетевых устройств к BartPE является простой задачей. При добавлении драйвера в каталог drivers PE Builder включает их в сборку автоматически.
Драйверы других устройств, за исключением устройств хранения и сетевых, в настоящее время не поддерживаются!

Вам необходимо самостоятельно скопировать нужные драйверы для Windows XP или Windows 2003 в правильный каталог.
Расположение драйверов:

Тип драйвера Расположение
Драйверы устройств хранения данных drivers\SCSIAdapter
Драйверы сетевых устройств drivers\Net

Пример 1:
Предположим, Вы добавляете драйвер сетевого устройства NetXtreme BCM57xx. Драйвер поставляется в виде архива - .zip файла с именем win_xp_2k3_32-7.86.zip. Вы создаете новую папку для этого драйвера с именем "b57xp32" (можно использовать любое имя по Вашему выбору) в каталоге drivers\Net. Извлеките файлы из архива (.zip файла) в эту новую папку. Процесс добавления драйвера завершен.

Каталог drivers должен выглядеть следующим образом:







drivers\Net
drivers\Net\b57xp32
drivers\Net\b57xp32\win_xp_2k3_32
drivers\Net\b57xp32\win_xp_2k3_32\b57win32.cat
drivers\Net\b57xp32\win_xp_2k3_32\b57win32.inf
drivers\Net\b57xp32\win_xp_2k3_32\b57xp32.sys

Драйверы устройств хранения данных добавляются PE Builder с помощью файла txtsetup.oem. Так как файл txtsetup.oem может содержать несколько драйверов, следует отредактировать этот файл и исключить (закомментировать) из раздела [SCSI] те драйверы, которые Вы не хотите использовать.

Пример 2:
Предположим, Вы добавляете драйвер устройства хранения данных от Adaptec, Ultra320. Драйвер поставляется в виде самораспаковывающегося архива (исполняемый файл .exe) с именем u320_fms300s4_win.exe. Вы создаете новую папку для этого драйвера с именем "adpu320" (можно использовать любое имя по Вашему выбору) в каталоге drivers\SCSIAdapter. Извлеките файлы из самораспаковывающегося архива в эту новую папку. Откройте файл drivers\SCSIAdapter\adpu320\TXTSETUP.OEM в текстовом редакторе и найдите раздел [scsi]. Исключите драйвера которые не относятся к Windows XP/2003, например, для Windows NT 4.0 или Windows 2000. Также исключите драйвера которые являются несовместимыми с архитектурой Вашего процессора.

Пример фрагмента файла txtsetup.oem:







...
[scsi]
#a79xxNT40 = "Adaptec Ultra320 SCSI Cards (Win NT 4.0)"
#a79xxNT50 = "Adaptec Ultra320 SCSI Cards (Win 2000)"
a79xxNTIA32 = "Adaptec Ultra320 SCSI Cards (Win XP/Server 2003 IA-32)"
#a79xxNTIA64 = "Adaptec Ultra320 SCSI Cards (Win XP/Server 2003 IA-64)"
#a79xxNTAMD64 = "Adaptec Ultra320 SCSI Cards (Win Server 2003 AMD64)"
...

Обратите внимание, что драйвера для Win NT 4.0, Win 2000, IA-64 и AMD64 исключены знаком комментирования (#).

Так должен выглядеть каталог drivers\SCSIAdapter:







drivers\SCSIAdapter
drivers\SCSIAdapter\adpu320
drivers\SCSIAdapter\Create a folder here and put the storage drivers in it
drivers\SCSIAdapter\adpu320\MAXIO64K.REG
drivers\SCSIAdapter\adpu320\README.TXT
drivers\SCSIAdapter\adpu320\TXTSETUP.OEM
drivers\SCSIAdapter\adpu320\U320DSK1
drivers\SCSIAdapter\adpu320\WIN32BIT
drivers\SCSIAdapter\adpu320\WIN64BIT
drivers\SCSIAdapter\adpu320\WINNT40
drivers\SCSIAdapter\adpu320\WIN32BIT\ADPU320.CAT
drivers\SCSIAdapter\adpu320\WIN32BIT\ADPU320.INF
drivers\SCSIAdapter\adpu320\WIN32BIT\ADPU320.SYS
drivers\SCSIAdapter\adpu320\WIN64BIT\AMD64
drivers\SCSIAdapter\adpu320\WIN64BIT\INTEL64
drivers\SCSIAdapter\adpu320\WIN64BIT\AMD64\ADPU320.CAT
drivers\SCSIAdapter\adpu320\WIN64BIT\AMD64\ADPU320.INF
drivers\SCSIAdapter\adpu320\WIN64BIT\AMD64\ADPU320.SYS
drivers\SCSIAdapter\adpu320\WIN64BIT\INTEL64\ADPU320.CAT
drivers\SCSIAdapter\adpu320\WIN64BIT\INTEL64\ADPU320.INF
drivers\SCSIAdapter\adpu320\WIN64BIT\INTEL64\ADPU320.SYS
drivers\SCSIAdapter\adpu320\WINNT40\ADPU320.SYS
drivers\SCSIAdapter\adpu320\WINNT40\HOTP320.REG
drivers\SCSIAdapter\adpu320\WINNT40\OEMSETUP.INF

Можно удалить папки WINNT40 и WIN64BIT, но это не является обязательным, так как файлы из них не будут скопированы PE Builder.

Содержание


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

Окно модулей (plugins)

Справка PE Builder v3


Содержание

Окно модулей (plugins)

Работа с модулями в этом окне происходит следующим образом: Вы выбираете модуль из списка и с помощью кнопок в нижней части окна выполняете действия над этим модулем.
Можно выбрать несколько пунктов списка одновременно, но это имеет смысл только для команды "Подключить/Отключить". Все остальные кнопки будут обрабатывать только первый выбранный пункт.

Подключить/Откл... Устанавливает и снимает флажок "Подключен" для выбранного пункта (или нескольких выбранных пунктов) из списка модулей.
Настройка Выполняет настройку модуля. Например, для модуля nu2shell можно использовать эту кнопку, чтобы установить защиту паролем при загрузке. Функция этой кнопки для разных модулей будет различаться в зависимости от выбранных создателем модуля параметров настройки.
Обновить Осуществляет повторное считывание всех файлов модулей. Если вы добавили модуль "вручную" (не используя кнопку Добавить) и не видите нового модуля в списке, Вам следует нажать эту кнопку.
Редактировать Открывает основной .inf файл модуля в текстовом редакторе, установленном по умолчанию. Каждый модуль основан на одном (или нескольких) .inf файле (файлах). Например, модуль под названием Boot Fix (Enabling "Press any key to boot from CD") является очень маленьким и простым модулем, который копирует файл bootfix.bin. Смотрите раздел справки Формат файла модуля для получения дополнительной информации о формате .inf файлов.
Добавить Добавляет новый модуль. Для автоматического добавления необходимо выбрать упакованный (.cab) файл дистрибутива модуля и PE Builder извлечет модуль в соответствующую папку. На ]]>сайте PE Builder]]> Вы найдете дополнительные модули и ссылки на них.
Удалить Удаляет модуль. Предупреждение: эта команда удалит все файлы и папки, относящиеся к удаляемому модулю. Например, при удалении модуля "BartPE Installer v2" PE Builder полностью удалит папку plugin\peinst\!
Помощь Открывает дополнительную информацию или файл помощи по выбранному модулю.

Содержание


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

Окно объединения установочных файлов с пакетами обновлений

Справка PE Builder v3


Содержание

Окно объединения установочных файлов с пакетами обновлений





Источник >> Объединить 

Этот диалог помогает произвести объединение установочных файлов Microsoft Windows с последними пакетами обновлений от Microsoft.

Введите месторасположение источника (установочных файлов Windows) (не указывайте каталог i386)!
Если установочные файлы находятся на CD или DVD поставьте галочку для пункта "Источник доступен только для чтения". В этом случае производится копирование всех исходных файлов в каталог назначения и объединение будет выполняться в этом каталоге.

Во время исполнения установки файлов из пакета обновления приложение PE Builder не будет отвечать на запросы пользователя! Просто дождитесь окончания программы обновления...

Содержание


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

Окно параметров

Справка PE Builder v3


Содержание

Окно параметров





Операции >> Параметры 
Язык Выбор языка интерфейса PE Builder. Для смены языкового оформления требуется перезапуск PE Builder, поэтому изменение этого параметра приведет к закрытию программы.
Mkisofs/CDRecord
Метка тома Введите метку тома, которая будет использована при создании ISO-образа (если поле оставить пустым, метка тома по умолчанию будет "BartPE").
Starburn
Проверка данных... При установленной галочке будет происходить проверка записанных на CD/DVD данных после окончания прожига.
Расширенные
Не собирать реестр При установленной галочке не будет выполняться сборка файлов реестра.
Не собирать файлы При установленной галочке не будет выполняться копирование всех файлов, как это происходит в нормальном режиме.
Абсолютный путь к каталогу назначения По умолчанию путь к каталогу назначения является относительным к каталогу установки PE Builder. При установленной галочке Вы можете вводить абсолютный путь к этому каталогу.
Информационный режим Установка галочки в этом поле приведет к тому, что PE Builder будет сообщать больше информации о процессе создания диска. Используйте этот режим для поиска проблем в процессе создания. Большинство дополнительной информации будет выводиться только на английском языке, а не на том, который был выбран пользователем.

Содержание


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

Основное окно программы

Справка PE Builder v3


Содержание

Основное окно программы

Источник (путь к установочным файлам Windows)

Указывает на привод компакт-дисков или на локальный/удаленный каталог содержащий файлы "источника". Источником может являться одна из следующих версий Windows:

  • Windows XP Home Edition (должна быть с пакетом обновлений (Service Pack) 1 или выше)
  • Windows XP Professional (должна быть с пакетом обновлений (Service Pack) 1 или выше)
  • Windows Server 2003, Web Edition
  • Windows Server 2003, Standard Edition
  • Windows Server 2003, Enterprise Edition

Если на Вашем персональном компьютере имеется предустановленная на жесткий диск Windows XP и производитель поставляет CD или DVD диск, использование которого позволяет восстановить систему к первоначальному (заводскому) состоянию, тогда у Вас может не оказаться установочного диска Windows XP.
Однако, существует реальная возможность того, что установочные файлы Windows все же находятся где-то на Вашем жестком диске. Воспользуйтесь поиском установочных файлов Windows помощью команды Найти... из пункта меню Источник.

Дополнительно (включить папки и файлы из этого каталога)

Выберите локальный или удаленный каталог, содержащий любые папки и файлы, которые Вы хотите добавить на создаваемый диск.
Не включайте папку с установленой Windows или любую другу папку, в которой имеются используемые во время создания проекта файлы. Также следует помнить о том, что размер добавляемых папок и файлов не должен превышать емкости диска, на который Вы планируете осуществить запись. Например, при создании загрузочного CD-ROM можно добавить около 300-400 МБ дополнительных данных.
Если Вы не уверены, что следует ввести в данное поле, оставьте его пустым!

Каталог назначения

Введите каталог, в котором PE Builder будет хранить файлы при копировании из различных источников. Обратите внимание, что по умолчанию указываемый путь является относительным к каталогу установки PE Builder.
Если требуется указать абсолютный путь, необходимо установить галочку для параметра "Абсолютный путь к каталогу назначения" в окне Параметры пункта меню Операции.

Записать на носитель

Если Вы укажете "Нет", PE Builder только скопирует файлы в указанный каталог назначения и не предпримет никаких дальнейших действий.
Если Вы хотите записать ISO-образ, необходимо выбрать "Создать ISO-образ" и убедиться в том, что в поле под этим пунктом введено правильное имя файла.
PE Builder может выполнить запись на CD или DVD диск, если Вы выберите "Записать на CD/DVD". При использовании "CD-Record" Вы можете записать только CD (но не DVD). Запись информации на DVD диски поддерживается только при использовании "StarBurn"!
PE Builder использует ]]>mkisofs]]>, автор Joerg Schilling (]]>лицензия GNU-GPL]]>) для создания ISO-образов.
PE Builder использует ]]>cdrecord]]>, автор Joerg Schilling (]]>лицензия GNU-GPL]]>) для записи CD дисков.
PE Builder использует библиотеку ]]>StarBurn SDK]]> от Rocket Division Software для записи CD и DVD дисков.

Содержание


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

Параметры командной строки

Справка PE Builder v3


Содержание

Параметры командной строки

PE Builder поддерживает следующие аргументы командной строки:

-auto Автоматически начинать создание сборки
-exit Автоматически завершить программу по окончанию сборки. Если во время создания произошли ошибки, автоматический выход из PE Builder не происходит!
-overwrite Автоматически переписать каталог назначения (не требует подтверждения)
-verbose Включение информационного режима, PE Builder будет выдавать больше сообщений о процессе создания
-skipregistry Пропустить сборку файлов реестра
-skipfiles Пропустить сборку файлов, удобно при тестировании изменений, затрагивающих только реестр
-buildiso Создать ISO-образ, просто воссоздается ISO-образ из имеющегося каталога назначения (также выполняется запись на CD/DVD, если это требуется)

PE Builder возвращает число ошибок при создании сборки в качестве уровня ошибок (errorlevel).

Если Вы хотите автоматизировать создание BartPE, можно использовать следующий пример:







pebuilder.exe -auto -overwrite -exit
if errorlevel 1 echo *** Something was wrong ***

Содержание


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

Поддержка

Справка PE Builder v3


Содержание

Поддержка

При возникновении проблем или вопросов по PE Builder Вы можете сделать следующее:

  • Убедитесь, что используете последнюю версию программы, зайдите на сайт ]]>http://www.nu2.nu/pebuilder/]]> и проверьте.
  • Прочитайте ]]>веб-страницу PE Builder]]>. Особое внимание обратите ]]>раздел FAQ (часто задаваемые вопросы)]]>.
  • Просмотрите форум: ]]>the CD forum]]>. Найдите и прочтите в форуме разделы посвященные "Windows PE" и "PE Builder", и если Ваша проблема не обсуждается, зарегистрируйтесь на форуме, чтобы задать свой вопрос.
  • Если Ваша проблема/вопрос все же не нашли разрешения, Вы можете написать ]]>автору]]>. Пожалуйста, помните, что программа PE Builder создается мной в "свободное" время. Это время очень ограничено, так как я работаю по 40 часов в неделю. Если у вас проблема с созданием сборки, приложите отчет в "информационном" режиме. Заархивируйте (в .zip) отчет перед отправкой.

Не обращайтесь в Microsoft за поддержкой в отношении предустановленного окружения (BartPE) которое было создано с помощью PE Builder! Microsoft не предоставляет поддержки для PE Builder или для предустановленного окружения (BartPE) созданного с помощью PE Builder.

Пожертвования?

Чтобы поддержать разработку и развитие PE Builder Вы можете пожертвовать любую денежную сумму. Просто перейдите по этой ссылке: ]]>Сделать пожертвование]]>. Если Вы хотите воспользоваться другими способами оплаты, пожалуйста, свяжитесь ]]>с автором]]> по этому вопросу.

Содержание


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

Поиск установочных файлов Windows

Справка PE Builder v3


Содержание

Поиск установочных файлов Windows





Источник >> Найти... 

По этой команде будет произведен поиск установочных файлов Windows на всех дисках (типы дисков: локальные, CD-ROM или съемные) и во всех директориях.
В зависимости от числа файлов в вашей системе это может занять довольно продолжительное время!

Если будет найдено более одного месторасположения с валидными установочными файлами, будет выдан запрос о выборе одного расположения для дальнейшего использования.

Содержание


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

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

Справка 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. Раздел Execute
  17. Переменные

Введение

Этот документ поможет Вам создать или изменить модули для 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

Раздел Execute

Семантика оформления секции [Execute]:

<исполняемый файл> , <параметры комстроки через пробел>
Отрабатывает в BartPE Builder 3.xx

Важные замечания:

  • встроенные переменные BartPE(которые обрамляются в символы "@") не работают
  • системные переменные окружения работают в параметрах командной строки
  • абсолютное указание пути для исполняемого файла не сработает
  • работают модификаторы относительных путей "." и ".." и все их комбинации
  • при исполнении начальная текущая папка это папка самого BartPE Builder

Примеры вариантов использования:


[Execute]
FILES\my_script1.cmd,my_param1_1 my_param1_2 my_param1_3
FILES\my_script2.cmd,my_param2_1 my_param2_2 my_param2_3

Рабочие варианты
(примеры на базе моего плага "Z Base - optimize project"):

FILES\1_del_files.cmd
.\FILES\1_del_files.cmd
..\Z_OPTIMIZE_PROJECT\FILES\1_del_files.cmd

Примеры ошибочного использования:
C:\BARTPE\PLUGIN\Z_BASE\Z_OPTIMIZE_PROJECT\FILES\1_del_files.cmd
%SystemDrive%:\BARTPE\PLUGIN\Z_BASE\Z_OPTIMIZE_PROJECT\FILES\1_del_files.cmd

Порядок обработки метода Execute:

сразу после копирования файлов по I386\drvindex.inf и получения загрузочного сектора диска. Притом INF-файлы обрабатываются в заданной структорой плагинов очередности и по каждому из них последовательно отрабатываются сразу четыре секции в следующем порядке:

  1. [DelLine]
  2. [AddLine]
  3. [SetValue]
  4. [Execute]

То есть для двух расположенных в одной папке(чтобы задать порядок отработки) 1.inf и 2.inf, любая из этих четырех секций из файла 1.inf выполниться раньше любой из аналогичных секций из файла 2.inf. Это позволяет изменить содержимое либо самого 2.inf (за исключением модификации включен/выключен - это считывается вообще в самом начале построения проекта) либо модифицировать запускаемые в файле 2.inf через секцию [Execute] обработки.
Пример использования находится в моем конструкторе: связка
PLUGIN\1_BASE\Z_CUSTOM\owner_info.inf
("1 Base - Customize - names, owner and other info")
и PLUGIN\1_BASE\Z_CUSTOM\z_version.inf
("1 Base - Customize - version info")
через скрипт
PLUGIN\1_BASE\Z_CUSTOM\version.cmd
используется для автоматической установки даты сборки в нескольких местах сразу.

Полезняшка:

чтобы получить в тело скрипта имя рабочей папки проекта(она может быть совершенно различна и описывается в корневом файле проекта input.inf) рекомендую использовать такой CMD-скрипт:
=====начало кода=====

@ECHO OFF
SETLOCAL
IF NOT EXIST "%CD%\input.inf" (ECHO Не найден файл настройки PEBUILDER-а&EXIT 0)
FOR /F "USEBACKQ TOKENS=1* EOL=; DELIMS== " %%a IN (`TYPE "%CD%\input.inf"`) DO IF /I "%%a"=="FULLOUTDIR" SET "OUTDIR=%%b"
IF "%OUTDIR%"=="" (ECHO Не указана директория для сборки проекта&EXIT 0)
REM Отбрасывание хвостовых пробелов в переменной %OUTDIR%
REM (лидирующие не могут возникнуть в силу обработки FOR с двумя разделителями)
:MM1
SET "LAST_CHAR=%OUTDIR:~-1%"
IF "%LAST_CHAR%"==" " (SET "OUTDIR=%OUTDIR:~0,-1%") & GOTO MM1

REM <а здесь пойдет основное тело скрипта>

ENDLOCAL
EXIT 0
=====конец кода=====

Переменные

В большинстве строк файла модуля могут использоваться специальные переменные 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. Все права защищены.
Раздел Execute Copyright (c) 2010 yurkesha