Автор: vovan365
Дата сообщения: 01.02.2007 15:44
Попробую поподробней описать как я делаю плагины.Сразу оговорюсь,
что я в этом деле новичок,о Live CD узнал совсем недавно и все мои
знания основываются на изучении этой темы форума и подобных
ресурсов.Так-что не ленитесь,ищите,изучайте.Кстати многое для меня
прояснилось пролистав help в самом конструкторе от 7sh3.
Вобщем если что не так,пускай гуру этого дела меня поправят.
Для начала "инструмент" которым пользуюсь:
InstallRite-основной для создания "сложных" плагинов
(проги делающие записи в реестр).
ConvRegToInf20-для конвертации reg-файлов экспортируемых
InstallRite.(не забываем про NET.Framework)
WinRAR 3.62-создание самораспаковывающихся SFX-архивов с
необходимым сценарием распаковки.
Resource Hacker-достаю нужные иконки(*.ico) из экзешников для
замены родной в SFX-архиве.
Далее сам процесс создания на примере последнего моего плагина
TranslateIt! 3.8-контекстный англо-русский и русско-английский
словарь-переводчик _http://www.translateit.ru/index.html
Условимься,что прорамма в XPE должна запускаться с ramdiska т.е
B:\,потому что явно будет пытаться write down при смене вней
настроек и т.д..Создаём виртуальный диск B:,как это сделать
7sh3 уже писал повторюсь.На диске C: создаём папку VD_B потом
Пуск\Выполнить вводим команду subst B: C:\\VD_B -всё у нас
появился виртуальный диск B: куда можно установить нашу прогу.
Эти махинации необходимы чтобы потом меньше править *.inf
т.к. в реестре появятся записи со ссылкой на B: ,а не
C:\Program Files\....если ствить по умолчанию.
Далее запускаем InstallRite,настраиваем на сканирование
дисков C: и B: (C:-потому что некоторые программы ставят часть
своих файлов\папок на C:\.... хотя мы пытаемся поставить на другой
диск).Потом InstallRite делает снимок системы перед установкой
программы.Указываем путь к дистрибутиву,ставим,запускаем установленную
программу,обязательно настраиваем, потому что в XPE она запустится
с вашими последними настройками(регистрируем если необходимо),
вырубаем прогу.В InstallRite жмём "Далее"-делается завершаюший
снимок и как результат фиксируются все добавления,изменения на
дисках и в реестре.Смотрим что у нас получилось.В нашем случае
прога установилась вся в одну папку на диске B:\TranslateIt! 3.8.
Достаём Resource Hackerом подходящую иконку из исполняемого файла
(Translateit.exe)
Пакуем папку с прогой WinRARом в SFX-архив,пишем такой
коментарий: overwrite=2
silent=1
path=B:\
setup=TranslateIt! 3.8\Translateit.exe
Не забываем поменять у архива иконку,в результате получем
файл TranslateIt! 3.8.exe(к примеру,называем как хотим) и кидаем
его папку нашего будушего плагина.
Далее создаём inf-файл,а лучше взять готовый от другого плагина
и подкорректировать,убрать лишнее.
Из InstallRite экспортируем добавленные значения разделов реестра
HKEY_LOCAL_MACHINE и HKEY_USERS -файлы .reg,конвертируем их
ConvRegToInf20 и добавляем в наш translateit.inf
В разделе HKEY_LOCAL_MACHINE ничего интересного не оказалось,
только значения на удаление Uninstall-поэтому я их убрал.
В итоге получился такой инф:
Код: ; PE Builder v3 plug-in INF file
; vovan365
[Version]
Signature= "$Windows NT$"
[PEBuilder]
Name="TranslateIt! 3.8"
Enable=1
Help="\"
[WinntDirectories]
a="Programs\TranslateIt! 3.8",2
[SourceDisksFiles]
"TranslateIt! 3.8.exe"=a,,1
[Software.AddReg]
0x2,"Sherpya\XPEinit\QuickLaunch","TranslateIt! 3.8","%SystemDrive%\Programs\TranslateIt! 3.8\TranslateIt! 3.8.exe"
0x2,"Sherpya\XPEinit\Programs","TranslateIt! 3.8","%SystemDrive%\Programs\TranslateIt! 3.8\TranslateIt! 3.8.exe"
[Default.AddReg]
0x3, "Software\Microsoft\Windows\ShellNoRoam\BagMRU\0\2","6",\
50,00,31,00,00,00,00,00,29,36,9d,a3,10,00,54,52,41,4e,53,4c,7e,32,2e,38,00,\
00,36,00,03,00,04,00,ef,be,29,36,95,a3,41,36,2f,3f,14,00,00,00,54,00,72,00,\
61,00,6e,00,73,00,6c,00,61,00,74,00,65,00,49,00,74,00,2d,00,33,00,2e,00,38,\
00,00,00,1a,00,00,00
0x4, "Software\Microsoft\Windows\ShellNoRoam\BagMRU\0\2\6","NodeSlot", 0x00000034
0x3, "Software\Microsoft\Windows\ShellNoRoam\BagMRU\0\2\6","MRUListEx",\
ff,ff,ff,ff
0x1, "Software\Microsoft\Windows\ShellNoRoam\Bags\52\Shell","FolderType","Documents"
0x1, "Software\Microsoft\Windows\ShellNoRoam\MUICache","B:\TranslateIt! 3.8\Translateit.exe","Translateit"