Теплый Снег
05-12-2005, 08:20
Как вшить программу в дистрибутив Windows XP
(перевод статьи + небольшая отсебятина «How To Create New ProgramAddons» (http://www.ryanvm.net/forum/viewtopic.php?t=641))
Доброго времени дня. Сегодня хочу вам рассказать о том , как сделать пакет с любимой вам программой и внедрить (интегрировать) его в дистрибутив собранной вами Автоматической установки Windows XP.Процесс этот несложный и не требующий каких –либо дополнительных умственных затрат. Итак поехали.
Полагаю у вас могут возникнуть вопрос по поводу того , для чего нужно вшивать программу в дистрибутив и лишить пользователя возможности выбора программы для установки. Отвечу так – что многие (или даже подавляющее большинство) делает Unattended XP исключительно под себя .Я тоже не исключение. И по мне, намного удобнее вшить в дистрибутив те программы которые мне необходимы, чем делать после дополнительные мышедвижения и возиться с постинсталлерами (такой уж я ленивый человек). Да и к тому же все жизненно важные программы и утилиты , такие как – антивирус , архиватор , антиспай и другие просто необходимо внедрять и устанавливать насильно … Надеюсь убедил .Хотя забыл еще один момент – это просто интересно и научиться этому несложно , так зачем же лишать себя такой возможности.
Шаг первый
Для начала нужно собрать SFX архив .О том как это сделать подробно описывалось в статье «Создание SFX архива» (которую можно найти в Учебнике Автоматической установки – скачать можно здесь (http://soft.oszone.net/program.php?pid=30) или же найти ее на сайте unattended.oszone.net).Большое количество ключей для «тихой установки» приложений можно найти здесь (http://www.msfn.org/board/index.php?showforum=80) на английском языке или поискать на форуме OsZone (http://forum.oszone.net/forumdisplay.php?f=32).
Шаг второй
Дальше создайте папку с любым именем. Внутри этой папки создайте еще одну под именем SVCPACK и поместите свой перепакованный инсталляционный пакет туда. Потом создайте в любом текстовом редакторе ini файл и сохраните его под именем ENTRIES_PROGRAMNAME.INI ,но не помещайте (ВАЖНО!!!) его в папку SVCPACK. Вместо PROGRAMNAME укажите название перепакованной программы (например ENTRIES_OPERA.INI ). Откройте созданный ini-файл и добавьте туда секции: [general] , [EditFile] и [AddProgram] .Пример заполнения ini-файла смотрите ниже.
[general]
builddate=12/01/2005
; дата выпуска (релиза) программы
description=Program description
;Описание программы
language=English
;язык интерфейса (насколько я понял)
title=Program
;название программы
version=1.0
; версия программы
website=http://www.programwebsite.com/
; вэб- сайт программы
[EditFile]
I386\SVCPACK.INF,SetupHotfixesToRun,AddProgram
;эту секцию оставьте без изменения
[AddProgram]
PROGRAM.EXE
;имя(название) перепакованного пакета , которой вы поместили в папку SVCPACK
Шаг последний
Итак у вас есть папка SVCPACK, в которую вы поместили перепакованный «тихий инсталл» и ini-файл ENTRIES_PROGRAMNAME.INI , он должен находиться вне папки SVCPACK . Теперь осталось только собрать все эти файлы в один CAB- файл. Сделать это можно командой makecab или любой программой умеющей сжимать файлы в CAB архив (например picozip или power archiver ) Я пользовался двумя способами командой makecab – правда пришлось попотеть и почитать (здесь (http://download.microsoft.com/download/platformsdk/cab/2.0/w98nt42kmexp/en-us/Cabsdk.exe) ) .И второй способ – это плагин для TotalCommandera (забирать здесь (http://total.altruistic.ru/pp.php) )
У кого нет желания читать. Тогда повторяйте за мной. В папку с вашими заготовками поместите еще один файл (под любым коротким именем – cabm.txt) Содержание этого файла ниже :
1.С комментариями (ВАЖНО!!!) – не копируйте этот листинг , при запуске команды на исполнение получите море ошибок. Приведен только для ознакомления.
.Set Cabinet=on (включить режим сжатия всех файлов в один кабинет);
.Set Compress=on (включить сжатие);
.Set CompressionType=MSZIP (сжатие по алгоритму ZIP);
.Set CompressionLevel=7 (максимальный уровень сжатия);
.Set CabinetNameTemplate="My.CAB" (маска имени полученного файла);
.Set DiskDirectoryTemplate=".." (положить в каталог на уровень выше папки);
Далее идут абсолютные пути файлов для архивирования.
E:\Trash\CABFILES\SVCPACK\abiword.exe
E:\Trash\CABFILES\ENTRIES_ABIWORD.ini
2.Этот листинг можно скопировать. Здесь нужно исправить значение параметра .Set CabinetNameTemplate="My.CAB" если хотите получить название CAB файла .А также заменить абсолютные пути к файлам для архивирования.
.Set Cabinet=on;
.Set Compress=on;
.Set CompressionType=MSZIP;
.Set CompressionLevel=7;
.Set CabinetNameTemplate="ABICAB.CAB";
.Set DiskDirectoryTemplate="..";
E:\Trash\CABFILES\SVCPACK\abiword.exe
E:\Trash\CABFILES\ENTRIES_ABIWORD.ini
Остается только в командной строке набрать makecab /f cabm.txt и понаблюдать за таким вот окошком.
http://kpnemo.ru/media/images/makecab_t.png
И на выходе получается ABICAB.CAB.
Или же в TotalCommandere выделяем наши файлы ,нажимаем F5 выскакивает такой диалог
http://kpnemo.ru/media/images/CAB1.png
Жмем Enter и выбираем указанный на рисунке ключ в выпадающем списке второго диалога
http://kpnemo.ru/media/images/CAB2.png
И жмем Enter повторно. Возможно вылетит еще такое окошко
http://kpnemo.ru/media/images/CAB3.png
На него тоже отвечаем Enter-ом
Интеграция в дистрибутив полученного CAB файла осуществляется либо NLite (http://www.nliteos.com/)
http://kpnemo.ru/media/images/CAB4.png
Потом добавляем CAB файл
http://kpnemo.ru/media/images/CAB5.png
И ждем. Или же RVM Integrator – ом (http://www.whatcounter.com/dlcount.php?id=RyanVM&url=files/RVM_Integrator_1.0.5.7z)
http://kpnemo.ru/media/images/CAB6.png
Здесь вам нужно в первой строке указать путь к дистрибутиву ХР и в последнем свой CAB – файл. Если вы все проделали правильно , то файл из вашего перепакованного дистрибутива (у меня abiword.exe) должен быть в папке путь к вашему дистрибутиву ХР\I386\SVCPACK\ABIWORD.EXE. И еще в файле SVPACK.INF , который вы также найдете в папке I386 вашего дистрибутива (правда там он будет под другим именем SVPACK.IN_ , и для его просмотра его надо будет распаковать командой EXTRACT SVPACK.IN_) , в секции [SetupHotfixesToRun] вы должны увидеть строку с именем вашего перепакованного инсталла (у меня это abiword.exe /S) .
Дополнение от 07/12/2005
Учитывая ваши многочисленные письма по поводу того что использование команды makecab и других отмеченных в статье архиваторных плагинов не всегда приводит к желаемому результату. Представляю вашему вниманию еще одну программу являющуюся GUI оболочкой к утилите makecab. Называется она CabPack и проживает по адресу http://www.larshederer.homepage.t-online.de/english.htm . Размер у нее небольшой – всего 466 кб (кстати на сайте лежит сам дистрибутив с программой + апдейт к ней исправляющий небольшие ошибки в самой программе).Так что скачайте и его в обязательном порядке , благо размер небольшой (274 кб).Скачав все это дело распакуйте в любой папке и запустите CABPACK.EXE. Остальные инструкции на скриншоте снизу.
http://kpnemo.ru/media/images/cab7_t.png
Полученный файл Compressed.cab переименуйте в AddonsИмяВашейПрограммы.cab (например AddonsOpera851.cab) . И интегрируйте вышеуказанными способами.Addons в названии файла необходим (как выяснилось) иначе RVM Integrator (http://ryanvm.msfn.org/files/RVM_Integrator_1.0.5.7z) не видит этот файл.
Вроде все .Если возникнут вопросы то пишите на zaurbb@gmail.com
С уважением , Заур Багиров ака Теплый Снег
Baku Azerbaijan 1/12/2005
Opera - 3,85 мб (http://azart.mylivepage.com/file/5/34/)
Оффлайн версию этой статьи забирайте здесь (http://azart.mylivepage.com/file?act=idx)
P.S. Готовые программные аддоны можно найти здесь (http://www.ryanvm.net/forum/viewtopic.php?t=641)
Вот держите первый перекованный инсталл для интеграции.
Это лучший браузер (ИМХО) Опера.
Версия 8,51 билд 7712
меню - расширенное от Мангуста (http://mongoose.myopera.net/) + keyboard.ini + search.ini
По ссылке ниже лежит каб архив , готовый для интеграции.Также, распаковав архив в папке SVCPACK вы найдете "тихий инсталл" Оперы.И так я надеюсь - что это первый , но последний пакет для ингрирования в дистрибутив :)
Антивирусная программа NOD32 русская стандартная версия 2.50.26 в триальном исполнении для интеграции в дистрибутив вот здесь 8 мб (http://www.sendspace.com/file/nybhde)
Спасибо dimadr (javascript:WYXc();PrintUserName('dimadr'))
(перевод статьи + небольшая отсебятина «How To Create New ProgramAddons» (http://www.ryanvm.net/forum/viewtopic.php?t=641))
Доброго времени дня. Сегодня хочу вам рассказать о том , как сделать пакет с любимой вам программой и внедрить (интегрировать) его в дистрибутив собранной вами Автоматической установки Windows XP.Процесс этот несложный и не требующий каких –либо дополнительных умственных затрат. Итак поехали.
Полагаю у вас могут возникнуть вопрос по поводу того , для чего нужно вшивать программу в дистрибутив и лишить пользователя возможности выбора программы для установки. Отвечу так – что многие (или даже подавляющее большинство) делает Unattended XP исключительно под себя .Я тоже не исключение. И по мне, намного удобнее вшить в дистрибутив те программы которые мне необходимы, чем делать после дополнительные мышедвижения и возиться с постинсталлерами (такой уж я ленивый человек). Да и к тому же все жизненно важные программы и утилиты , такие как – антивирус , архиватор , антиспай и другие просто необходимо внедрять и устанавливать насильно … Надеюсь убедил .Хотя забыл еще один момент – это просто интересно и научиться этому несложно , так зачем же лишать себя такой возможности.
Шаг первый
Для начала нужно собрать SFX архив .О том как это сделать подробно описывалось в статье «Создание SFX архива» (которую можно найти в Учебнике Автоматической установки – скачать можно здесь (http://soft.oszone.net/program.php?pid=30) или же найти ее на сайте unattended.oszone.net).Большое количество ключей для «тихой установки» приложений можно найти здесь (http://www.msfn.org/board/index.php?showforum=80) на английском языке или поискать на форуме OsZone (http://forum.oszone.net/forumdisplay.php?f=32).
Шаг второй
Дальше создайте папку с любым именем. Внутри этой папки создайте еще одну под именем SVCPACK и поместите свой перепакованный инсталляционный пакет туда. Потом создайте в любом текстовом редакторе ini файл и сохраните его под именем ENTRIES_PROGRAMNAME.INI ,но не помещайте (ВАЖНО!!!) его в папку SVCPACK. Вместо PROGRAMNAME укажите название перепакованной программы (например ENTRIES_OPERA.INI ). Откройте созданный ini-файл и добавьте туда секции: [general] , [EditFile] и [AddProgram] .Пример заполнения ini-файла смотрите ниже.
[general]
builddate=12/01/2005
; дата выпуска (релиза) программы
description=Program description
;Описание программы
language=English
;язык интерфейса (насколько я понял)
title=Program
;название программы
version=1.0
; версия программы
website=http://www.programwebsite.com/
; вэб- сайт программы
[EditFile]
I386\SVCPACK.INF,SetupHotfixesToRun,AddProgram
;эту секцию оставьте без изменения
[AddProgram]
PROGRAM.EXE
;имя(название) перепакованного пакета , которой вы поместили в папку SVCPACK
Шаг последний
Итак у вас есть папка SVCPACK, в которую вы поместили перепакованный «тихий инсталл» и ini-файл ENTRIES_PROGRAMNAME.INI , он должен находиться вне папки SVCPACK . Теперь осталось только собрать все эти файлы в один CAB- файл. Сделать это можно командой makecab или любой программой умеющей сжимать файлы в CAB архив (например picozip или power archiver ) Я пользовался двумя способами командой makecab – правда пришлось попотеть и почитать (здесь (http://download.microsoft.com/download/platformsdk/cab/2.0/w98nt42kmexp/en-us/Cabsdk.exe) ) .И второй способ – это плагин для TotalCommandera (забирать здесь (http://total.altruistic.ru/pp.php) )
У кого нет желания читать. Тогда повторяйте за мной. В папку с вашими заготовками поместите еще один файл (под любым коротким именем – cabm.txt) Содержание этого файла ниже :
1.С комментариями (ВАЖНО!!!) – не копируйте этот листинг , при запуске команды на исполнение получите море ошибок. Приведен только для ознакомления.
.Set Cabinet=on (включить режим сжатия всех файлов в один кабинет);
.Set Compress=on (включить сжатие);
.Set CompressionType=MSZIP (сжатие по алгоритму ZIP);
.Set CompressionLevel=7 (максимальный уровень сжатия);
.Set CabinetNameTemplate="My.CAB" (маска имени полученного файла);
.Set DiskDirectoryTemplate=".." (положить в каталог на уровень выше папки);
Далее идут абсолютные пути файлов для архивирования.
E:\Trash\CABFILES\SVCPACK\abiword.exe
E:\Trash\CABFILES\ENTRIES_ABIWORD.ini
2.Этот листинг можно скопировать. Здесь нужно исправить значение параметра .Set CabinetNameTemplate="My.CAB" если хотите получить название CAB файла .А также заменить абсолютные пути к файлам для архивирования.
.Set Cabinet=on;
.Set Compress=on;
.Set CompressionType=MSZIP;
.Set CompressionLevel=7;
.Set CabinetNameTemplate="ABICAB.CAB";
.Set DiskDirectoryTemplate="..";
E:\Trash\CABFILES\SVCPACK\abiword.exe
E:\Trash\CABFILES\ENTRIES_ABIWORD.ini
Остается только в командной строке набрать makecab /f cabm.txt и понаблюдать за таким вот окошком.
http://kpnemo.ru/media/images/makecab_t.png
И на выходе получается ABICAB.CAB.
Или же в TotalCommandere выделяем наши файлы ,нажимаем F5 выскакивает такой диалог
http://kpnemo.ru/media/images/CAB1.png
Жмем Enter и выбираем указанный на рисунке ключ в выпадающем списке второго диалога
http://kpnemo.ru/media/images/CAB2.png
И жмем Enter повторно. Возможно вылетит еще такое окошко
http://kpnemo.ru/media/images/CAB3.png
На него тоже отвечаем Enter-ом
Интеграция в дистрибутив полученного CAB файла осуществляется либо NLite (http://www.nliteos.com/)
http://kpnemo.ru/media/images/CAB4.png
Потом добавляем CAB файл
http://kpnemo.ru/media/images/CAB5.png
И ждем. Или же RVM Integrator – ом (http://www.whatcounter.com/dlcount.php?id=RyanVM&url=files/RVM_Integrator_1.0.5.7z)
http://kpnemo.ru/media/images/CAB6.png
Здесь вам нужно в первой строке указать путь к дистрибутиву ХР и в последнем свой CAB – файл. Если вы все проделали правильно , то файл из вашего перепакованного дистрибутива (у меня abiword.exe) должен быть в папке путь к вашему дистрибутиву ХР\I386\SVCPACK\ABIWORD.EXE. И еще в файле SVPACK.INF , который вы также найдете в папке I386 вашего дистрибутива (правда там он будет под другим именем SVPACK.IN_ , и для его просмотра его надо будет распаковать командой EXTRACT SVPACK.IN_) , в секции [SetupHotfixesToRun] вы должны увидеть строку с именем вашего перепакованного инсталла (у меня это abiword.exe /S) .
Дополнение от 07/12/2005
Учитывая ваши многочисленные письма по поводу того что использование команды makecab и других отмеченных в статье архиваторных плагинов не всегда приводит к желаемому результату. Представляю вашему вниманию еще одну программу являющуюся GUI оболочкой к утилите makecab. Называется она CabPack и проживает по адресу http://www.larshederer.homepage.t-online.de/english.htm . Размер у нее небольшой – всего 466 кб (кстати на сайте лежит сам дистрибутив с программой + апдейт к ней исправляющий небольшие ошибки в самой программе).Так что скачайте и его в обязательном порядке , благо размер небольшой (274 кб).Скачав все это дело распакуйте в любой папке и запустите CABPACK.EXE. Остальные инструкции на скриншоте снизу.
http://kpnemo.ru/media/images/cab7_t.png
Полученный файл Compressed.cab переименуйте в AddonsИмяВашейПрограммы.cab (например AddonsOpera851.cab) . И интегрируйте вышеуказанными способами.Addons в названии файла необходим (как выяснилось) иначе RVM Integrator (http://ryanvm.msfn.org/files/RVM_Integrator_1.0.5.7z) не видит этот файл.
Вроде все .Если возникнут вопросы то пишите на zaurbb@gmail.com
С уважением , Заур Багиров ака Теплый Снег
Baku Azerbaijan 1/12/2005
Opera - 3,85 мб (http://azart.mylivepage.com/file/5/34/)
Оффлайн версию этой статьи забирайте здесь (http://azart.mylivepage.com/file?act=idx)
P.S. Готовые программные аддоны можно найти здесь (http://www.ryanvm.net/forum/viewtopic.php?t=641)
Вот держите первый перекованный инсталл для интеграции.
Это лучший браузер (ИМХО) Опера.
Версия 8,51 билд 7712
меню - расширенное от Мангуста (http://mongoose.myopera.net/) + keyboard.ini + search.ini
По ссылке ниже лежит каб архив , готовый для интеграции.Также, распаковав архив в папке SVCPACK вы найдете "тихий инсталл" Оперы.И так я надеюсь - что это первый , но последний пакет для ингрирования в дистрибутив :)
Антивирусная программа NOD32 русская стандартная версия 2.50.26 в триальном исполнении для интеграции в дистрибутив вот здесь 8 мб (http://www.sendspace.com/file/nybhde)
Спасибо dimadr (javascript:WYXc();PrintUserName('dimadr'))