BartPEДискиСозданиеУстановкаТвикиНастройкаВосстановлениеИнтересные сайты

Создание ярлыков при помощи shortcutCreator

Утилита shortcutCreator находится в папке plugins\shortcutCreator.

Запустите файл shortcutCreator.exe

Согласитесь с лицензией

Нажмите кнопку Import Plugin и выберите INF файл плагина приложения

В окне Path выберите путь к этому приложению

В окне File to be started выберите файл для запуска этого

В окне Use this for icon выберите файл с иконкой приложения (как правило это файл приложения)

Кнопками (Desktop, Quick Launch Bar, и др.) выберите где вы хотите разместить ярлык

Если приложение должно запускаться при старте XPE, установите Autostart

Нажмите кнопку Create Shortcuts и информация будет добавлена в окнo

Нажмите кнопку Save Plugin и информация будет добавлена в INF файл плагина

Сохраните INF файл плагина под этим же именем

На самом деле, Reatogo проделал просто титаническую работу, популяризуруя Live CD. Как видите, с его конструктором и утилитами очень легко работать.

Самостоятельное создание плагинов

Авто-плагины и готовые плагины - это просто замечательно, и с большой вероятностью вы найдете уже готовый плагин для своего любимого приложения. Ну а что делать если плагина нет, а иметь его хочется? Для приложений не требующих установки вполне можно создать плагин самостоятельно. Я, в свое время, сделал плагин для TotalCommander сам, поскольку на тот момент не существовало таких больших "складов" плагинов.

Для начала в папке plugins я создал папку totalcmd - в ней будет размещаться плагин для TotalCommander. В папке totalcmd создал папку files и скопировал в нее все файлы (включая подпапки) из директории, в которой у меня установлен TotalCommander. Потом открыл текстовый редактор, посмотрел как сделаны другие плагины и написал свой :)

; PE Builder v3 plug-in INF file
; Created by Vadikan

[Version]
Signature= " NT$"

[PEBuilder]
Name="Total Commander v6"
Enable=1

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

[SourceDisksFolders]
files=a,,1

[Software.AddReg]
0x2,"Sherpya\XPEinit\Programs","File Management\Total Commander","%SystemDrive%\Programs\TotalCmd\totalcmd.exe"
; Add to QuickLaunch
;0x2,"Sherpya\XPEinit\QuickLaunch","Total Commander","%SystemDrive%\Programs\TotalCmd\totalcmd.exe"
;Add to Desktop
0x2,"Sherpya\XPEinit\Desktop","Total Commander","%SystemDrive%\Programs\TotalCmd\totalcmd.exe"

Можете сравнить его с плагином от Reatogo, различий на самом деле очень мало. Разберем его по секциям.

[Version]
Signature= "$Windows NT$"

Это стандартное обозначение версии.
[PEBuilder]
Name="Total Commander v6"
Enable=1

Эта секция отвечает за отображение плагина в pebuilder. Name - имя можно дать любое. Enable = 0 (по умолчанию выключен) или 1 (по умолчанию включен).
[WinntDirectories]
a="Programs\totalcmd",2

Определяет расположение директории totalcmd на диске Live CD. Она будет расположена в X:\Programs\
[SourceDisksFolders]
files=a,,1

Исходные файлы, которые будут включены в директорию totalcmd нашего диска. В отличии от Reatogo, указывающего все файлы посредством секции [SourceDisksFiles], я использую секцию [SourceDisksFolders] и указываю путь относительно INF файла. Поскольку папка files, содержащая все файлы TotalCommander, находится в одной папке с INF файлом, то как таковой путь-то и указывать не надо. Все файлы находящиеся в files будут помещены в директорию totalcmd нашего диска.

Секцию [Software.AddReg] я разбирал выше.

Примечание: у меня TotalCommander сконфигурирован таким образом, что файлы настроек wincmd.ini и wcx_ftp.ini находятся в директории программы. Насколько я помню, расположение этих файлов пользователь выбирает при установке и по умолчанию они кладутся в директорию Windows. Это можно поправить при помощи утилиты inireloc. В противном случае, вам нужно будет запускать TotalCommander, указывая путь к этим файлам в параметрах командной строки. Для XPE это делается так:

[Software.AddReg] 0x2,"Sherpya\XPEinit\Programs","File Management\Total Commander","%SystemDrive%\Programs\TotalCmd\totalcmd.exe|/i=%SystemDrive%\Programs\TotalCmd\wincmd.ini f=%SystemDrive%\Programs\TotalCmd\wcx_ftp.ini|%SystemDrive%\Programs\totalcmd\totalcmd.exe"
; Add to QuickLaunch
0x2,"Sherpya\XPEinit\QuickLaunch","Total Commander","%SystemDrive%\Programs\TotalCmd\totalcmd.exe|/i=%SystemDrive%\Programs\TotalCmd\wincmd.ini f=%SystemDrive%\Programs\TotalCmd\wcx_ftp.ini|%SystemDrive%\Programs\totalcmd\totalcmd.exe"
;Add to Desktop
0x2,"Sherpya\XPEinit\Desktop","Total Commander","%SystemDrive%\Programs\TotalCmd\totalcmd.exe|/i=%SystemDrive%\Programs\TotalCmd\wincmd.ini f=%SystemDrive%\Programs\TotalCmd\wcx_ftp.ini|%SystemDrive%\Programs\totalcmd\totalcmd.exe"

Вот и все. По такому образу и подобию можно создавать собственные плагины для приложений, которым не требуются наличие записей реестра. В противном случае надо будет думать как эти записи отслеживать и создавать, но это мы сейчас обсуждать не будем.

Хочу предупредить, что некоторым приложениям требуется писать что-то на диск. Если запускать их с CD, как TotalCommander, то могут быть проблемы с функционированием: при попытке записать файл в свою директорию приложение обнаруживает невозможность записи. Обычно в таких случаях приложения копируют на RAM диск и запускают уже оттуда. Делается это при помощи либо пакетного файла либо SFX архива. RAM диску в XPE по умолчанию соответствует переменная %temp%, так что написать пакетный файл или сконфигурировать SFX нетрудно. Ниже приводится пример пакетного файла, предназначенного для запуска AdAware SE. Файл входит в плагин AdAware, распространящийся вместе с BartPE.

@echo off
rem -------------------------------------------------------------------------
rem adawarese.cmd - Script to start AdawareSE from BartPE
rem Created by Bart Lagerweij. rem ------------------------------------------------------------------------- echo ADAWARE.CMD: Starting...
setlocal
if "%temp%" == "" goto _err
if exist "%temp%\adawarese\ad-aware.exe" goto _run
mkdir "%temp%\adawarese"
echo ADAWARE.CMD: Copying "%~dp0ad-aware.exe" to "%temp%\adawarese\"
copy "%~dp0ad-aware.exe" "%temp%\adawarese\ad-aware.exe"
echo ADAWARE.CMD: Copying "%~dp0defs.ref" to "%temp%\adawarese\"
copy "%~dp0defs.ref" "%temp%\adawarese\defs.ref"
:_run
start %temp%\adawarese\ad-aware.exe
goto _end
:_err
echo.
echo ADAWARE.CMD: No temp variable set...
echo ADAWARE.CMD: Try adding a ramdrive...
echo.
pause.
:_end
endlocal

Пакетный файл проверяет наличие RAM диска (%temp%), и в случае отсутствия предлагает создать его самостоятельно. Если же RAM диск существует, то пакетный файл проверяет не было ли приложение скопировано туда ранее. Если было, то запускает приложение; в противном случае копирует все нужные файлы и затем уже запускает приложение.

Безусловно, это лишь вводная информация о создании плагинов. В помощь создателям плагинов есть различные утилиты, что свидетельствует о серьезности темы.