Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка Windows 2000/XP/2003 » (статья) Как вшить программу в дистрибутив Windows XP

Ответить
Настройки темы
(статья) Как вшить программу в дистрибутив Windows XP

Аватара для Теплый Снег

Старожил


Сообщения: 189
Благодарности: 35

Профиль | Отправить PM | Цитировать


Изменения
Автор: Теплый Снег
Дата: 08-12-2005
Описание: Добавления
Как вшить программу в дистрибутив Windows XP
(перевод статьи + небольшая отсебятина «How To Create New ProgramAddons»)
Доброго времени дня. Сегодня хочу вам рассказать о том , как сделать пакет с любимой вам программой и внедрить (интегрировать) его в дистрибутив собранной вами Автоматической установки Windows XP.Процесс этот несложный и не требующий каких –либо дополнительных умственных затрат. Итак поехали.
Полагаю у вас могут возникнуть вопрос по поводу того , для чего нужно вшивать программу в дистрибутив и лишить пользователя возможности выбора программы для установки. Отвечу так – что многие (или даже подавляющее большинство) делает Unattended XP исключительно под себя .Я тоже не исключение. И по мне, намного удобнее вшить в дистрибутив те программы которые мне необходимы, чем делать после дополнительные мышедвижения и возиться с постинсталлерами (такой уж я ленивый человек). Да и к тому же все жизненно важные программы и утилиты , такие как – антивирус , архиватор , антиспай и другие просто необходимо внедрять и устанавливать насильно … Надеюсь убедил .Хотя забыл еще один момент – это просто интересно и научиться этому несложно , так зачем же лишать себя такой возможности.

Шаг первый
Для начала нужно собрать SFX архив .О том как это сделать подробно описывалось в статье «Создание SFX архива» (которую можно найти в Учебнике Автоматической установки – скачать можно здесь или же найти ее на сайте unattended.oszone.net).Большое количество ключей для «тихой установки» приложений можно найти здесь на английском языке или поискать на форуме OsZone .
Шаг второй
Дальше создайте папку с любым именем. Внутри этой папки создайте еще одну под именем 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 – правда пришлось попотеть и почитать (здесь ) .И второй способ – это плагин для TotalCommandera (забирать здесь )

У кого нет желания читать. Тогда повторяйте за мной. В папку с вашими заготовками поместите еще один файл (под любым коротким именем – 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 и понаблюдать за таким вот окошком.



И на выходе получается ABICAB.CAB.

Или же в TotalCommandere выделяем наши файлы ,нажимаем F5 выскакивает такой диалог


Жмем Enter и выбираем указанный на рисунке ключ в выпадающем списке второго диалога



И жмем Enter повторно. Возможно вылетит еще такое окошко



На него тоже отвечаем Enter-ом

Интеграция в дистрибутив полученного CAB файла осуществляется либо NLite


Потом добавляем CAB файл


И ждем. Или же RVM Integrator – ом

Здесь вам нужно в первой строке указать путь к дистрибутиву ХР и в последнем свой 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. Остальные инструкции на скриншоте снизу.



Полученный файл Compressed.cab переименуйте в AddonsИмяВашейПрограммы.cab (например AddonsOpera851.cab) . И интегрируйте вышеуказанными способами.Addons в названии файла необходим (как выяснилось) иначе RVM Integrator не видит этот файл.

Вроде все .Если возникнут вопросы то пишите на zaurbb@gmail.com

С уважением , Заур Багиров ака Теплый Снег
Baku Azerbaijan 1/12/2005

Opera - 3,85 мб
Оффлайн версию этой статьи забирайте здесь

P.S. Готовые программные аддоны можно найти здесь

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

Антивирусная программа NOD32 русская стандартная версия 2.50.26 в триальном исполнении для интеграции в дистрибутив вот здесь 8 мб

Спасибо dimadr
Это сообщение посчитали полезным следующие участники:

Отправлено: 08:20, 05-12-2005

 

Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

-------
ВНИМАНИЕ:ламер в онлайне!


Отправлено: 15:03, 08-12-2005 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Теплый Снег

Старожил


Сообщения: 189
Благодарности: 35

Профиль | Отправить PM | Цитировать


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

-------
Лаборатория Теплого Снега


Отправлено: 15:10, 08-12-2005 | #12


Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

-------
ВНИМАНИЕ:ламер в онлайне!


Отправлено: 15:20, 08-12-2005 | #13


Ветеран


Сообщения: 2923
Благодарности: 1263

Профиль | Сайт | Цитировать


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

Отправлено: 16:53, 08-12-2005 | #14


Аватара для Теплый Снег

Старожил


Сообщения: 189
Благодарности: 35

Профиль | Отправить PM | Цитировать


Цитата:
странно,ведь есть методы и без участия пользователя вполне- тот же простой bat файлик и просто распаковка sfx архива. а этот какой-то замудрённыё. впрочем может я ещё не оценил полностью этот метод.
Грубо говоря теже яйца вид сбоку В смысле можно и так и эдак .Как вам угодно.



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

-------
Лаборатория Теплого Снега


Отправлено: 16:55, 08-12-2005 | #15


Пользователь


Сообщения: 73
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Отправлено: 10:35, 23-12-2005 | #16


Аватара для Теплый Снег

Старожил


Сообщения: 189
Благодарности: 35

Профиль | Отправить PM | Цитировать


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

-------
Лаборатория Теплого Снега


Отправлено: 10:45, 23-12-2005 | #17


Пользователь


Сообщения: 73
Благодарности: 0

Профиль | Отправить PM | Цитировать


Как и ожидалось, NLite матюгнулся на нехватку файлов в образе.

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

Последний раз редактировалось UnDetect, 23-12-2005 в 12:37.


Отправлено: 10:51, 23-12-2005 | #18


Аватара для D@nil

Старожил


Сообщения: 177
Благодарности: 2

Профиль | Сайт | Отправить PM | Цитировать


Теплый Снег
Рульная статья!
А .NetFramework пробовали перепоковать?

-------
Юмор - для поднятия настроения, и просто для души :)
http://danillab.com.ru/humor.php
http://danillab.com.ru


Отправлено: 20:08, 25-12-2005 | #19


Новый участник


Сообщения: 17
Благодарности: 0

Профиль | Отправить PM | Цитировать


Теплый Снег

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

Отправлено: 22:07, 25-12-2005 | #20



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка Windows 2000/XP/2003 » (статья) Как вшить программу в дистрибутив Windows XP

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[статья] Добавление файлов в дистрибутив Windows Vista Vadikan Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista 4 05-03-2014 11:13
VBA - [решено] Как вшить ресурсы в файл dll ProgrammerPC Программирование и базы данных 3 02-12-2009 02:43
Разное - Вшить в дистрибутив windows XP новый загрузочный экран zmeeust Оформление Windows XP 16 03-07-2009 17:20
Vista / 2008 - (Статья) Интеграция Обновлений и Extras в дистрибутив Windows Vista prokazzza Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista 81 23-05-2009 11:12
RIS & Windows 2000 Pro - как вшить драйвер сетевой карты? Gaara_of_the_Desert Автоматическая установка Windows 2000/XP/2003 1 14-11-2007 11:31




 
Переход