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

Компьютерный форум OSzone.net » Автоматическая установка Windows » Наборы обновлений для Windows XP/2003/Windows 7 » Инфо - Руководство по созданию аддонов (текущая версия)

Ответить
Настройки темы
Инфо - Руководство по созданию аддонов (текущая версия)

Аватара для volk1234

Старовер


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


Конфигурация

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


Изменения
Автор: volk1234
Дата: 24-09-2010
Описание: новая версия на сайте

Руководство перенесено в статью на сайте, но его обсуждение не закончилось. Любой может добавить в него что- нибудь новенькое.

Предлагаю сосредоточиться пока на двух разделах, которые будут дорабатыватся в ветке и только потом переносится в Руководство.

Сейчас обсуждается статья: - новое приложение 9.
===============
*Если вы заметили орфографические ошибки, пишите, пожалуйста, в личку

Отправлено: 19:19, 27-02-2008

 

Аватара для volk1234

Старовер


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

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


спасибо за ваше участие в проекте.
немного критики предложенного вами:
ваш пункт2 и пункты 4,5,6,7
чем различаются? Как обьяснять устройство аддона sysoc без понятия работы sysoc, txtsetup, конфигурационных файлов?
от того что в начале будет прочто указанно на какие типы делятся аддоны легче понять их устройство не станет.
Но если вы убедительно докажете необходимость предварительного обьявления типов аддонов, я так сделаю

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

-------

Ю-ху!


Отправлено: 23:01, 22-03-2008 | #81



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

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


Аватара для Drinko

Советник


Moderator


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

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


Цитата volk1234:
нашел в sysoc секцию [NetOptionalComponents]
что она дает? »
[NetOptionalComponents] (Sysprep)

-------
Форум Цифровое изображение | Windows 8.1 | Windows 10
-------
Во имя ALTа, CTRLа и святого DELETE
Enter

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

Отправлено: 01:27, 23-03-2008 | #82


Аватара для volk1234

Старовер


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

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


Обновлено руководство по написанию аддонов.
+Мелкие орфографические правки
+Комбинированные аддоны. Размещено в этом посте, поскольку в тот уже не влазит
+Обработка аддонов скриптом Update Pack пункт4 раздела А. (следующий пост)

Раздел B.
3.Комбинированные аддоны.

читать дальше »
Из названия следует, что данный тип использует оба выше описанных типа SYSOC и SVCPACK. Обычно это необходимо, когда после установки программы требуется
установить обновления, либо, когда некоторые значения записанные программой затираются на более поздних этапах установки. Рассмотрим это на примере аддона WMP 11
Структура папок сложнее, чем у простого аддона:

Код: Выделить весь код
WMP11Rus
        +Files
             --wmplayer.adm -файлы аддона находящиеся в папке files
                                  пакуются в cab- архивы и копируются в i386 
                                  замещая оригинальные файлы WMP9
               ......
                
              -+ForceCopy
                      --+SVCPACK
                            ----KB894871.CA_ - файлы каталогов необходимые для
                                                 установки через SVCPACK на Т13
                            ......
                            
                      ---WMP11.CAB - файлы аддона находящиеся в папке ForceCopy
                                         копируются в i386 без сжатия
                           .......
                           
        -Dosnet
        -Sysoc
        -Txtsetup
        -Addon.nfo
Как работает этот аддон? Используется специальным образом подготовленный дистрибутив. Описание этого этапа выходит за рамки статьи. Часть дистрибутива замещающая файлы WMP9 размещается в папке аддона Files. При интеграции аддонов в дистрибутив скрипт сжимает файлы и замещает файлы WMP9 файлами WMP11.
Чем хорош этот аддон для нашего примера, он пересекается с еще одним типом аддонов - с заменой системных ресурсов.
Однако цель аддона не только замена системных файлов, но и установка нового медиаплеера. Для установки используется метод SYSOC. Установка происходит с помощью файла wmp11rus.inf на который сделана ссылка в sysoc.inf через одноименный конфигурационный файл. Txtsetup, Dosnet используются для копирования установочных файлов на текстовом этапе.

Однако для того, чтобы медиаплеер остался в составе компонентов Windows и WFP не прервал установку из за неправильных версий файлов, необходимо подсунуть установщику файлы каталогов. Сделать это возможно только на этапе T13 когда устанавливаются обновления через SVCPACK. Вот из за этого, аддон и называется комбинированным. В папку аддона [..Files\ForceCopy\SVCPSCK] помещаются файлы каталогов и скрипт копирует их в одноименную папку дистрибутива. Конфигурационный файл Run отсутствует поскольку .cat-файлы подхватываются скриптом автоматически.

В целом комбинированные аддоны являются более сложным инструментом, но одновременно и более гибким. Они требуют основательной подготовки и знания всех нюансов установки Windows.
Однако, именно этот метод позволяет совместить удобство установки через inf-файл в sysoc.inf и "высокоуровневые" возможности SVCPACK. С практической точки зрения этот способ будет полезен для установки дополнительных компонентов аддона, выполнения действий невозможных на этапе SYSOC. В принципе, возможна и обратная ситуация, когда сам аддон устанавливается через SVCPACK, а некоторые действия необходимо произвести заранее через SYSOC(добавление записей в реестр, копирование файлов).

====
To all
1.Разьясните неразумному правильно ли я написал про *.cat файлы. Автоматом ли они подхватываются через SVCPACK ?
2.И еще авторы аддонов, руководство почти закончено, остался только раздел про аддоны изменяющие дистрибутив я ни чего про них не знаю. Может кто-нибудь поможет?
3.Насчет пункта 4 раздел А. Неуверен что все верно описал может поможет кто?

-------

Ю-ху!


Последний раз редактировалось volk1234, 06-04-2008 в 19:38.

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

Отправлено: 01:08, 29-03-2008 | #83


Аватара для volk1234

Старовер


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

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


Раздел А.
4.Обработка аддона скриптом Update Pack

читать дальше »

Изучив структуры папок и конфигурационных файлов скрипта Update Pack, давайте посмотрим как он работает с аддонами.
После выполнения собственных действий скрипт приступает к обработке аддонов.
Аддоны находящиеся в папке скрипта [Addons] обрабатываются в алфавитном порядке.
Скрипт проверяет условия заданные в конфигурационных файлах Required, Conflict и если все нормально продолжает работу, в противном случае выдается ошибка. Затем скрипт выполняет конфигурационный файл Start до начала других действий, далее основные операции с аддонами и последним выполняется конфигурационный файл Finish (при условии конечно, что эти конфигурационные файлы присутствуют в папке аддона).

Обработка файлов в папках аддона.

Структура папок
Код: Выделить весь код
Addon Folder

     +Files
          -+Compressed
          -+ForceCopy
                --+SVCPACK
В корневой папке размещаются конфигурационные файлы аддона для скрипта. Эти файлы никуда не копируются.
В папке Files размещаются собственно файлы аддона. Размещенные в корне этой папки файлы, скрипт копирует в дистрибутивную папку I386 без учета вложенных папок, с заменой файлов в случае совпадения, предварительно сжимая их в CAB-архив и приводя к виду file.ex_ , либо без дополнительной обработки если файл дистрибутива не сжат (пример: Telnet.exe). Все файлы из этой папки должны быть прописаны в конфигурационных файлах txtsetup и dosnet (иначе мастер установки не скопирует их из дитрибутива).

Подпапка Compressed служит для временного хранения ранее сжатых файлов из папки Files. Эти файлы могут использоваться скриптом в дальнейшем для экономии времени на упаковку.

Подпапка ForceCopy служит для прямого копирования размещенных в ней файлов с учетом вложенных папок в I386 без дополнительной обработки.
Пример: файлы из вложенной папки SVCPACK копируются в [..I386\SVCPACK]

Все записи в чистом виде из конфигурационных файлов Dosnet, Txtsetup добавляются в Dosnet.inf, Txtsetup.sif, а записи из Sysoc добавляются в секцию [Components] файла sysoc.inf . Записи из конфигурационного файла Run добавляется в секцию [SetupHotfixesToRun] файла svcpack.inf.

Далее скрипт модифицирует svcpack.inf согласно имен *.cat - файлов размещенных в каталоге SVCPACK аддона (если такие файлы требуются). В секцию [ProductCatalogsToInstall] файла svcpack.inf добавляются имена всех *.cat файлов.

Обрабатывается список файлов, для которых нужно отключить WFP, посредством KillWFP.lst, удалются из дистрибутива и выводятся из под защиты файлы посредством DelDrv.lst, DelOC.lst (патч Sfcfiles.dll);
Также обрабатывается Addon.nfo при сборке все эти файлы сливаются в один ADDONS.TXT, который пишется в корень папки с собираемым дистрибутивом;

Статья доработана с учетом правок Petya V4sechkin.
*13.04.08 чуток подправил

-------

Ю-ху!


Последний раз редактировалось volk1234, 13-04-2008 в 22:45. Причина: исправление статьи

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

Отправлено: 02:01, 29-03-2008 | #84


Аватара для volk1234

Старовер


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

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


Обновлено руководство по написанию аддонов.

+Этапы и механизмы установки Windows XP/2003.Log-файлы генерируемые в процессе установки. Размещено в этом посте, поскольку в тот уже не влазит

Использовал вариант предложенный здесь Drinko существенно доработав при помощи MSFN.

█ Приложение 5. Этапы и механизмы установки Windows XP/2003. Log-файлы генерируемые в процессе установки.

читать дальше »

Этапы текстового режима различаются в зависимости от режимов установки.
Здесь рассматриваются этапы установки с дистрибутивного CD, из удаленного сетевого дистрибутива, с локального дистрибутива на жестком диске (zip, flash). В принципе мастер установки рассматривает любой вариант установки, кроме установки с CD, как установку из удаленного источника, отсюда и дополнительный этап копирования во временную папку $win_nt$.~ls, перезагрузку и уже только затем копирование в папку установки.

Первый этап проходит в текстовом режиме:

1. Запуск загрузчика установочного диска ntboot.bin (для CD).
2. Запуск bootfix.bin (для CD).
3. Запуск setupldr.bin. Если установка выполняется не с CD, то файл setupldr.bin (запускаемый через winnt.exe) переименовывается в $LDR$ и копируется на диск установки для использования в качестве временного загрузчика для дополнительного этапа копирования.
4. Setupldr.bin ( $LDR$) передают, через winnt.exe, управление Setupdd.sys который с помощью txtsetup.sif и winnt.sif выполняет основные фазы текстового этапа, такие как копирование файлов и сбор информации о оборудовании для последующих этапов установки.
5. Чтение и интерпретация txtsetup.sif, winnt.sif и некоторых других файлов. Для установки не с CD используется dosnet.inf содержащий сведения о файлах в папке $win_nt$.~ls
6. Загрузка драйверов оборудования.
7. Запуск ntoskrnl.exe, ntdll.dll и smss.exe (фактически загружено ядро системы).
8. Копирование файлов с дистрибутивного диска в %WINDIR%. Или в случае установки из удаленного источника(пусть даже со второго раздела диска) копирование производится в локальный источник: папку $win_nt$.~ls. Затем следует перезагрузка и с помощью загрузчика $LDR$ управление передается Setupdd.sys который повторяет этапы 4-8, только на этот раз файлы копируются из $win_nt$.~ls в %WINDIR%.
9. Копирование прототипов реестра в %WINDIR%\system32\config\*.sav , было выполнено вместе с другими файлами, после производится обновление и инициализация реестра с помощью hive*.inf.
10. Setupdd.sys создает файл $wint$.inf в зависимости от конфигурации оборудования и содержимого файлов txtsetup.sif , sysetup.inf, layout.inf, winnt.sif (unnatend.txt). Файлы $wint$.inf (%windir%\System32), sysetup.inf, layout.inf (%windir%\inf) будут использованы мастером установки в графическом этапе установки.
11. Создание загрузочного сектора, загрузчика NTLDR, файла boot.ini.
12. Перезагрузка.

Второй этап продолжается в графическом режиме.

1. T39 – запуск setup.exe который передает управление библиотеке syssetup.dll. Эта библиотека координирует весь процесс установки в графическом режиме, используя информацию для установки из файлов syssetup.inf, $wint$.inf, layout.inf. При этом используется множество динамически подключаемых библиотек, таких как setupapi.dll, netshell.dll, ocgen.dll и др., для выполнения различных действий в процессе установки.
Отрабатывает параметр DetachedProgram секции [GuiUnattended]
2. Загрузка nt5.cat и прочих файлов безопасности каталогов.
3. Запуск ocmanage.dll (диспетчер дополнительных компонентов).
4. Определение установленного оборудования (machine.inf).
5. T37 – установка драйверов устройств.
6. Создание и запуск intl.cpl используя информацию из intl.inf (конфигурируются региональные настройки).
7. Запрос CD-KEY.
8. Установка дополнительных компонентов ОС (sysoc.inf) С помощью sysoc.inf менеджер установки
строит список файлов для установки этих компонентов. Затем этот список сверяется с файлом unatend.txt (winnt.sif) если он есть.
По результатам сверки образуется конечный список устанавливаемых компонентов..
9. T32 – установка поддержки сети.
10. T29 – копирование всех необходимых файлов ОС.
11. T25 – завершение установки.
12. T22 – установка меню «Пуск» (shell.inf) и сохранение сделанных изменений в реестре.
13. T18 – регистрация компонентов (OLE regsrv).
14. T13 – обработка SVCPACK.inf.
14. T12 – запуск $OEM$/Cmdlines.txt.
16. T9 – сохранение параметров, установка административных разрешений для системных папок и реестра, запуск команд из секции [SetupParams].
17. T8 – сохранение настроек (sfc.dll сканирует все системные файлы для создания базы WFP и заменяет неоригинальные файлы).
18. Создание signhash Hardware ID.
19. Удаление временных файлов.
20. Перезагрузка.

Третий этап продолжается в графическом режиме:

1. Включение oobeinfo, активация копии системы.
2. Добавление пользовательских профилей.
3. Применение установок.
4. Настройка пользовательских профилей.
5. Запуск команд из секции GuiRunOnce.
6. Загрузка рабочего стола.


█ Log-файлы создаваемые в процессе установки.

Размещение log-файлов: \%Windir%

◦ Setupapi.log

Файл для Setupapi.dll, которая обрабатывает inf файлы во время установки аппаратных средств и регистрации. Этот файл может содержать записи, которые начинаются c [#E], что указывает на проблемы или ошибки. Мониторит установку через inf-файлы и на установленной системе.

◦ Setuperr.log

Общий журнал ошибок в процессе установки.

◦ Setuplog.txt

Общий журнал установки. Содержит все действия, совершаемые во время последней установки.

◦ Upgrade.txt

Лог менеджера установки, после запуска проверки на совместимость с windows XP.

◦ Setupact.log

Довольно полезный лог, создаваемый во время определения аппаратных устройств и установки драйверов.

◦ Winnt32.log
Содержит информацию о тестовом режиме установки, но создается только в процессе
апгрейда системы, а не установки.


◦ Wsdu.log

Лог динамического обновления установки (только если используется динамическое обновление)

◦ Log-файлы генерируемые дополнительными компонентами.




======
*01.04.08 Добавил немного из статьи процесс установки по минутам
======
Drinko, что ты имел в виду под пунктом 3 во втором этапе установки,
Цитата:
3. Выполнение *.inf.???
??
я на всякий случай оставил.
Удалил.
to All сообщайте о замеченных неточностях. Орфография в личку, плиз.

-------

Ю-ху!


Последний раз редактировалось volk1234, 04-04-2008 в 01:06.

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

Отправлено: 21:24, 31-03-2008 | #85


Аватара для Drinko

Советник


Moderator


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

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


Цитата volk1234:
Drinko, что ты имел в виду под пунктом 3 во втором этапе установки,
Цитата:
3. Выполнение *.inf.???
»
Цитата volk1234:
syssetup.dll. Эта библиотека координирует весь процесс установки в графическом режиме, используя информацию для установки из файлов syssetup.inf, $wint$.inf, layout.inf. »

-------
Форум Цифровое изображение | Windows 8.1 | Windows 10
-------
Во имя ALTа, CTRLа и святого DELETE
Enter


Отправлено: 22:26, 31-03-2008 | #86


Ветеран


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

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


volk1234, Одним файлом можно инструкцию где-то взять?

-------
Я не развожу политику в подписи
ПТН ПНХ


Отправлено: 10:47, 01-04-2008 | #87


Аватара для volk1234

Старовер


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

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


Пока нет, происходило накопление информации. Изначально предпологал что писать будут все авторы аддонов, поэтому выкладывал на обсуждение, увы. Как только проверю орфографию и прочее, выложу на сайте в виде статьи,а также сделаю chm.

-------

Ю-ху!


Отправлено: 16:54, 01-04-2008 | #88


Аватара для Boa Soft

Компьютерный шаман


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

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


Цитата volk1234:
1.Разьясните неразумному правильно ли я написал про *.cat файлы. Автоматом ли они подхватываются через SVCPACK ? »
Не совсем автоматом. При сборке дистрибутива скрипт модифицирует svcpack.inf согласно имен *.cat файлов в каталоге SVCPACK.

В секцию ProductCatalogsToInstall файла svcpack.inf добавляются имена всех *.cat файлов.

Согласно указанием MS они должны быть переименованы в формат 8.3. Это особенно актуально при установке из-под доса или по сети.

-------
Человеческая лень - главная движущая сила технического прогресса.

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

Отправлено: 01:29, 02-04-2008 | #89


Аватара для volk1234

Старовер


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

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


Цитата Boa Soft:
В секцию ProductCatalogsToInstall файла svcpack.inf добавляются имена всех *.cat файлов. »
Для этого даже не требуется указывать их имена в файле Run ?? :0 В аддоне WMP 11 он отсутствует.
Можно чуток подробнее для руководства?

-------

Ю-ху!


Отправлено: 10:31, 02-04-2008 | #90



Компьютерный форум OSzone.net » Автоматическая установка Windows » Наборы обновлений для Windows XP/2003/Windows 7 » Инфо - Руководство по созданию аддонов (текущая версия)

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] Как определить какая версия XP Корпоративка или Oem версия? Rock Microsoft Windows 2000/XP 2 10-01-2008 11:18
Текущая настройка безопасности ActiveX Motto Защита компьютерных систем 1 26-12-2004 19:05
Что такое текущая директория? Guest Программирование и базы данных 11 24-07-2004 00:19




 
Переход