PDA

Показать полную графическую версию : Руководство по созданию аддонов (текущая версия)


Страниц : 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 присутствует сообщение об ошибке:

Программа установки обнаружила ошибку при установке защиты системы.

Ошибка расширенного типа.

bish
08-02-2009, 00:57
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 с переименованными аддонами, анализировать его не стану, в принципе.

gora
26-03-2009, 12:02
Тонкости при создании аддонов 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 темный лес, и таких как я много :)
Кроме того во втором пункте будет небольшое сравнение +\- этих архиваторов для создания аддонов.

-этот раздел не планировался, как ликбез по использованию архиваторов, но как небольшой обзор удобных и нужных комманд архиваторов(или их возможностей).


Нужно чётко дать понять, что переименование авторских аддонов недопустимо, »

Я попробую сформировать это как- то, но как показывает моя практика - попытка запретов или стандартизации в этой области - бессмысленна,
предупредить - это наша забота, а остальное - дело конкретного человека. Большое количество запретов может только привлечь определенную часть пользователей к префиксам.

vserd
27-03-2009, 20:34
изменить на
Посмотреть пример использования префиксов (составил участник конференции Oszone Shido): Приложение 1. Таблица префиксов
....
»
Поддерживаю jameszero.
Предлагаю такую формулировку:
При разработке нового аддона рекомендуется использовать префиксы. Это облегчит "разбор полетов" и понимание порядка выполнения аддона при интеграции. Префиксы см. в Приложении 1 и далее по тексту.

КРАЙНЕ НЕ РЕКОМЕНДУЕТСЯ переименовывать аддоны бездумно-самостоятельно. Вы должны понимать что вы делаете и что хотите получить. Если ваше переименование вызвано насущеной необходимостью, отпишитесь в топике по аддну который вы изменяете, также укажите на проблему в топике(-ах) связанных аддонов. Переименование очень серьезная операция и просто так автора адднов ее делать не будут. И аргумент что мол это в руководстве прописано, вы должны сделать, не является решающим. Некоторые аддноны были сделаны до составления этой таблицы. Они отлажены как самим автором аддона, так и авторами-"конкурентами" (связанными, конфликутющими и прочими), проверены множеством пользователей в реальной жизни.

Так же учтите что большинство авторов аддонов, крайне неохотно разбираются с проблемами которые вызваны самостоятельным переименованием, некотрые четко определяют что если вы себе головняк устроили, вы его и решайте. На тестирование аддона (взаимодействий аддонов) уходит очень много времени, и тратить его просто так никто не будет.

Таблица префиксов должна рассматриваться как часть руководства по изготовлению новых аддонов, а не руководства к переименованию существующих.


Т.е. не только выписать запрет, но и почему этот запрет был выработан.

Тонкости изменения дистрибутива.
В дополнение рекомендация с таким смыслом: Вам прийдется разобраться как писать командные файлы (.bat, .cmd), написании/синтаксисе inf-файлов, устройстве дистрибутива windows и прочих тонкостях, все решается вашей хотелкой. Будьте предельно внимательны т.к. вы легко можете угробить работу всех остальных аддонов, как на этапе сборки дистрибутива, так и собственно установки.

В остальном считаю что по этой категории аддонов даны нормальные рекомендации, ввиду того что это действительно штучная, эксклюзивная работа которая выполняется крайне редко. И когда человек к ней прийдет, то опыт у него уже будет.

gora
27-03-2009, 23:44
Посмотреть пример использования префиксов (составил участник конференции Oszone Shido »Не нужно выкладывать спички, а потом над ними писать: "Спички детям не игрушка". Как не читали предупреждений, так и не будут их читать. Много ли авторских аддонов сделано с применением этой таблицы!? А вот пользователей стремящихся к мнимой красивости в списке аддонов и желающим использовать эти префиксы уже видел на форуме предостаточно и все больше просили помочь в разборе их проблем.
Резюме:
Считаю эту таблицу не нужной (не в обиду ее автору) и даже вредной. Убрать! ИМХО.

Shido
28-03-2009, 00:54
Считаю эту таблицу не нужной (не в обиду ее автору) и даже вредной. Убрать! ИМХО. »
Я не обижаюсь. Но ИМХО:
Руководство по написанию аддонов. »
А не по использованию. Не для пользователей. Если бы авторы ими пользовались повсеместно, то проблемы бы не было.

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-имя_аддона).

..название столбца: Пример записи и предлагаемый порядок аддонов
изменить на
Пример записи с префиксом.

И если все захотят - давайте переделаем таблицу ?? Чтобы в ней небыло реальных аддонов, которые созданы без префиксов.

Shido
28-03-2009, 02:49
Я за то чтобы оставить. Если нужно переделать давайте переделаем, тем более, что у себя в пакете я использую префиксы, и их назначение несколько отличается от того варианта который в руководстве (жизнь заставила несколько пересмотреть свои взгляды).

Повторяю проблема не в пользвателях которые хотят красоты а в авторах которые не могут договорится. Префиксы достаточно мощный и удобный инструмент, но его преимущество проявляется только при повсемесном использовании. Повторяю это мое ИМХО, никого обидеть не хочу и заставлять пересматривать свои взгляды не буду.

jameszero
28-03-2009, 10:48
volk1234
Изначально я за удаление таблицы префиксов, об этом мы общались по ICQ, прошу перенести мой голос.
Переделку предложил, как говорится, на крайний случай.

volk1234
29-03-2009, 03:38
jameszero
Я и не подумал тебя перевирать, просто надеялся - а вдруг ты смилостивишься над бедным приложением :)
Онож мне как дитя...

gora
31-03-2009, 11:36
это строка с использованием ключей тихой установки конкретного установщика в конфигурационном файле Run, либо в коментарии архива. »Из контекста следует, что приведенную ниже строку можно использовать в файле run:
Синтаксис использования:
Код:
Example.exe /s /v”TRANSFORMS=unatend.mst /qn” »
А это не так! Использовать ее в файле run НЕЛЬЗЯ и это должно быть объяснено пользователю как и причины по которым это недопустимо!

volk1234
31-03-2009, 14:18
Использовать ее в файле run НЕЛЬЗЯ и это должно быть объяснено пользователю как и причины по которым это надопустимо! »

Можно подробнее, почему недопустимо? Из за кавычек?

Example.exe /s замечательно работает.

gora
31-03-2009, 14:22
почему недопустимо? Из за кавычек? »
В процитированной строке, кавычки и знак равенства. Добавлю еще и знак минус, используемый часто как разделитель в серийных номерах.

PS
Файлу run вообще уделено недостаточно внимания, в то время как он достаточно неординарный и требует определенных знаний при размещении в нем ком. строки. У меня в ходе тестирования одного аддона были случаи, что из-за несоблюдения определенных правил, дистрибутив вообще не устанавливался на машину!

volk1234
05-04-2009, 03:12
Файлу run вообще уделено недостаточно внимания »

Приведите пример того неудачного файла run, пожалуйста.

truvo
05-04-2009, 04:20
У меня такая просьба: люблю, когда всё стройненько так... и не нравится мне, что папка аддона внутри архива и сам архив имеют сплошь и рядом разные (иногда слишком разные!) имена; иногда в именах архивов указывается дата выхода данной версии аддона или номер версии, и форматы отображения этой числовой информации тоже самые разные.
Например, названия архивов:
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