Показать полную графическую версию : Руководство по созданию аддонов (текущая версия)
Страниц :
1
2
[
3]
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
mercuryn
29-02-2008, 10:10
no404error, немножко погулял по аддонам прошлого года, и нашлись ситуации, где небольшие ошибки исправлялись по два (три) раза в день. При наличии только даты - такой аддон не отличишь, была бы версия или другой признак - нет проблем.
А ведь есть пользователи, которые взяв первый вариант такого аддона и в целях экономии траффика продолжат работу, а потом засыпят форум вопросами о проблемах...
Есть много вариантов упорядочивания библиотеки аддонов, но в основном по архивам или по распакованным архивам (в том числе и в папке Addons), и комбинированном . В зависимости от этого и варианты упорядочивания или имён архивов или папок, ну а некоторые предлагают систему анархии...
Я бы, с учётом личного опыта, предложил:
1. Имена архивов - ХХХ...ХХХ.vYYY-ГГММДД-ФИО.7z(rar)
2. Имена папок -ХХХ...ХХХ
3. В папке - ХХХ...ХХХ.vYYY-ГГММДД-ФИО.NFO
Где ХХХ...ХХХ - имя аддона и папки, отделяется от дополнительной информации точкой, - ограничение количества симфолов - ?
vYYY - номер версии продукта, если отсутствует, v-
далее дата и, если аддоны разные, по 3 символа от ника.
Название NFO совпадает с именем архива.
Но обязательно нужна программа для получения короткой справки о составе аддонов и их версий в папке Addons.
В данном предложении я ничего нового не предлагаю, просто компромисно упорядочил уже звучавшие предложения...
Мне кажется что это упорядочивание только начальная часть выработки согласованных элементов стандартов (соглашений).
Кстати, тем кто кроме Windows работают или работали (или принимали участие в разработке) с юниксоидными системами, должно быть знакомо понятие принятых соглашений (стандартов). Без этих правил ни одна распределенная разработка ОС не появилась бы на свет...
PS
Доже реализация такого соглашения позволила бы упростить анализ проблем при при создании дистрибутива ОС всех категорий пользователей.
volk1234
29-02-2008, 11:32
ограничение количества симфолов - ? »
Вот и меня волнует этот вопрос, не будет ли багов если в названии папки аддона будет больше 8 сиволов.
Из инструкции я убрал рекомендацию по пакам оставив только файлы.А ну как speccase conflict будут глючить....
В очередной раз про имена архивов: может стоит всех авторов привести к выработке версий аддонов по аналогии с Upadate Pack -
по дате? Сразу упреждаю mercuryn если один аддон вышел дважды в день - на конуе добавляется счетчик N.
AddonNameProgramVersion_date(version)Y.mm.dd_N. Соответственно если в один день не выпускалось 2 версии аддона, счетчика не будет.
пример: DrWeb444_8.2.29
в случае обнаружения ошибки и\или переделки аддона в тотже день DrWeb444_8.2.29_2 и тд.
Гораздо важнее я считаю распределить префиксы для папок. Привести их в соответствие с типом и порядком отработки аддонов. »
я не совсем понимаю что это даст, поскольку все и так замечательно работает, но может быть вы напишите пару абзацев для новичков как пользоватся префиксами.
Вот и меня волнует этот вопрос, не будет ли багов если в названии папки аддона будет больше 8 сиволов. »
Не будет :)
mercuryn
29-02-2008, 15:05
volk1234, вопрос о конечном варианте - коллективная работа. Предложен комплексный вариант...
Имя папки в архиве отделяется от прочей информации нейтральным символом - точкой или тире, что оставляет возможность анализа. Учтено и то, что авторов вариаций одного аддона может быть несколько...
volk1234, буду Вам очень признателен, если Вы прекратите раздирать по собственному разумению на части комплексные предложения, тем более, что Вас об этом уже просили...
Лучше выскажите собственное мнение по этому вопросу...
volk1234
29-02-2008, 18:06
буду Вам очень признателен, если Вы прекратите раздирать по собственному разумению »
я не против, но хочется услышать разные мнения. Слишком уж спорный момент. Ну придумаем мы систему сложного названия архива аддона,
и никто не будет ей пользоватся, и толку. Давайте у других спросим. Я же не говорю что ваше предложение плохо, просто оно не идеально,
как и мое. Могу добавить оба варианта, пусть люди выбирают или предлагают свои варианты.
volk1234
02-03-2008, 03:49
Обновлена инструкция. ( http://forum.oszone.net/post-749397-343.html)
+Добавлено определение аддона раздел А.
+Добавлен конфигурационный файл OUT.ini(Кстати он еще нужен? и почему нет нигде упоминания о Distr.ini ???) раздел А. пункт3.16
+Добавлено описание sysoc (усилено читаю учебник по inf) ;) Раздел B пункт 1.
+Добавлен пример аддона sysoc - FoxitReader Раздел B пункт 1.
+Парочка нюансов sysoc -в конце Раздел B пункт 1 (NB)
+Нюанс svcpack -в конце Раздел B пункт 2 (NB)
*Подправлены опечатки
ёмоё ктонибудь будет помогать или как..?
volk1234,
3.16 Out.ini по аналогии с Distr.ini »
Нет описания ни того, ни другого ;)
Далее...
3.10 Addon.nfo »
3.Конфигурационные файлы »
Не совсем верно, это больше Информационные файлы
нет описания HTML.NFO для [addon] HTMLINFO (http://forum.oszone.net/thread-90061.html)
Вся информация берется из файла HTML.NFO и только в случае его отсутсвия из файла ADDON.NFO »
Далее...
2.Аддоны использующие для интеграции SVCPAC »
когда уже доступны все инструменты GUI: реестр, учетные записи..???? »
Учетные записи еще не созданы! (почитайте Процесс установки по минутам (http://oszone.net/3165))
Если исполняемых файлов или SFX архивов в аддоне несколько, порядок их запуска определяется в конфигурационном файле Run »
Если необходимо одновременно запустить на выполнение несколько фалов, их необходимо прописать в .cmd файле
Надеюсь хоть немнго помог :)
volk1234
02-03-2008, 11:35
это больше Информационные файлы »
так у petya v4sechkin, я лишь продублировал.Надо же како-то обобщить их.
Учетные записи еще не созданы! »
Ну уж УЗ System уже присуствует :) Хотя написал я неверно.
Если необходимо одновременно запустить на выполнение несколько фалов, их необходимо прописать в .cmd файле »
так тоже можно согласен. Но ведь и в Run тоже отрабатывает. См.мой аддон http://forum.oszone.net/attachment.php?attachmentid=7903&d=1200251825
По поводу HTMLInfo - это всеже дополнение к существующему порядку addons.nfo. Поэтому, если вам нетрудно опишите htmlinfo в ключе дополнительной опциии, как файлы подготавливать и тд. Я лично не пользую \htmlinfo\
кстати насчет
(почитайте Процесс установки по минутам) »
на каком этапе создается реестр? На этапе копирования файлов???
спустя некоторое время: на этапе txtsetup ?
на каком этапе создается реестр? На этапе копирования файлов??? »
После Т-39 но до Т13 (более конкретно сказать не могу :( ) На этане копирования создается шаблон (основа)...
ЗЫ Хотя немного не правильно, реестр создаетя на всем этапе установки, вопрос в том какие разделы (ключи) создаются на каждом конкретном этапе...
volk1234
02-03-2008, 16:38
Уррра! Я сам разобрался в устройстве sysoc !!!
Обновлена инструкция. ( http://forum.oszone.net/post-749397-343.html)
+Добавлено описание SYSOC и механизм его работы(теперь описание этого типа практически закончено) Раздел В.пункт 1.
+Нюанс аддонов с изменением компонетов -в конце Раздел B пункт 4 (NB)
*Чуть добавлен пример аддона sysoc.
*Подправлены опечатки
Все еще существует 2 вопроса:
1.Out.ini Distr.ini что это и для чего?
2.Для чего в аддоне dosnet.ini ???
про реестр - фактически на текстовом этапе копируются ульи реестра -прототип. Но учитывая что из инф файлов добавляются уже ветки в реестр, следовательно он существует с момента записи на диск. Несмотря на то что это фалы, для записи в них из inf, advinf.dll должна знать про его внутреннее устройство -bin, секции, метки...а раз она работает с реестром, значит он уже есть
jameszero
02-03-2008, 17:25
volk1234
Distr.ini - обязательный конфигурационный файл, в котором указывается путь к исходному дистрибутиву.
Out.ini - опциональный конфигурационный файл. В нём указывается путь, по которому нужно скопировать дистрибутив, а затем обработать. При отсутствии файла Out.ini обработка происходит по пути указанному в Distr.ini
dosnet содержит список файлов добавляемых в txtsetup и используется только при установке Windows с жёсткого диска.
volk1234
02-03-2008, 19:10
Ясно эти файлы(Distr out) больше к паку относятся
на каком этапе создается реестр? На этапе копирования файлов???
спустя некоторое время: на этапе txtsetup ? »
Где-то на этапе текстовой установки. Минимально необходимый. На T-40 он уже есть, и в него можно добавить инфу, которая возможно будет перекрыта на более поздних этапах.
volk1234,
Может так сформулировать (выделено жирным)?
Аддон - программа для интеграции в дистрибутив (или изменения дистрибутива) Windows XP\2003 посредством скрипта UpdatePack от Petya V4sechkin. Для создания аддонов необходимо
следовать некоторым правилам и стандартам, которые мы далее и будем описывать.
volk1234
03-03-2008, 13:40
Обновлена инструкция. ( http://forum.oszone.net/post-749397-343.html)
+Добавлено описание аддона-конструктора
+Добавлен пример адона-конструктора SVCPACK (все в разделе B. пункт 2)
+Начал описание смешанного типа аддонов (раздел B. пункт 3)
*В приложения решено добавить аддон пример Puntoswitcher и аддон конструктор Klite codec Pack от jameszerro(раздел С)
*Переработано описание SVCPACK
* изменил определение аддона:
Аддон - программа для интеграции в дистрибутив Windows XP\2003 сторонних программ или изменение дистрибутива посредством скрипта UpdatePack от Petya V4sechkin.
[!]требуется помощь разьяснение как работает аддон WMP 11. Интуитивно я догадываюсь...
[!]описание 2 главных типов практически закончено, кто может рассказать про аддоны патчеры????
Boa Soft
03-03-2008, 18:34
Цитата volk1234:
на каком этапе создается реестр? На этапе копирования файлов???
спустя некоторое время: на этапе txtsetup ? »
Где-то на этапе текстовой установки. Минимально необходимый. На T-40 он уже есть, и в него можно добавить инфу, которая возможно будет перекрыта на более поздних этапах. »
В конце процесса установки текстового этапа. После окончания копирования, перед перезагрузкой.
Кажется, пишется инициализация реестра. Реестр создается на основе inf-файлов, перечисленных в секциях
[HiveInfs.Fresh]
[HiveInfs.Fresh.RemoteBoot]
[HiveInfs.Upgrade]
hivecls.inf
hivedef.inf
hivesft.inf
hivesys.inf
hiveusd.inf
В зависимости от ситуации (чистая, обновление, сетевая).
При чистой установке, скорее всего, сначала создаются пустые болванки кутов, а потом уже заполняются.
volk1234
07-03-2008, 00:26
Обновлена инструкция. ( http://forum.oszone.net/post-749397-343.html)
+Мелкие добавления, на тему SYSOC, префиксов
+Файл Txtsetup.sif Перевел статью Gosh c MSFN. Размещена в этом посте, поскольку в тот уже не влазит :)
Помощи, за небольшими приятными исключениями, так и нет :(
Кто нибудь из авторитетных товарищей почитайте статью про txtsetup, может что добавить есть...
Файл Txtsetup.sif
Перевод статьи Gosh c MSFN.
Txtsetup.sif - это как и понятно из названия файла Text setup system information file - файл установки текстового режима. После текстового режима, этот файл не нужен системе, поэтому он не копируется из дистрибутива не защищен цифровой подписью и не включен в состав файлов защищаемых SFC. В связи с этим, Txtsetup.sif идеально подходит для целей автоустановки, добавления-удаления компонентов и записей реестра.
Добавление\удаление записей
Удалить строку из txtsetup.sif проще простого - любой текстовый редактор это может. Также можно закомментировать строку точкой с запятой (что лучше, если вы не знаете что делаете).
А вот добавить строку сложнее, требуется знать синтаксис.
Синтаксис записи в секции копирования txtsetup.sif:
filename_on_source= diskid, , , , , , , subdir, upgradecode, newinstallcode, spare, spare, newfilename, flag, unknown
Рассмотрим пример:
locsecw.chm = 1, , , , , , , 21, 0, 0, localsec.chm
[locsecw.chm]-файл дистрибутива (понятно, что он находится в i386)
[1] - соответствует секции [SourceDisksNames.x86] в txtsetup.sif. В данном случае параметр [1] означает,
что файл из оригинальной (RTM) сборки. Значение [100], например, означает принадлежность файла к SP1, SP2.
Отвечает на вопрос ОТКУДА?
[,,,,,,,] - пустые параметры отделенные знаками запятой специфика winnt систем. Точные значения неизвестны.
[21] - указывает папку назначения, секция [WinntDirectories], в данном случае %Windir%\Help
Отвечает на вопрос КУДА?
[0] - upgradecode - режим копирования файла. Предназначен для корректного обновления с нижних ОС.
значения:
0-Копировать всегда
1-Копировать только если файл присутствует в папке назначения
2-Не копировать если файл присутствует в папке назначения
3-Не копировать файл
[0] - newinstalcode - указывает на "чистую установку". Опционально. Если не указан, используется значение по умолчанию = 3, файл не копируется.
[localsec.chm] - новое имя, переименовывает при копировании.
Интересное отступление: в первоначальном имени присутствует буква w. Gosh предполагает, что w -сокращение от workstation, а p - Personal. Так планировалось называть версии XP, аналогично Professional и Home.
cmconW.chm = 1, , , , , , , 21, 0, 0, cmconcepts.chm - xp pro txtsetup.sif
cmconP.chm = 1, , , , , , , 21, 0, 0, cmconcepts.chm - xp home txtsetup.sif
[flag] - флаг копирования (подробнее смотрите руководство по работе с inf-скриптами).
[unknown] - пока не могу сказать, что это, но в родном файле используется для драйверов и системных файлов, значения от 2 до 180.
Теперь рассмотрим другой пример:
autofmt.exe = 1, , , , , , _x, 2, 0, 0, , 1, 2
[_x] означает, что файл дистрибутива не сжат. Если [_x] отсутствует, программа установки предполагает, что файл сжат. Каждый файл XP перечислен в layout.inf, вместе с размером в байтах. Размер в байтах очевидно зависит от того, сжат ли файл или нет. Если txtsetup.sif укажет установке, что файл не сжат, то установщик будет сравнивать размер файла с layout.inf, чтобы удостовериться что размер не был изменен. Если размер файла не соответствует тому, что указан в layout.inf, установка xp может быть прервана ошибкой.
NB.Если устанавливается сторонняя программа, размера и имени которой нет в layout.inf, необходимость использования параметра [_x] отпадает.
NB2 Txtsetup.sif не сообщает установке место нахождение файлов. Его единственная функция скопировать в нужную папку нужный файл. Txtsetup.sif запускается после того как dosnet.inf скопирует дистрибутив в C:\$WIN_NT$. ~ LS. Txtsetup.sif предполагает, что исходные файлы постоянно находятся в этой папке. При установке с CD\DVD
все проще, потому как, файлы сразу переписываются в %windir%. В таком варианте dosnet.inf скорее выполняет второстепенные функции по указанию путей копирования.
Фактически, txtsetup.sif отвечает за копирование файлов, обеспечение удаления старых папок при апгрейде, создании кустов реестра, первоначальной загрузкой критических драйверов.
(с) Gosh http://gosh.msfn.org/txtsetup.htm
-------------------------------------------------------------------
авторский перевод + мелкие дополнения Volk1234
Пример txtsetup.sif для аддона CCleaner
[SourceDisksFiles]
Cleaner.inf = 100,,,,,,,20,0,0
CCleaner.cab = 100,,,,,,_x,,3,3
1. Как видим использован параметр [100] то есть указание на SP2(что не очень принципиально)
2. Inf Файл копируется в папку %Windir%\inf [20] для возможности деинсталяции аддона
3. Cab файл в папку Windows не копируется [,3,3] и несжат[_x](?). Файлы из cab просто устанавливаются с помощью одноименного inf.
Boa Soft
07-03-2008, 00:56
volk1234, отличная полезная статья. Не могу согласится только с одним:
Фактиически, за исключением копирования файлов txtsetup.sif больше ничего и не делает. »
Этот файл отвественен еще за многое - обеспечение удаления старых папок при апгрейде, создании (заполнении информацией?) кустов реестра, первоначальной загрузкой критических драйверов и многих других базовых вещей. Достаточно полистать файл и посмотреть на название секций и их содержание.
volk1234, я на досуге отредактирую и добавлю в Справочник, пожалуй
На сайте есть немного информации, но она в разделе установки драйверов Параметры [SourceDisksFiles] (http://oszone.net/3123)
volk1234
07-03-2008, 01:21
Boa soft исправил
Vadikan
http://oszone.net/3123
Необходимые запятые. Минимум - 6 запятых; 7 запятых для хигнорирования следующего параметра (3_ или _х)
не совсем верно в свете статьи gosh и http://www.msfn.org/board/Switches-TXTSETUPSIF-t14852.html
я не включал в статью, так как не видел практического смысла, но там пишут:
I've also noticed that with a CD install the [SourceDisksNames] are all the same. I believe that these are really just dummy files (especially 2_ through 6_). I would also suspect that in your own modifications to TXTSETUP.SIF you could probably replace 3_ with 1_ through 6_ and have success...haven't tested it though.
Maybe this number 3_ is just used to recreate the Setup Boot floppies with makeboot or makebt32 tool.
3_ means put the file on the 3rd disk
4_ means put the file on the 4th disk
because there is 4 setup boot floppies on Windows 2000
on Windows XP, there is 6 setup boot floppies
Если кто не знает англиского, первый постер утверждает что параметр 3_ можно заменить любым значением вроде 1_, 4_(не проверено)
второй постер предполагает, что данный параметр лишь разбивает(относит) файлы по дискетам, для загрузочных дискет WinXP(которых как и параметров 6 штук)
может кто лучше обьяснит.
а кстати в этойже ветке и Вадикан засветился:)
"1- Original or RTM." What is RTM?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.