Показать полную графическую версию : Руководство по созданию аддонов (текущая версия)
Страниц :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[
17]
18
19
20
21
otsheln1k
02-02-2009, 02:00
volk1234,
Столкнулся с ситуацией, поведение которой отличается от изложенного в "Приложение 3. Файл Txtsetup.sif"
Если Txtsetup.sif укажет программе установки, что файл не сжат, то установщик будет сравнивать размер файла с Layout.inf, чтобы удостовериться что размер не был изменен.
Если правильно понял, то из этого утверждения следует, что если файл сжат, то проверка через Layout.inf не производится. Видимо, проверка производится в любом случае, а [_x] указывает что проверку на размер производить до расжатия или после.
Столкнулся, настраивая локальные политики безопасности при установке системы через defltwk.inf
volk1234
02-02-2009, 11:17
otsheln1k
Это интересно, можно поподробнее с примером, чтобы проверить и добавить в руководство.
otsheln1k
02-02-2009, 14:11
volk1234,
При установке системы настраиваю локальную политику безопасности изменением
файла defltwk.inf (содержится в дистрибутиве в сжатом виде DEFLTWK.IN_ в моем
случае его размер составляет 25498 байт, размер сжатого файла будет
определяться параметрами переданными утилите MakeCab.exe в командной строке)
Строка из txtsetup.sif
defltwk.inf = 100,,,,,,,20,0,0
Для редактирования его необходимо извлечь, внести необходимые изменения и
повторно упаковать в CAB, утилитой makecab.exe (по некоторым источникам можно
не сжимать). Однако есть одна особенность - размер файла после редактирования,
до упаковки, должен быть равен указанному в файле layout.inf.
Пример строки из layout.inf:
defltwk.inf = 100,,604054,,,,,20,0,0
где, размер составляет 604054 байта.
Если после редактирования размер распакованного файла не будет
соответствовать указанному в layout.inf, то после установки системы в
файлах setuperr.log и setupact.log присутствует сообщение об ошибке:
Программа установки обнаружила ошибку при установке защиты системы.
Ошибка расширенного типа.
volk1234, при написании аддона методом Sysoc нужно установить службу новую,
внесение нужных ключей в реестр не даёт желаемого результата - ошибка: нет доступа к разделу реестра HKLM\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_*****
Вопрос: случаем не знаешь как установить службу посредством INF файла?
------------------------------------
:sorry: проблему решил.
volk1234
26-03-2009, 01:13
Новые исправления в РУКОВОДСТВО.
[hr]
Обсуждаем. Всем заинтересованным, Ваши предложения пожалуйста до конца марта. Орфография в Личку !
*26,03,09 - поправил пунктуацию, спасибо okshef!
*28,03,09 - подправил Приложение 9, спасибо gora!
Раздел I. Общие положения.
▫ Имена файлов и папок.
Все файлы аддонов типа SYSOC должны иметь имена в формате 8.3. В этом же формате должны именоваться CAT- файлы используемые как в SYSOC, так и в SVCPACK типах аддонов. Имена файлов и папок не должны содержать пробелов и спецсимволов (например, в Txtsetup Sysoc имена со спецсимволами и длинными именами не будут подхватываться).
▫ Префиксы в названиях папок аддонов.
предложение: Предлагается следующее использование префиксов (составил участник конференции Oszone Shido): см. Приложение 1. Таблица префиксов.
изменить на
Посмотреть пример использования префиксов (составил участник конференции Oszone Shido): Приложение 1. Таблица префиксов
....
! Пожалуйста, поймите, использование стандартных (общепринятых на форуме) имен для аддонов, архивов с аддонами, файлов в аддонах,
поможет вам избежать различных, явных и неявных, ошибок, связанных с таким, казалось бы простым вопросом.
В свете изложенного необходимо четко понимать, что наименование папок и архивов с аддонами остается целиком на совести авторов.....
▫ Конфигурационные файлы.
....
При выполнении файлов Start, SpecCase, Finish первым параметром передается путь к аддону в виде Addons\Имя_папки_аддона. Из самого файла его можно получить через переменную командной строки '%1'.
РАЗДЕЛ II. Типы аддонов.
▫ Аддоны, использующие для интеграции SVCPACK.
Важно! Если аддон меняет какие-либо системные файлы, не забудьте про файлы каталогов безопасности ( *.cat). Если такие файлы необходимы, они просто размещаются в папке SVCPACK аддона, скрипт их скопирует и добавит в Svcpack.inf автоматически. В файле Run их прописывать не надо! Еще раз напомню, CAT- файлы, используемые как в SYSOC, так и в SVCPACK типах аддонов, должны именоваться формате 8.3 !
ссылка на новое приложение 9.
▫ Аддоны, изменяющие дистрибутив.
....
Тонкости изменения дистрибутива.
Если необходимо создать аддон, который при интеграции копирует нужную папку в корень создаваемого дистрибутива силами UpdatePack, воспользуйтесь следующим способом:
Добавьте в корневую папку вашего аддон конфигурационный файл Start (Finish) содержащий строку:
COPY /V /Y /Z "%~1\Имя_папки" "%DISTR%"
Где интересует нас только 2 параметра "%~1\Имя_папки" и "%DISTR%", поскольку остальные - стандартные ключи команды Copy.
%~1 возвращает скрипту путь к вашему аддону (соответственно, копируемая папка так же должна располагаться в корневой папке аддона)
%DISTR% это внутренняя переменная скрипта UpdatePack, содержащая путь к вашему дистрибутиву.
Раздел III. Примеры и приложения.
▫ Приложение 1. Таблица префиксов.
ЭТО ПРИМЕР, а не руководство к действию !!
В общем и целом полное переименование папок аддонов для добавления префиксов, не даст обычному пользователю никаких преимуществ.
Для авторов аддонов имеет смысл использовать следующую схему -
Аддон который надо обработать, до всех других аддонов в том числе встроенных аддонов UP именовать префиксом 0-имя_аддона
Аддон который надо обработать, после всех других аддонов именовать префиксом 9-имя_аддона (либо zz-имя_аддона).
..название столбца: Пример записи и предлагаемый порядок аддонов
изменить на
Пример записи с префиксом.
▫ Приложение 3. Файл Txtsetup.sif
....[_x] означает, что файл дистрибутива не сжат. Если [_x] отсутствует, программа установки предполагает, что файл сжат. Каждый файл дистрибутива XP перечислен в Layout.inf, вместе с размером в байтах. Размер в байтах, очевидно, зависит от того, сжат файл или нет. Если Txtsetup.sif укажет программе установки, что файл не сжат, то установщик будет сравнивать размер файла с Layout.inf, чтобы удостовериться что размер не был изменен. Если файл сжат, то установщик будет сравнивать с записью в Layout.inf размер распакованного файла. Если размер файла не соответствует тому, что указан в Layout.inf, установка XP может быть прервана ошибкой.
▫ Приложение 8. Файл Addon.nfo
Свое развитие этот конфигурационный файл получил в служебном аддоне HTMLINFO (http://forum.oszone.net/thread-90061.html) созданным участником конференции asmol.
Данный аддон формирует в корневой папке вашего дистрибутива файл ADDONS.HTM вместо ADDONS.TXT.
В данном файле используются многие преимущества языка HTML и это позволяет красиво оформить список установленных аддонов.
Используя в вашем аддоне файл html.nfo вы можете добавить описание вашего аддона в ADDONS.HTM.
▫ Приложение 9. Тонкости при создании аддонов SVCPACK- новое
Данное приложение не ставит цели повторять ветки форума Автоматическая установка приложений (http://forum.oszone.net/forum-61.html). Здесь не будет ( по крайней мере не планируется) полного списка ключей инсталляторов.
1. Использование установщика Windows
Самая распространенная конструкция аддонов типа SVCPACK - это строка с использованием ключей тихой установки конкретного установщика в конфигурационном файле Run, либо в коментарии архива. Также используются MST- файлы для заданных заранее параметров установки. Этот метод не всегда гибок. Данный факт сподвиг меня на исследования, которые вылились в целую статью. Повторять ее здесь нет смысла, поэтому обязательно почитайте статью по ссылке (http://www.oszone.net/9008). Здесь же небольшие замечания по использованию свойств установщика Windows.
Свойства (Properties) установщика, заданные в командной строке, имеют приоритет выше, чем MST-файл, что делает их отличным средством повышения гибкости вашего аддона. Можно исправить одну строку с параметрами, а не редактировать специальными программами MST- файл.
Синтаксис использования:
msiexec.exe /i Example.msi СВОЙСТВО
Если MSI- файл установки упакован установщиком в EXE- файл, то следует использовать стандартный ключ /v для передачи параметров в MSI- файл.
Синтаксис использования:
Example.exe /s /v”TRANSFORMS=unatend.mst /qn”
Обсуждение применения различных Свойств установщика Windows в ветке Msiexec - список ключей и свойств (http://forum.oszone.net/showthread.php?t=131710)
[hr]
Хочу поблагодарить отдельно забытого:
IDDQDesnik за пост #14 (http://forum.oszone.net/post-749715-14.html) - определившего название одной из групп аддонов в Руководстве.
Хочу поблагодарить людей внесших основные идеи в эту редакцию -
otsheln1k - сравнение размера сжатого файла с Layout.inf
Shido - отличный пример использования внутренней переменной UP
vserd - раскопанный возвращаемый параметр конфигурационных файлов
okshef - орфография
Приложение 2. к апрелю Обещал дополнить Staner
jameszero
26-03-2009, 08:51
volk1234
Приложение 1. Таблица префиксов.
ЭТО ПРИМЕР, а не руководство к действию !! »
Всё равно ничего не изменится. Как авторы называли свои аддоны, так и будут назвать, как пользователи переименовывали их под себя, так и будут продолжать.
Нужно чётко дать понять, что переименование авторских аддонов недопустимо, так как это нарушит зависимость данного аддона от других и изменит порядок интеграции, которые будут отличаться от проверенных автором в ходе тестирования, а так же затруднит анализ ошибок с помощью диагностического аддона.
При изготовлении своего аддона можно/рекомендуется/желательно... использовать следующую таблицу префиксов и привести эту таблицу.
Таблица префиксов должна рассматриваться как часть руководства к изготовлению новых аддонов, а не руководства к переименованию существующих, у нас же на форуме всё наоборот.
Лично я, если кто то сообщит о проблеме и прикрепит к посту диагностический лог интеграции Log.7z с переименованными аддонами, анализировать его не стану, в принципе.
Тонкости при создании аддонов SVCPACK
...
Самая распространенная конструкция аддонов типа SVCPACK - это строка с использованием ключа тихой установки конкретного установщика. »
Это о чем? О файле run?Синтаксис использования:
Код:
Example.exe /s /v”TRANSFORMS=unatend.mst /qn” »Это где? В файле run?
volk1234
27-03-2009, 01:18
Это о чем? О файле run? »
Обязательно поправлю -
Например так:
Самая распространенная конструкция аддонов типа SVCPACK - это строка с использованием ключей тихой установки конкретного установщика в конфигурационном файле Run, либо в коментарии архива.
Открою небольшой секрет:
В приложении 9, вторым пунктом я хотел сделать:
2. Использование архиваторов.
2.1 Winrar
2.2 7zip
И если с winrar я худо бедно справлюсь, то 7ZIP лучше Вас преподнести несмогу точно - ибо редко его использую.
Рассмотрите возможность написать небольшой мастер- класс по использованию 7zip для создания SVCPACK аддонов,
а то для меня все эти ai1 ai2 темный лес, и таких как я много :)
Кроме того во втором пункте будет небольшое сравнение +\- этих архиваторов для создания аддонов.
-этот раздел не планировался, как ликбез по использованию архиваторов, но как небольшой обзор удобных и нужных комманд архиваторов(или их возможностей).
Нужно чётко дать понять, что переименование авторских аддонов недопустимо, »
Я попробую сформировать это как- то, но как показывает моя практика - попытка запретов или стандартизации в этой области - бессмысленна,
предупредить - это наша забота, а остальное - дело конкретного человека. Большое количество запретов может только привлечь определенную часть пользователей к префиксам.
изменить на
Посмотреть пример использования префиксов (составил участник конференции Oszone Shido): Приложение 1. Таблица префиксов
....
»
Поддерживаю jameszero.
Предлагаю такую формулировку:
При разработке нового аддона рекомендуется использовать префиксы. Это облегчит "разбор полетов" и понимание порядка выполнения аддона при интеграции. Префиксы см. в Приложении 1 и далее по тексту.
КРАЙНЕ НЕ РЕКОМЕНДУЕТСЯ переименовывать аддоны бездумно-самостоятельно. Вы должны понимать что вы делаете и что хотите получить. Если ваше переименование вызвано насущеной необходимостью, отпишитесь в топике по аддну который вы изменяете, также укажите на проблему в топике(-ах) связанных аддонов. Переименование очень серьезная операция и просто так автора адднов ее делать не будут. И аргумент что мол это в руководстве прописано, вы должны сделать, не является решающим. Некоторые аддноны были сделаны до составления этой таблицы. Они отлажены как самим автором аддона, так и авторами-"конкурентами" (связанными, конфликутющими и прочими), проверены множеством пользователей в реальной жизни.
Так же учтите что большинство авторов аддонов, крайне неохотно разбираются с проблемами которые вызваны самостоятельным переименованием, некотрые четко определяют что если вы себе головняк устроили, вы его и решайте. На тестирование аддона (взаимодействий аддонов) уходит очень много времени, и тратить его просто так никто не будет.
Таблица префиксов должна рассматриваться как часть руководства по изготовлению новых аддонов, а не руководства к переименованию существующих.
Т.е. не только выписать запрет, но и почему этот запрет был выработан.
Тонкости изменения дистрибутива.
В дополнение рекомендация с таким смыслом: Вам прийдется разобраться как писать командные файлы (.bat, .cmd), написании/синтаксисе inf-файлов, устройстве дистрибутива windows и прочих тонкостях, все решается вашей хотелкой. Будьте предельно внимательны т.к. вы легко можете угробить работу всех остальных аддонов, как на этапе сборки дистрибутива, так и собственно установки.
В остальном считаю что по этой категории аддонов даны нормальные рекомендации, ввиду того что это действительно штучная, эксклюзивная работа которая выполняется крайне редко. И когда человек к ней прийдет, то опыт у него уже будет.
Посмотреть пример использования префиксов (составил участник конференции Oszone Shido »Не нужно выкладывать спички, а потом над ними писать: "Спички детям не игрушка". Как не читали предупреждений, так и не будут их читать. Много ли авторских аддонов сделано с применением этой таблицы!? А вот пользователей стремящихся к мнимой красивости в списке аддонов и желающим использовать эти префиксы уже видел на форуме предостаточно и все больше просили помочь в разборе их проблем.
Резюме:
Считаю эту таблицу не нужной (не в обиду ее автору) и даже вредной. Убрать! ИМХО.
Считаю эту таблицу не нужной (не в обиду ее автору) и даже вредной. Убрать! ИМХО. »
Я не обижаюсь. Но ИМХО:
Руководство по написанию аддонов. »
А не по использованию. Не для пользователей. Если бы авторы ими пользовались повсеместно, то проблемы бы не было.
volk1234
28-03-2009, 02:19
Не смотря на то что, против этой злосчастной таблицы очень мной уважаемые товарищи и мне легче было бы просто ее удалить, позволю себе привести обратные аргументы:
1. Фольклорный: Если закон запрещает иметь оружие - оно будет только у преступников !
Как автор аддона узнает о префиксах? Как asmol написал бы 0-HTMLINFO, еслибы ему не говорили про "вредные" префиксы ?
2. Фактический: Люди узнают про префиксы из любых других источников, только это уже будет не написанное нами совместно руководство, где мы может предупредить пользователей и авторов о проблемах связанных с префиксами.
То, что кто- то неправильно понял применение этой таблицы не делает ее вредной. Также как и постоянные увещевания не интегрировать по 100 нужных- ненужных аддонов, а пользоватся автоустановкой - и всеже никто не говорит, что аддоны вредны и их надо убрать. И как всегда находятся эстеты, которые поднимут все буквы в верхний регистр, перименуют папки аддонов в красивые для них имена и тогдалее.
Давайте откровенно. Сколько людей переименовало аддоны прочитав руководство и обратилось к вам?
Jameszero - кроме trol_tmn кто еще так поступил и обратился к вам?
Gora, а у вас сколько было фактов проблем из за префиксов ?
- Не спорю проблемы из за переименования аддонов были, но не только из-за руководства, и не только из за префиксов. (ОПК 3.13 - : ) )
В руководстве все подробно расписанно и про проблемы и про применение. Предлагаю на обсуждение еще один вариант - изменить, переделать таблицу, чтобы она была примером для создания\отладки аддонов. Тоесть убрать имена реальных аддонов (ну может оставить имена служебных аддонов)
В любом случае я подчинюсь воле большинства.
Итак за удаление - 2 ( gora, Jameszero)
За переделку - 3 (vserd,volk1234, Shido)
Предлагаю такую надпись в приложении:
ЭТО ПРИМЕР, а не руководство к действию !!
Переименование чужих аддонов недопустимо, так как это нарушит зависимость данного аддона от других и изменит порядок интеграции, которые будут отличаться от проверенных автором в ходе тестирования, а так же затруднит анализ ошибок с помощью диагностического аддона.
При создании аддона, который требует строгой очередности выполнения имеет смысл использовать префиксы по следующей схеме -
Аддон который надо обработать, до всех других аддонов в том числе встроенных аддонов UP именовать префиксом 0-имя_аддона
Аддон который надо обработать, после всех других аддонов именовать префиксом 9-имя_аддона (либо zz-имя_аддона).
..название столбца: Пример записи и предлагаемый порядок аддонов
изменить на
Пример записи с префиксом.
И если все захотят - давайте переделаем таблицу ?? Чтобы в ней небыло реальных аддонов, которые созданы без префиксов.
Я за то чтобы оставить. Если нужно переделать давайте переделаем, тем более, что у себя в пакете я использую префиксы, и их назначение несколько отличается от того варианта который в руководстве (жизнь заставила несколько пересмотреть свои взгляды).
Повторяю проблема не в пользвателях которые хотят красоты а в авторах которые не могут договорится. Префиксы достаточно мощный и удобный инструмент, но его преимущество проявляется только при повсемесном использовании. Повторяю это мое ИМХО, никого обидеть не хочу и заставлять пересматривать свои взгляды не буду.
jameszero
28-03-2009, 10:48
volk1234
Изначально я за удаление таблицы префиксов, об этом мы общались по ICQ, прошу перенести мой голос.
Переделку предложил, как говорится, на крайний случай.
volk1234
29-03-2009, 03:38
jameszero
Я и не подумал тебя перевирать, просто надеялся - а вдруг ты смилостивишься над бедным приложением :)
Онож мне как дитя...
это строка с использованием ключей тихой установки конкретного установщика в конфигурационном файле Run, либо в коментарии архива. »Из контекста следует, что приведенную ниже строку можно использовать в файле run:
Синтаксис использования:
Код:
Example.exe /s /v”TRANSFORMS=unatend.mst /qn” »
А это не так! Использовать ее в файле run НЕЛЬЗЯ и это должно быть объяснено пользователю как и причины по которым это недопустимо!
volk1234
31-03-2009, 14:18
Использовать ее в файле run НЕЛЬЗЯ и это должно быть объяснено пользователю как и причины по которым это надопустимо! »
Можно подробнее, почему недопустимо? Из за кавычек?
Example.exe /s замечательно работает.
почему недопустимо? Из за кавычек? »
В процитированной строке, кавычки и знак равенства. Добавлю еще и знак минус, используемый часто как разделитель в серийных номерах.
PS
Файлу run вообще уделено недостаточно внимания, в то время как он достаточно неординарный и требует определенных знаний при размещении в нем ком. строки. У меня в ходе тестирования одного аддона были случаи, что из-за несоблюдения определенных правил, дистрибутив вообще не устанавливался на машину!
volk1234
05-04-2009, 03:12
Файлу run вообще уделено недостаточно внимания »
Приведите пример того неудачного файла run, пожалуйста.
У меня такая просьба: люблю, когда всё стройненько так... и не нравится мне, что папка аддона внутри архива и сам архив имеют сплошь и рядом разные (иногда слишком разные!) имена; иногда в именах архивов указывается дата выхода данной версии аддона или номер версии, и форматы отображения этой числовой информации тоже самые разные.
Например, названия архивов:
MHTIE_2008-05-17.7z
7_Zip_466a_nv_nup__s_090322_15-50.7z
3-dllsfull-9.2.9.7z
MIGRES.7z
Del_SCSI-4_03022008.7z
В общем, гляжу я на свою коллекцию чужих аддонов и вижу, что в смысле именования - кто в лес, кто по дрова... Понимаю, что всех не построишь в одну шеренгу - но хотелось бы это как-то причесать. Ну, например, задать такое требование:
имя архива = имя папки внутри
Хотя дата бывает нужна для ориентации при обновлениях. Тогда так:
имя архива = имя папки внутри + дата в жестко заданной форме
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC