Показать полную графическую версию : Руководство по созданию аддонов (текущая версия)
Страниц :
1
2
3
4
5
6
[
7]
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Блин пришлось отменить "полезное сообщение" за прошлый пост, а то подхалимски выглядело...»
У ти какой нехороший хгы-хгы :)
volk1234, я уже давно предлагаю для Del аддонов ставить префикс zz_ (т.д. если аддон называется Del, то переименовываем его в zz_Del (чтобы в самом конце паком обрабатывались)) и ошибок нет, и юзеры вопросов типа: А почему у меня это не сработало? А почему у меня лог не "чистый"? задавать не будут...
кстати на благодарности жал, чтоб тебя в контрибутеры выдвинули... »
Это кстати играет не такую большую роль. Смотрится ведет ли человек свои проекты, активен ли на форуме и т.д. (Где-то прочитал, не помню где, но точно помню, что полезняшки не играют такой уж большой роли)
Не бейте за оффтоп :)
dimich22
15-04-2008, 09:03
Чтобы закрыть тему обсуждения контрибьютеров и прочие полезняшки. Действительно, звание Contributor присваивается не за конкретное количество полезных сообщений, а по совокупности. В общем, за вклад в развитие проекта OSZone. На примере nordviking, который является ньюсмейкером вполне можно это наблюдать. Тоже самое касается и людей, наполняющих wiki. Мнение участников форума несомненно учитывается, но решение принимает административный состав. Надеюсь, на этом закончим и вернемся непосредственно к созданию руководства.
unikum111
15-04-2008, 09:28
volk1234, может есть смысл сделать руководство в *.chm формате, после выхода финала, естественно?
volk1234
15-04-2008, 11:22
После обсуждения Руководство будет переведено в статью в разделе Автоматическая установка.
Ну и подумываю насчет chm.. »
Люди мне стыдно, но какая стандартная кодировка у текстовых файлов? utf-8 ?ansi ? unicode ?
В руководстве написал, файлы должны быть в стандартной кодировке, а какая она стандартная...?
DyadyaGenya
15-04-2008, 22:57
volk1234, я в другой ветке привел пример использования "тихой" установки sysoс аддона, по правде говоря просто взял на себя смелость привести его, поскольку нигде не встречал подобного, да и на мой взгляд нигде не было примеров быстрой проверки работоспособности таких адонов, только про установку с виндой читал, у svpack просто устанавливали на готовую винду и все, проверка закончена. Может и зря затеял это, но помоему стоит добавить в статью и пункт как проверка работоспособности?
но какая стандартная кодировка у текстовых файлов? »
по идее ANSI, но воспрнимает и:
utf-8 »
, что есть более универсально...
Может и зря затеял это, но помоему стоит добавить в статью и пункт как проверка работоспособности?
из Вашего сообщения, вообще не понятно, что Вы хотите проверить.. (не svpack, а svcpack)
volk1234
16-04-2008, 03:00
пример использования "тихой" установки sysoс аддона »
если вы сможете привести пример "громкой" установки sysoс аддона вам сразу дадут MVP :)
Проверка работоспособности вопрос очень важный, проверить на виртуальной машине или рабочей системе одно дело,
а на конкретной системе где глючит память, блок питания на 200W, винт стучит и сгоревшая сетевуха, и директор жмется потратить 50 баксов, другое дело.
И оба примера никто не посчитает "эталоном" ...
DyadyaGenya
16-04-2008, 13:24
volk1234, И оба примера никто не посчитает "эталоном" » честно говоря не понял про какие оба примера идет речь, но думаю, если глючит железо, то никакая прога не станет, всеравно, встроена она в винду или ставиться на готовую, надо железо ремонтировать, это я говорю как железячник, я ведь даже не програмист и не админ, 3 месяца назад впервые сел за разборку прог :-) а если директор жмется, то просто железо делаеться "нерабочим" и не приколупаешься, хочет-нехочет, а придеться обновить, всеравно на стучащем винте далеко не уедешь, и если память битая, темболее, даже неро не ставится :-) сразу глюк выдает
и я не знаю что такое MVP » :-) но просто сам успел устать от бесконечной переустановки винды ради проверки работоспособности одного единственного аддона, и как я говорил, нигде не нашел способов проверки, кроме как на виртуальной машине, вот и предложил способ :-) быстро проверить, а так называемая громкая в любом случае (как мне кажеться) используеться при написании программ :-) просто зашиваеться внутрь с помощью вспомагательной типа инносетап или мси
Drinko, проверять sysoc-аддоны, как, например регестряться библиотеки, или записи в реестр заносяться, даже на ярлыках лично я спотыкался долгое время, не говоря уже про работоспособность удаления, если б знал как быстро проверить то потратил бы меньше времени. В любой теме посвященой тому или иному аддону обязательно встречаються вопросы типа "это не работает, то не работает", и ответ, мол "буду переустанавливать винду проверю". и думаю уж если все срабатывает на готовой винде, то в апдейт пак от Пети точно встроиться :-) без проблем и со всеми нужными настройками :-)
не svpack, а svcpack » просто очипетка :-) они у меня постоянно :-) и в русском тоже :-)
volk1234
16-04-2008, 15:51
DyadyaGenya
просто дайте ссылку на свой способ,
volk1234, я в другой ветке привел пример использования "тихой" установки sysoс аддона »
а не просто " в другой ветке", мне весь форум перелопачивать?
А вообще на будщее, если не знаете, где написали, в вашем (или чужом) профиле(это ссылка такая в заголовке каждого сообщения "Профиль") есть фильтр "Найти все сообщения от .....",пользуяся которой я нашел ваш способ. Честно скажу понял с трудом, но вы наверное имеете в виду установку конкретного аддона, через inf- файл. Если так, то inf файл изначально предназначен и для установки на работающую систему.
Посмотрите мой пример в руководстве,по созданию аддона, так вот там как раз в последней части описывается как из inf установщика для рабочей системы, сделать аддон, какие секции добавить.
Повторюсь вкратце, для того чтобы аддон типа Sysos мог применятся на рабочей системе, в нем желательно наличие
сеции [DefaultInstall] - для запуска inf- файла из контекстного меню (а не через rundll32), из [SourceDisksNames] можно убрать I386,
в принципе если все лежит в одной папке, не нужны секции [OptionalComponents], инструкции Modes=, Parent=.
Но таким способом вы проверите только работоспособность установщика inf, а не работоспособность аддона, так как ошибка может быть в txtsetup, dosnet или sysoc либо проявлятся только в процессе установки системы...
DyadyaGenya
16-04-2008, 18:38
volk1234, ссылку дать как раз и был вопрос :-) теперь вроде нашел как и благодарю за подсказку как смотреть все сообщения любого автора, честно говоря не знал :-), да и были сомнения интересует это кого то или нет, да и способ врбщем то применил похоже как у вас :-)
только для собстевенной тренировки даю ссылку на то сообщение :-) как я понял вы уже посмотрели
http://forum.oszone.net/thread-60631-44.html
про txtsetup, dosnet или sysoc даже не подумал, казалось что они сработают обязательно, раз создавались с помощью компилятора, а секцию I386 вычислил, что её не можно, а нужно удалять, иначе выдает ошибку, и про [DefaultInstall] тоже вычислил можно сказать методом научного тыка, после прочтения статьи про инф-файл.
Мне запуск инф файла сильно помог экономить время, хотя бы потому что ещё иногда наступаю на грабли с реестром и другими секциями.
volk1234
17-04-2008, 00:16
вроде нашел как и благодарю за подсказку как »
Продолжим ликбез, хотя эта тема и не предназначена для описания работы сайта, если вам было полезно предыдущее
сообщение, жмите "Полезное сообщение" ;) Это делается не только для выражения благодарности, по полезным сообщениям тоже
есть поиск...
а секцию I386 вычислил »
Вот цитата из руководства по inf файлам.
[SourceDisksNames]
1 = "Drive_Name","data1.cab",subdir
тоесть i386 указывает путь к data1.cab. Если все файлы лежат в одной папке путь равен = 0;Хотя на самом деле в официальных источниках
последний параметр это номер диска, а не поддиректория. Номер диска за исключением установки из дистрибутива всегда должен быть равен=0;
Вообще хотел вам дать 2 совета,
1. Выражайтесь яснее, уж не в обиду, во многих ваших сообщениях сумбур, трудно понять что вы хотите спросить\сказать.
Выкладываемые вами код часто содержат только часть кода, по которому сложно что- то понять и помочь вам. Пользуйтесь вложениями,
тоесть прирепляйте к сообщению файл который у вас не работет, или залейте целиком аддон на файлообменник и дайте в сообщении ссылку. Для того, что бы Ваше сообщение было яснее, пользуйтесь кнопкой Предварительный просмотр, чтобы до отправки сообщения еще раз прочитать и подправить сообщение.
2. Как вы сами и признались, в написании скриптов у вас серьезные пробелы ( у меня не намного лучше :) ). Прочтите целиком Руководство по написанию аддонов (в шапке), которое здесь обсуждается. Перед этим прочтите Руководство по Автоматической установке (http://www.oszone.net/2747) и Руководство по Inf файлам (http://www.oszone.net/3827) . И вам станет значительно легче и проще писать аддоны.
Например вы четко будете знать что inf - файл это одно, а аддон это другое. Очень советую вам НЕ пользоватся компилятором аддонов,
а писать их вручную, дабы назубок выучить инструкции и секции, а компилятор скорее средство автоматизации для тех кто делает аддоны пачками, с большим количеством копируемых файлов.
volk1234
17-04-2008, 03:29
NEW Новое приложение к Руководству, думаю, будет интересно даже опытным авторам аддонов.
Приложение 7. Секция [Optional Components]
Бродя по темным закоулкам Technet и просматривая одним глазом DDK и SDK KIT для Win98 я наткнулся на описание
загадочной секции использующейся для установки через sysoc.inf. Я подозревал, что это штатная секция INF файлов, просто не сильно
афишировавшаяся. Итак,
Секция [Optional Components]
Синтаксис:
[Optional Components]
Имя секции -ссылка на секцию в файле которую надо исполнить для установки
.....
[Имя секции] - сама установочная секция
Данная секция служит для добавления устанавливаемого приложения в список оснастки "Установка\Удаление программ \Компоненты Windows"
Секция не будет исполнена при попытке выполнить файл по правому щелчку мышью, через команду [Setupx.dll InstallHinfSection точка_входа] также
нельзя выполнить [Optional Components]. В первом случае будет выполнятся секция [DefaultInstall], во втором секция указанная точкой входа. Параметры
[Optional Components] будут игнорированны.
Насколько я понимаю для обработки дополнительных инструкций секции [Optional Components] и существует sysoc.inf, ocgen.dll, sysocmgr.exe.
В основном инструкции [Optional Components] служат для управления отображения компонентов в окне "Компоненты Windows".
Вернемся к синтаксису, в секцию установки могут быть добавлены следующие инструкции ОС:
OptionDesc=название дополнительного компонента
Tip=Подсказка в поле "Описание".
InstallDefault=0 | 1 ; Устанавливать компонент по умолчанию. 1=Да, 0=Нет.
IconIndex=Номер иконки для отображения
Parent= (имя секции\группы)группа или подгруппа в "Компоненты Windows" (Пример:игры windows относятся к Parent=AccessUtil, аддоны 3dParty к Parent=NonMS)
Needs=имя секции, имя секции
Include=inf-файл, [inf-файл]
OptionDesc это строковой параметр задающий название дополнительного компонента отображающегося в "Компоненты Windows". Может быть задан через Strings.
Tip это текст подсказки в поле "Описание", ограничение - 255 символов. Может быть задан через Strings.
IconIndex это иконка которая будет отображатся рядом с названием компонента, привожу список в оригинале:
0 Machine (base and display)
1 Integrated circuit chip
2 Display
3 Network wires
4 Windows flag
5 Mouse
6 Keyboard (3 keys)
7 Phone
8 Speaker
9 Hard disks
10 Comm connector
11 Diamond (default value)
12 Checked box
13 Un-checked box
14 Printer
15 Net card
16 Same as 0
17 Same as 0 w/ a sharing hand underneath
18 Unknown (question mark)
19 Atwork
20 Greyed check box
21 Dial-up networking
22 Direct cable connection
23 Briefcase
24 Exchange
25 Partial check
26 Accessories group
27 Multimedia group
28 Quick View
29 MSN
30 Calculator
31 Defrag
32 Generic document
33 DriveSpace
34 Solitaire
35 HyperTerminal
36 Object Packager
37 Paint
38 Screen saver
39 WordPad
40 Clipboard Viewer
41 Accessibility
42 Backup
43 Bitmap document
44 Character map
45 Mouse pointers
46 Net Watcher
47 Phone Dialer
48 System Monitor
49 Help book
50 Globe (international settings)
51 Audio compression
52 CD player
53 Media Player
54 Sound scheme
55 Video clip
56 Video compression
57 Volume control
58 Musica sound scheme
59 Jungle sound scheme
60 Robotz sound scheme
61 Utopia sound scheme
Parent это инструкция указывабщая является ли компонент подчиненным или родительским. Если параметр отсутствует, то менеджер дополнительных компонентов
считает что компонент родительский. Если указать несуществующий родительский компонент (например сам аддон) менеджер компонентов зависнет в попытке найти такого родителя.
Для всех Авторов Аддонов должен быть только один вариант Parent=NonMS (аддон 3dParty)- дабы не загаживать менеджер дополнительных компонентов (конечно, кроме особых случаев).
Needs указывает на секцию другого дополнительного компонента от которого зависит устанваливаемый компонент. Секция долна быть в этом же файле, в противном случае
необходимо использовать Include.
Include присоединяет inf- файл стороннего компонента к текущей установке, что позволяет ссылатся на секции в присоединенном файле
InstallDefault скорее всего досталось в наследство от Win98, я пробовал ставить аддон с этим параметром=1 вместо Modes=0,1,2,3 , аддон не поставился, но в списке
компонентов появился и позволил доустановить себя. У кого получится отпишитесь. Пока могу посоветовать использовать Modes=0,1,2,3.
Пример:
[Optional Components]
InstallMyToys
InstallGames
[InstallMyToys]
OptionDesc=%Toys_DESC%
Tip=%Tomytoysys_TIP%
IconIndex=35 ;Иконка "Телефон"
Parent=MailApps
Needs=MSMAIL, MAPI, MicrosoftNetwork
Include=mos.inf, msmail.inf
CopyFiles=MyToysFiles
UpdateInis=MyToysLinks
AddReg=MyToysRegItems
[InstallOtherApps]
OptionDesc=%Other_DESC%
Tip=%Other_TIP%
IconIndex=4 ;windows mini icon for dialogs
CopyFiles=OtherFiles
UpdateInis=OtherLinks
AddReg=OtherRegItems
[Strings]
Toys_DESC="Почтовая утилита"
Toys_TIP="Дополнительные почтовые инструменты"
Other_DESC="Другие полезные утилиты"
Other_TIP="Калькулятор, очистка диска и монитор производительности"
volk1234,
Include присоединяет inf- файл стороннего компонента к текущей установке, что позволяет ссылатся на секции в присоединенном файле »
Интересно, это проверено? Если я правильно понял то ссылатся можно только на инф в той же папке? Или коды директорий тоже работают?
volk1234
17-04-2008, 04:46
ссылатся можно только на инф в той же папке »
насколько я понимаю, при установке OC подразумевается что все inf - файлы лежат в одном месте- паке inf, на худой конец %windir%
Цель данной команды, запустить предустановку некоторых компонентов из одного \ нескольких inf файлов.
volk1234
19-04-2008, 12:55
добавил описание секции PerUserRemove (http://forum.oszone.net/post-777871-107.html)
Возможно под ХР и не пашет уже? Хотя использует advpack
volk1234
20-04-2008, 01:54
Сегодня великий день - я закончил переносить Руководство на сайт
и наконец нашел где в этом форуме изменяется количество сообщений на странице :)
Ссылка на статью на сайте http://oszone.net/6946
В ближайшее время я постараюсь внимательно прочесть руководство, и если найдутся мелкие помарки, поправить их (ошибки в технических аспектах в подавляющем большинстве случаев вы можете выявить лучше меня ;)). После чего руководство будет включено в состав оффлайн версии сайта.
Я хочу поблагодарить всех, кто принимал участние в работе над руководством - вы проделали очень большую работу не только с технической стороны, но и с общественной - это первый пример коллективного написания статьи (да еще такой большой!) для сайта, точнее - для всего сообщества.
Особая и отдельная благодарность - volk1234, который проделал огромный объем работы по объединению разрозненных фрагментов информации в отлично структурированную статью, сам написал или перевел подавляющее большинство материалов, вошедших в руководство, а также координировал всю работу по его созданию :up:
Большое спасибо!
Несколько исправлений.
Проверил только до примера аддона NeLook, но там сразу видно много ошибок. Непроверенное могу проверить, когда будет время. Или не надо?
Текст смотрел на сайте, а не на форуме.
дабы пользователи и авторы могли разобраться »
папки без префиксов будут обработаны позже
необходимо четко понимать, что название папок и архивов с аддонами остается
Аддоны в зависимости от целей и способов реализации делятся на 4 типа (в зависимости от способов интеграции в дистрибутив)
Может лучше так: Аддоны в зависимости от целей и способов интеграции в дистрибутив делятся на 4 типа
Аддоны, использующие SYSOC
Нужна запятая
Данный тип аддонов использует установку через INF скрипты
Может лучше: Аддоны этого типа устанавливаются с помощью INF скриптов
Unatend.txt
unattend.txt
секции из Sysoc, Txtsetup, Dosnet, находящихся в корневой папке аддона,
этапе файлы аддона, прописанные в списке Txtsetup.sif, копируются
Пример аддона, использующего SYSOC (addon FoxIT Reader)
с копированием файлов из cab- файла, следите, чтобы
переименовав в TCPP70RU.exe,
не дожидаясь, пока автор аддона
некрасиво выглядит. Нельзя сделать, чтобы строка продолжалась?
Если такие файлы необходимы,
они просто размещаются
Аналогично
программы требуется
установить обновления, либо,
Аналогично
они просто размещаются в папке SVCPACK аддона, скрипт их скопирует
Часть дистрибутива, замещающая файлы WMP9, размещается в папке
В папку аддона [..Files\ForceCopy\SVCPACK] помещаются файлы каталогов
Конфигурационный файл Run отсутствует, поскольку cat-файлы
Аддоны, изменяющие дистрибутив.
аддон Vista Path, изменяющий стандартные иконки
Раздел III. Примеры и приложения.
программка не очень большая ,записей
Поместив inf и cab файлы рядом, я проверил
Собственно секция, которая отвечает за удаление
volk1234
20-04-2008, 15:47
Несколько исправлений. »
исправил. Пробелы и переносы строк возникают из за особеностей редактора в котором пишутся статьи
для сайта. Так что возможны и в будущем похожие глюки.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.