Внутреннее устройство VistaPE
Оглавление
- Общая информация
- Примеры типичных скриптов
- Описание команд и параметров
- Глобальные переменные
- Описание формата vistape.cfg
- Рекомендации по созданию скриптов
Общая информация
Начиная с версии 9 в конструктор VistaPE внесено огромное количество изменений, автоматизированы многие функции и добавлен новый API для скриптов с программами. С каждой новой версией VistaPE средства API расширяются и усовершенствуются, иногда меняются внутренние механизмы работы, но всегда сохраняется работоспособность скриптов написанных ранее. Применение API гарантирует переносимость и работоспособность ваших скриптов во всех версиях VistaPE. Информация в данном разделе актуальна VistaPE v12 beta 2 и более новых версий.
VistaPE API очень мощное, развитое и всестороннее средство призванное облегчить создание типичных скриптов. В некоторых случаях может понадобится использование стандартных команд WinBuilder документация по которым доступна тут. VistaPE поддерживает размещение файлов с программ как в памяти (vistape.wim), так и непосредственно на носители, API поддерживает все возможности и позволяет индивидуально выбирать значения для каждой программы. Существует возможность включения файлов программ непосредственно в скрипты, при этом остается возможность обновления программ без редактирования самих скриптов, также есть возможность копировать уже установленные в систему программы, без специальной интеграции в скрипты, сбор информации о настройках непосредственно из реестра системы и огромное количество других возможностей максимально облегчающих создание своих собственных скриптов и оптимизации системы под конкретные задачи, VistaPE один из наиболее простых и гибких инструментов в этом плане.
Примеры типичных скриптов
Как упоминалось раньше, скрипты могут содержать встроенные программы, копировать файлы из нужных директорий или скачивать программы непосредственно из интернета, здесь небольшие примеры подобных скриптов.
Данный скрипт содержит встроенную программу, может встраиваться в список оболочек, создает ярлыки на рабочем столе, в меню "Пуск" и всегда запускается из памяти (при использовании vistape.wim):
Title=A43 File Management
Author=NightMan
Level=5
Version=011
Description=
Locked=false
Contact=vistape@vistape.net
Date=02.12.2007
Selected=True
Download_Level=1
[Variables]
%ProgramFolder%=A43
%ProgramEXE%=a43.exe
%ProgramTitle%=A43 File Management
[Process]
Echo,Processing %ProgramTitle%...
RunFromRam,True
Unpack,Files,A43.7z,True
Add_Shortcut,StartMenu
Add_Shortcut,Desktop
#
If,%pCheckBox3%,Equal,True,If,%pCheckBox4%,Equal,True,AddToPEShell,%ProgramTitle%,,True
If,%pCheckBox3%,Equal,True,If,%pCheckBox4%,Equal,False,AddToPEShell,%ProgramTitle%
#
[Interface]
pCheckBox3="Add to PE Shell",1,3,10,60,200,18,True
pCheckBox4="Set as default shell in PE Shell",1,3,10,80,200,18,False
[EncodedFolders]
Files
[EncodedFile-Files-a43.7z]
lines=276
Следующий скрипт умеет проверять наличие программы и скачивать, если необходимо:
Title=TotalCommander 7.03
Author=NightMan
Level=3
Version=12
Description=
Locked=false
Contact=vistape@vistape.net
Date=14.05.2008
Selected=True
Download_Level=1
[Variables]
%ProgramFolder%=totalcmd
%ProgramEXE%=totalcmd.exe
%ProgramTitle%=Total Commander
[Process]
If,NotExistFile,"%pFileBox1%\%ProgramEXE%",run,%ScriptFile%,Download
Echo,Processing %ProgramTitle%...
RunFromRam,True
CopyProgram,%pFileBox1%
Add_Shortcut,StartMenu
Add_Shortcut,Desktop
#
If,%pCheckBox3%,Equal,True,If,%pCheckBox4%,Equal,True,AddToPEShell,%ProgramTitle%,,True
If,%pCheckBox3%,Equal,True,If,%pCheckBox4%,Equal,False,AddToPEShell,%ProgramTitle%
If,%pCheckBox5%,Equal,True,Add_Shortcut,StartMenu,QuickLaunch
#
[Download]
Echo,"Downloading TotalCommander"
If,NotExistDir,%pFileBox1%,DirMake,%pFileBox1%
WebGet,"http://fileforum.betanews.com/sendfile/945901171/1/tcmdr703.exe","%pFileBox1%\tcmdr703.exe"
ShellExecute,Hide,#$q%Tools%\7z.exe#$q,"x -y #$q%pFileBox1%\tcmdr703.exe#$q -o#$q%pFileBox1%#$q"
FileDelete,"%pFileBox1%\FILE_ID.DIZ"
FileDelete,"%pFileBox1%\INSTALL.EXE"
FileDelete,"%pFileBox1%\LIESMICH.TXT"
FileDelete,"%pFileBox1%\README.TXT"
FileDelete,"%pFileBox1%\tcmdr703.exe"
ShellExecute,Hide,#$q%Tools%\7z.exe#$q,"x -y #$q%pFileBox1%\INSTALL.CAB#$q -o#$q%pFileBox1%#$q"
FileDelete,"%pFileBox1%\INSTALL.CAB"
DirDelete,"%pFileBox1%\d"
DirDelete,"%pFileBox1%\e"
[Interface]
pCheckBox3="Add to shell list",1,3,10,60,200,18,True
pCheckBox4="Set as default shell",1,3,10,80,200,18,False
pFileBox1=%ScriptDir%\TC,1,13,79,125,207,28,dir
pTextLabel1="Source folder",1,1,10,129,72,18,8,Normal
pTextLabel2="Total Commenter will be downloaded and installed automatically, if executable will not be found in source path.",1,1,10,172,436,40,8,Normal
pCheckBox5="Add QuickLaunch icon",1,3,10,101,200,18,True
Примеры использования API функций можно найти в любом стандартном скрипте.
Описание команд и параметров
Большинство скриптов содержат несколько секций:
- [Main] - описание скрипта, версия, автор, дата создания...
- [Variables] - переменные скрипта с настройками
- [Process] - эта секция выполняется при обработке скрипта конструктором и содержит команды для всех нужных действий
- [Interface] - внешний вид скрипта
- [EncodedFolders] - содержит встроенные в скрипт программы в специальной кодировке
Описание секции [Main]:
- Title - название программы
- Author - автор скрипта
- Level - уровень выполнения - влияет на порядок выполнения скриптов. Для программ всегда рекомендуется использовать только уровень 5
- Version - версия скрипта
- Description - описание программы/скрипта
- Locked - отключение случайного изменения интерфейса скрипта
- Contact - способ связи с автором скрипта
- Date - дата создает текущей версии скрипта
- Selected - выбор скрипта для обработки при выполнении конструктора
- Download_Level - приоритет скачивания скрипта
- 0 - Minimum
- 1 - Recommended
- 2 - Complete
- 3 - Beta
Описание секции [Variables]:
- %ProgramTitle% - название программы
- %ProgramEXE% - главный исполняемый файл, может содержать путь относительно главного каталога с программой
- %ProgramFolder% - название главного каталога с программой, в эту папку будут записаны все файлы программы
Описание команд API (секция [Process]):
- ReadENV - читает настройки VistaPE и дистрибутива из файла %VistaInfo%, после этого создается несколько переменных:
- %DistLang% - язык исходного дистрибутива
- %SDIR% - директория с исходным дистрибутивом
- %SourceType% - тип исходного дистрибутива (Windows Vista DVD или WAIK)
- %WimTools% - утилита для манипуляции WIM файлами (imagex или winutil)
- %SystemFiles% - директория с подключенными системными файлами, зависит от типа дистрибутив
- %IMAGEX% - путь к imagex.exe
- %BuildModel% - модель сборки (normal или vistape.wim)
- %Shell% - оболочка по умолчанию
- %ScreenResolution% - разрешение экрана
- %Locale% - языковые настройки для VistaPE
- %SysType% - разрядность используемой операционной системы (x86 или x64)
- %GrubSkin% - скин для Grub4Dos
- %ForceAllToRam% - принудительно копировать все программы в память (vistape.wim)
- %WAIKDir% - директория с установленным WAIK (если есть)
- Not_Compatible - обеспечивает совместимость между различными проектами в WinBuilder, пример: "Not_Compatible,LiveXP" или "Not_Compatible,VistaPE"
- RunFromRam - запуск текущей программы из памяти (vistape.wim), пример: "RunFromRam,True" или "RunFromRam,%pCheckBox1%"
- Unpack - извлекает программу из текущего скрипта, пример:
"Unpack,Folder,AngelWriter.7z,True" - первый параметр (Folder) - директория с архивом; второй
параметр (AngelWriter.7z) - название архива; третий параметр (в данном случаи "True") используется только при
извлечении самораспаковывающихся архивов (файлы с exe расширением) и используется как
параметр запуска, в остальных случаях игнорируется. Если в одной директории со скриптом
существует папка с названием равным названию папки назначение (%ProgramFolder%) и в ней есть
файл с именем программы (%ProgramEXE%), происходит не извлечение архива из скрипта, а
копирование файлов из этой папки, это сделано для облегчения конфигурации и обновления
программ без внесения непосредственных изменений в скрипт.
Также возможно расширенное применение с указанием директории назначения и исполняемого файла (нужен для проверки распаковки), например:
"unpack,Files,%ProgramArchive%,,%target_win%,System32".
Краткое описание параметров:
"Unpack,[Folder],[Archive zip rar 7z and some exe],[True],[%Target_Prog%],[%ProgramFolder%],[%programExe%]"
Для распаковки архивов используется "7z.exe" последней версии с поддержкой 7z, zip, rar и других распространенных архивов. - CopyProgram - копирует все содержимое исходной директории в папку с программой, пример: "CopyProgram,c:\test" или "CopyProgram,%pFileBox1%". Также вы можете указать директорию назначения и файл для проверки результата копирования, например: "CopyProgram,c:\test,%TargetDir%\Test,test.exe".
- Require_File - копирует файлы из директории "windows\system32", пример: "Require_File,test.dll", файл оказывает в директории "%TargetDir%\windows\system32\"
- RequireSysFile - копирует файлы из дистрибутива, пример: "RequireSysFile,windows\system32\drivers\driver.sys", файл оказывает в директории аналогичной исходной, например "%TargetDir%\windows\system32\drivers\"
- Add_Shortcut - создает ярлык на основной файл программы, пример:
"Add_Shortcut,StartMenu,Office", первый параметр - где размещать ярлык (StartMenu,
Desktop, AutoStart или QuickLaunch; SendTo НЕ поддерживаются), второй параметр - название папки для ярлыка, при размещении на Desktop игнорируется.
Также возможно расширенное применение команды для создания ярлыка к произвольной программе, например: Add_Shortcut,StartMenu,,#$pSystemRoot#$p\System32\%ProgramEXE%,%ProgramTitle%,#$pSystemRoot#$p\System32\AbiWord.
Краткое описание параметров:
Add_Shortcut,[Type],[Folder],[FullFileName],[Title],[Work Folder],[Parameters],[IconFile( .ico .exe)],[StartMode(1, 2, 3, or 4)]
- Type - место расположения ярлыка (StartMenu, Desktop или AutoStart)
- Folder - название папки для ярлыка (для разбивки по категориям)
- FullFileName - полный путь к программе на носители, если используется стандартный путь %ProgramFolder%, необходимо писать "%PE_Programs%\%ProgramFolder%\test.exe", вместо %PE_Programs% автоматически подставляется директория с программами, вместо test.exe необходимо указывать исполняемый файл.
- Title - название программы
- Work Folder - рабочая директория (правила аналогичны FullFileName)
- Parameters - параметры запуска
- IconFile - полный путь к файлу с иконкой для программы (правила аналогичны FullFileName)
- StartMode - режим отображения окна программы
- 1 - нормальное окно
- 2 - свернуть
- 3 - на весь экран
- 4 - спрятать
- AddAutoRun - добавляет программы в автозагрузку, пример: "AddAutoRun,"Test Program","test.exe","/test",1", описание параметров:
- первый параметр - название программы
- второй параметр - исполняемый файл (будет искаться в директории с программой)
- третий параметр - параметры запуска
- четвертый параметр - параметры выполнения программы:
- 1 - программа запускается в нормальном окне, работа системы будет продолжена только после завершение программы
- 2 - программа запускается в нормальном окне, окончание работы программы не ожидается
- 3 - программа запускается в фоновом режиме, работа системы будет продолжена только после завершение программы
- 4 - программа запускается в фоновом режиме, окончание работы программы не ожидается
- AddPostConfig - запускает программу после полной установки драйверов и запуска сети. Запуск программ будет отменен, при пропуске установки драйверов. Данная функция добавлена в VistaPE v12 beta 2. Синтаксис комманды полностью аналогичен "AddAutoRun".
- associate_file - создает ассоциации к файлам, пример: "associate_file,doc" (реестр подключается автоматически)
- hive_load - загружает все файлы реестра, пример: "hive_load,HKU"
- hive_unload - выгружает все файлы реестра, пример: "hive_unload,HKU"
- Add_Asso - создает ассоциации к файлам, пример: "Add_Asso,doc" (реестр автоматически НЕ подключается, за счет этого работает немного быстрее при больших количествах ассоциаций
- reg_add - добавляет записи в реестр (необходимо предварительно подключить), пример: reg_add,0x1,"%reg%\Classes\filetype","test","1"
- CopyDrv - внутренняя команда для облегчения работы со стандартными драйверами, пример: "CopyDrv,acpi.inf_c947c6d1". Добавлена в VistaPE v12 beta 1
- RegAddBoot - во время загрузки VistaPE добавляет настройки в реестр, необходимо для корректировки путей к файлам, синтаксис полностью эквивалентен команде "RegWrite" в WinBuilder, пример: "RegAddBoot,"HKLM",0x1,"SOFTWARE\Classes\expandfile\shell\uniextract\command","","%PE_Programs%\Universal Extractor\uniextract.exe %1"
- AddToPEShell - добавляет программу в список оболочек и настраивает запуск по умолчанию, синтаксис: "AddToPEShell,Program Name,path_to.exe,True" (если последний параметр равен "True" программа будет добавлена как оболочка по умолчанию), пример: "AddToPEShell,%ProgramTitle%"
Примечание: автозапуск происходит в процессе загрузки с использованием программы "VistaPE Loader" и осуществляется после запуска оболочки по умолчанию и до установки всех драйверов и запуска сети.
- pFileBox1 - путь к папке с файлами программы (используется как параметр команды CopyProgram)
- pTextLabel1 - текстовое название для pFileBox1
- pCheckBox1 - настройка размещения программы (используется как параметр команды RunFromRam)
- True (выбрано) - программа копируется в папку "Program Files" и, при использовании "vistape.wim", оказывается в оперативной памяти при загрузки системы. Это сделано для ускорения работы программ и возможности извлечения носителя во время работы VistaPE, но при этом требования к количеству оперативной памяти и время первоначальной загрузки системы возрастают.
- False (не выбрано) - программа копируется в директорию "Programs" и остается на носители. Данный подход сокращает требования к оперативной памяти, но увеличивает время запуска программы и не дает вносить изменения в конфигурационные файлы расположенные непосредственно в папке с программой (последнее актуально только при загрузки с CD/DVD носителей).
Глобальные переменные
- %RegSoftware% (или %HIVE_HKU%) - настройки для программ (%VistaTemp%\windows\system32\config\software).
- %RegSystem% (или %HIVE_HKLM%) - системные настройки (%VistaTemp%\windows\system32\config\system)
- %RegUser% (или %RegDefault%, или %HIVE_HKCU%) - пользовательские настройки (%VistaTemp%\windows\system32\config\default).
- %HIVE_BASE% - корневая ветвь реестра для подключения других кустов.
- %reg_temp% - название директории для подключенного реестра (wb-hive).
- %reg%\ - используется для упрощения работы с реестром (всегда равно %reg_temp%\)
- %VistaInfo% - файл с настройками конструктора, параметрами сборки и дистрибутива (%ProjectDir%\script.project).
- %BootSRC% - точка монтирования vistape.wim (%BaseDir%\BootWimSrc).
- %InstallSRC% - точка монтирования install.wim (%BaseDir%\InstallWimSrc).
- %API% - файл с реализацией API функций (%ProjectDir%\api.script).
- %LocaleScript% - файл с реализацией языковых функций (%ProjectDir%\locale.script).
- %Target_Prog% - директория для размещения программ на носителе, используется при операциях с файлами и создании ярлыков (Programs - по умолчанию программы располагаются непосредственно на носителе).
- %PE_Programs% - полный путь размещения программ на носителе, используется только при создании ярлыков (!CD\Programs - по умолчанию программы располагаются непосредственно на носителе).
- %AutoStartMode% - параметры по умолчанию для окна при автозапуске (1 - программа запускается в нормальном окне и, перед запуском следующей, ожидается ее завершение).
- %AutoStartParameters% - параметры по умолчанию для запуска программ (крайне не рекомендуется здесь что то прописывать).
- %VPE_CFG% - файл с настройками VistaPE (vistape.cfg), в зависемости от настроек распологается в "windows\system32" и корневой директории любого диска.
Описание формата vistape.cfg
Файл vistape.cfg предназначен для хранения всех настроек VistaPE, автозапуска, ярлыков к программам, постконфига и многого другово. Этот файл обрабатывается при помощи "VistaPE Loader" во время загрузки системы. Сначала загружаются настройки из "x:\windows\system32\vistape.cfg", затем файл с настройками ищется на всех доступных дисках. Во время работы VistaPE происходит постоянная проверка появления или исчезновение дисков с программами, новые файлы перечитываются и все ярлыки пересоздаются заново.
Пример:
screen=800x600
defaultshell=BS Explorer
[shortcut]
Archivators|7-zip|%SystemDrive%\Program Files\7-zip\7zfm.exe||
System|BGInfo|%SystemDrive%\Program Files\BGInfo\Bginfo.exe||
Security\WindowsGate|After WindowsGate in Vista|%SystemDrive%\Program Files\WindowsGate\After Wingate in Vista.txt||
Security\WindowsGate|WindowsGate|%SystemDrive%\Program Files\WindowsGate\WindowsGate.exe||
System Information|Unknown Devices|%SystemDrive%\Program Files\UnknownDevices\UnknownDevices.exe||
QuickLaunch|Total Commander|%SystemDrive%\Program Files\totalcmd\totalcmd.exe||
Desktop|Total Commander|%SystemDrive%\Program Files\totalcmd\totalcmd.exe||
|Total Commander|%SystemDrive%\Program Files\totalcmd\totalcmd.exe||
System|Ruslat|%SystemRoot%\System32\ruslat.exe||
QuickLaunch|PENetCfg|%SystemDrive%\Program Files\penetcfg\PENetCfg.exe||
Network|PENetCfg|%SystemDrive%\Program Files\penetcfg\PENetCfg.exe||
Administrative Tools|Disk Management|%SystemRoot%\System32\mmc.exe||/b %SystemRoot%\System32\diskmgmt.msc
Administrative Tools|Computer Management|%SystemRoot%\System32\mmc.exe||/b %SystemRoot%\System32\compmgmt.msc
Network|Map Network Drive|%systemroot%\System32\rundll32.exe|%SystemDrive%\Program Files\Icons\networkhdd.ico|shell32.dll,SHHelpShortcuts_RunDLL Connect
System|Ext3 Installable|X:\Windows\system32\IfsDrives.cpl||
Disk Tools|Disk Partitioner|%SystemDrive%\Program Files\DiskPartitioner\DiskPartitioner.exe||
System|Device Manager|%SystemRoot%\system32\DevMan.exe||
[autorun]
wait|BGInfo|%SystemDrive%\Program Files\BGInfo\runBGinfo.exe
nowait|Ruslat|%SystemRoot%\System32\ruslat.exe
hidewait|IfsDrives|x:\windows\system32\net.exe start "IfsDrives"
hidewait|Ext2fs|x:\windows\system32\net.exe start "Ext2fs"
[registry]
"HKLM",0x1,"SOFTWARE\Classes\Drive\shellex\DragDropHandlers\7-Zip","","{23170F69-40C1-278A-1000-000100020000}"
"HKLM",0x1,"SOFTWARE\Classes\Directory\shellex\DragDropHandlers\7-Zip","","{23170F69-40C1-278A-1000-000100020000}"
"HKLM",0x1,"SOFTWARE\Classes\Directory\shellex\ContextMenuHandlers\7-Zip","","{23170F69-40C1-278A-1000-000100020000}"
"HKLM",0x1,"SOFTWARE\Classes\CLSID\{23170F69-40C1-278A-1000-000100020000}\InprocServer32","ThreadingModel","Apartment"
"HKLM",0x1,"SOFTWARE\Classes\CLSID\{23170F69-40C1-278A-1000-000100020000}\InprocServer32","","%SystemDrive%\Program Files\7-zip\7-zip.dll"
"HKLM",0x1,"SOFTWARE\Classes\CLSID\{23170F69-40C1-278A-1000-000100020000}","","7-Zip Shell Extension"
"HKLM",0x1,"SOFTWARE\Classes\*\shellex\ContextMenuHandlers\7-ZIP","","{23170F69-40C1-278A-1000-000100020000}"
"HKCR",0x1,"Folder\shell\Explore From Here\command","","explorer.exe ""%1"""
"HKCR",0x1,"AllFilesystemObjects\shellex\ContextMenuHandlers\MoveToMenu","","{C2FBB631-2971-11D1-A18C-00C04FD75D13}"
"HKCR",0x1,"AllFilesystemObjects\shellex\ContextMenuHandlers\CopyToMenu","","{C2FBB630-2971-11D1-A18C-00C04FD75D13}"
[association]
zip,%SystemDrive%\Program Files\7-zip\7zfm.exe
z,%SystemDrive%\Program Files\7-zip\7zfm.exe
wim,%SystemDrive%\Program Files\7-zip\7zfm.exe
tpz,%SystemDrive%\Program Files\7-zip\7zfm.exe
tgz,%SystemDrive%\Program Files\7-zip\7zfm.exe
tbz2,%SystemDrive%\Program Files\7-zip\7zfm.exe
tbz,%SystemDrive%\Program Files\7-zip\7zfm.exe
taz,%SystemDrive%\Program Files\7-zip\7zfm.exe
tar,%SystemDrive%\Program Files\7-zip\7zfm.exe
swm,%SystemDrive%\Program Files\7-zip\7zfm.exe
split,%SystemDrive%\Program Files\7-zip\7zfm.exe
rpm,%SystemDrive%\Program Files\7-zip\7zfm.exe
rar,%SystemDrive%\Program Files\7-zip\7zfm.exe
lzh,%SystemDrive%\Program Files\7-zip\7zfm.exe
lha,%SystemDrive%\Program Files\7-zip\7zfm.exe
iso,%SystemDrive%\Program Files\7-zip\7zfm.exe
gzip,%SystemDrive%\Program Files\7-zip\7zfm.exe
gz,%SystemDrive%\Program Files\7-zip\7zfm.exe
deb,%SystemDrive%\Program Files\7-zip\7zfm.exe
cpio,%SystemDrive%\Program Files\7-zip\7zfm.exe
cab,%SystemDrive%\Program Files\7-zip\7zfm.exe
bzip2,%SystemDrive%\Program Files\7-zip\7zfm.exe
bz2,%SystemDrive%\Program Files\7-zip\7zfm.exe
arj,%SystemDrive%\Program Files\7-zip\7zfm.exe
7z,%SystemDrive%\Program Files\7-zip\7zfm.exe
[shells]
Total Commander|totalcmd\totalcmd.exe
Explorer|%SystemDrive%\Windows\explorer.exe
BS Explorer|BSExplorer\Explorer.exe
[postconfig]
hidewait|Virtual Machine Additions Shared Folder Service|x:\windows\system32\net.exe start "Virtual Machine Additions Shared Folder Service"
hidewait|Virtual Machine Additions Services Application|x:\windows\system32\net.exe start "Virtual Machine Additions Services Application"
hidewait|Human Interface Device Access|x:\windows\system32\net.exe start "hidserv"
hidewait|Computer Browser|x:\windows\system32\net.exe start "Browser"
hidewait|User Profile Service|x:\windows\system32\net.exe start "ProfSvc"
hidewait|Server|x:\windows\system32\net.exe start "LanmanServer"
hidewait|DNS Client|x:\windows\system32\net.exe start "Dnscache"
Описание секции [main]:
В данном разделе хранятся основные настройки VistaPE
- screen - разрешение экрана, пример: "800x600"; если значение "optimal", система самостоятельно пытается определить оптимальное значение.
- defaultshell - название оболочки по умолчанию
Описание секции [shells]:
Здесь находится описание настроек всех программ-оболочек (shell). Синтаксис: "Название программы|Путь к программе и параметры запуска", пример: "Explorer|%SystemDrive%\Windows\explorer.exe"
Описание секции [shortcut]:
Описание ярлыков к программам. Синтаксис: "Группа|Название|Программа|Иконка|Параметры", пример: "Network|Map Network Drive|%systemroot%\System32\rundll32.exe|%SystemDrive%\Program Files\Icons\networkhdd.ico|shell32.dll,SHHelpShortcuts_RunDLL Connect". Подробное описание значений:
- группа - название для папки с ярлыками программ а меню "Пуск", если значение "Desktop" (сокращенно "DS") или "QuickLaunch" (сокращенно "QL") ярлыки будет помещены соответственно на рабочий стол или в меню быстрого запуска.
- название - полное название программы.
- программа - путь к программе, полный или относительный, синтаксис описан в примечании к этому разделу.
- иконка - пусть к иконки для ярлыка, необязательный параметр.
- параметры - параметры для запуска программы, могут отсутствовать.
Описание секции [registry]:
Изменение настроек реестра, синтаксис полностью аналогичен команде "RegWrite" в WinBuilder.
Описание секции [association]:
Настройка ассоциаций файлов. Синтаксис "расширение,путь к программе", пример: "7z,%SystemDrive%\Program Files\7-zip\7zfm.exe".
Описание секции [autorun]:
Программы для автозагрузки, запуск происходит сразу же после запуска оболочки по умолчанию и до установки всех драйверов и запуска сети. Пример: "hidewait|Ext2fs|x:\windows\system32\net.exe start "Ext2fs"". Параметр состоит из 3 секций:
- параметр запуска:
- wait - программа запускается в стандартном окне, перед тем как продолжить работу, ожидается ее завершение
- nowait - стандартное окно, завершение не ожидается
- hidewait - запуск в скрытом режиме, ожидание завершение
- hidenowait - запуск в скрытом режиме, завершение не ожидается
- название программы
- путь к программе и параметры запуска
Описание секции [postconfig]:
Здесь находится описание программ которые будут запущены после настройки всех драйверов и запуска сети. Синтаксис полностью аналогичен секции "autorun"
Примечание:
- Прямое редактирование vistape.cfg не рекомендуется, для всего есть соответствующие команды API, что гарантирует полную дальнейшую переносимость и совместимость ваших скриптов.
- Колличество поддерживаемых программ-оболочек (shell) ограниченно 14.
- Путь к любой программе может быть как полным "x:\widows\system32\notepad.exe", так и относительным "totalcmd\totalcmd.exe", а также содержать модификаторы "%SystemDrive%\Program Files\7-zip\7zfm.exe"
- При относительном пути, программа ищется сначала в корневой директории носителя, затем в папке "Programs", затем "Program Files", затем в "x:\Program Files" и в "x:\Programs". При не нахождении программы, работа с ней прекращается.
- Возможные модификаторы пути к программе:
- %CDDrive% - буква диска с программой
- %SystemDrive% - всегда "X:"
- %SystemRoot% - "X:\Windows"
- !S32 - "X:\Windows\System32"
- !PFC - "%CDDrive%\Program Files"
- !PF - "X:\Program Files"
- !PDC - "%CDDrive%\Programs
- !PD - "X:\Programs"
- !CD - %CDDrive%
- !WD - %SystemRoot%
Рекомендации по созданию скриптов
- Проверьте работоспособность программы под VistaPE перед созданием скрипта.
- Всегда, по возможности, используйте API функций.
- Изучите документацию по WinBuilder.
- После создания и тестирования скрипта, рекомендуется поделится своими наработками на форуме VistaPE, тем самым вы внесете огромный вклад в развитие этого проекта, поможете другим в написании скриптов и получете поддержку других пользователей по оптимизации и усовершенствованию Вашего скрипта.


