PDA

Показать полную графическую версию : (статья) Как вшить программу в дистрибутив Windows XP


Страниц : [1] 2 3

Теплый Снег
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'))

Теплый Снег
05-12-2005, 16:24
Вроде как никого это не интересует :)

BeLyI
06-12-2005, 00:27
Интересует!

Побольше бы готовых аддонов (русифицированных).

Fanzuga
06-12-2005, 11:04
Теплый Снег
Спасибо за обстоятельную инструкцию,
будем пробовать.

Теплый Снег
06-12-2005, 11:14
Теплый Снег
Спасибо за обстоятельную инструкцию,
будем пробовать.
На здоровье :)
Жду готовых программ для внедрения

mickmack
06-12-2005, 12:15
ну дык. желательно такие же программы как на форуме у райана и мсфн но на русском языке. Acrobat Reader, LClock, TweakUI, .NET 1.1, GoogleToolbar, Opera, Maxthon.... и.т.д

Теплый Снег
06-12-2005, 13:03
Вот держите первый перекованный инсталл для интеграции.
Это лучший браузер (ИМХО) Опера.
Версия 8,51 билд 7712
меню - расширенное от Мангуста (http://mongoose.myopera.net/) + keyboard.ini + search.ini
По ссылке ниже лежит каб архив , готовый для интеграции.Также, распаковав архив в папке SVCPACK вы найдете "тихий инсталл" Оперы.И так я надеюсь - что это первый , но последний пакет для ингрирования в дистрибутив :)

Opera - 3,85 мб (http://azart.mylivepage.com/file/5/34/)

Теплый Снег
07-12-2005, 15:51
Статья обновлена

Mrempty
08-12-2005, 12:21
respect

Спасибо за статью. Начну наверно все проги так внедрять, результаты постараюсь выложить.

Теплый Снег
08-12-2005, 13:49
respect

Спасибо за статью. Начну наверно все проги так внедрять, результаты постараюсь выложить.

Пожалуйста .Буду ждать готовые продукты.И выкладывать их в первом посте

Lupper
08-12-2005, 15:03
Скажите пожалуста,а в чём конкретно преимущества этого метода?
Место меньше в итоге занимает?а как насчёт времени установки уменьшиться или увеличиться?я так понимаю что в случае такой интеграции винда воспринимает такой как пакет как родной?или я что-то не так понял?

Теплый Снег
08-12-2005, 15:10
Скажите пожалуста,а в чём конкретно преимущества этого метода? Место меньше в итоге занимает?а как насчёт времени установки уменьшиться или увеличиться?я так понимаю что в случае такой интеграции винда воспринимает такой как пакет как родной?или я что-то не так понял?

Преимущество данного метода в том , что программы устанавливаются без какого либо вмешательства пользователя.В том смысле ненужны никакие программы постинстала.Особого места такой пакет не экономит.А насчет того - что винда воспринимает такой пакет как родной , то это может быть .Так как все эти перепакованные пакеты попадают в раздел SVPACK , туда же где и находятся все хотфиксы.И все это дело устанавливается без проблем .
Короче решать вам .Выбор установить приложение с помошью постинсталлеров или таким спосбом ложиться перед вами.

Lupper
08-12-2005, 15:20
странно,ведь есть методы и без участия пользователя вполне- тот же простой bat файлик и просто распаковка sfx архива. а этот какой-то замудрённыё. впрочем может я ещё не оценил полностью этот метод.

dimadr
08-12-2005, 16:53
Пробный "шар": Антивирусная программа NOD32 русская стандартная версия 2.50.26 в триальном исполнении для интеграции в дистрибутив вот здесь (http://www.sendspace.com/file/nybhde).

Теплый Снег
08-12-2005, 16:55
странно,ведь есть методы и без участия пользователя вполне- тот же простой bat файлик и просто распаковка sfx архива. а этот какой-то замудрённыё. впрочем может я ещё не оценил полностью этот метод.

Грубо говоря теже яйца вид сбоку :) В смысле можно и так и эдак .Как вам угодно.



Пробный "шар": Антивирусная программа NOD32 русская стандартная версия 2.50.26 в триальном исполнении для интеграции в дистрибутив вот здесь.

Спасибо скачаю и проверю.

UnDetect
23-12-2005, 10:35
Есть ли информация как интегрировать полученные кабы в систему руками без участия NLite или RVM Integrator'а?
Я сейчас проверю их, но все же фоном крутится мыслишка "Как бы RIS образ не испортить..."

Теплый Снег
23-12-2005, 10:45
Есть ли информация как интегрировать полученные кабы в систему руками без участия NLite или RVM Integrator'а? Я сейчас проверю их, но все же фоном крутится мыслишка "Как бы RIS образ не испортить..."
есть на ангийском на том же MSFN - Не .Только врядли интеграция может запороть дистрибутив , по крайней мере вы можете сделать резервную копию образа.

UnDetect
23-12-2005, 10:51
Как и ожидалось, NLite матюгнулся на нехватку файлов в образе.

Можете скинуть ссылку на оригинал с описанием ручного добавления cab файлов в дистрибутив?

D@nil
25-12-2005, 20:08
Теплый Снег
Рульная статья!
А .NetFramework пробовали перепоковать?

Doombas
25-12-2005, 22:07
Теплый Снег

Я не совсем понимаю, получается что я могу уже установленую програму запаковать в SFX архив создать INI файл всё это дело запаковать ну скажем CabPack-ом и потом просто итегрировать nLite в дистрибутив. И если програма уже руссифицирована стало быть такой она и будет после установки?
Если так, мне что не обязательно применять ключи, которые используются с инсталятором этой програмы? И какие тогда надо использовать? Как то это всё просто получается потому моему мыслительному процессу недоступно.




© OSzone.net 2001-2012