Войти

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


Страниц : 1 2 3 4 5 6 7 8 [9] 10 11 12 13 14 15 16 17 18 19 20 21

prokazzza
15-05-2008, 07:14
volk1234,

16421 C:\WINDOWS\System32
16404 C:\WINDOWS\Fonts (папка Шрифты)

можно использовать и другие, например:

11 - system32
20 - fonts

volk1234
16-05-2008, 22:25
Я приступил к редактированию материала, »

Нельзя ли сообщать о прогрессе, и о завершении редактирования ...

а то я сам у ся нашел пару очипяток

HKLM,"%Key%","DisplayIcon",,"16422,"SOMEAPP",0"


-лишняя кавычка


Для примера я выбрал программку Netlook. Причина заключается в желании совместить приятное с полезным - такого аддона еще нет, программка

-кажись с одной "м"

Cоздание/удаление ярлыка в контекстном меню "Отправить" (SendTo) с помощью inf :
-лишнее, не подходит по смыслу

truvo
17-05-2008, 03:22
Вот я решил переименовать перед интеграцией в своем наборе аддонов папки с аддонами, которые выкладывают авторы, в соответствии с теми префиксами, котоорые рекомендуются в руководстве по созданию аддонов.
Есть у меня, в частности, аддон Punto switcher и аддон 3rdParty.
Первую папку, как стороннюю программу, я переименовал через 7.
Второй аддон называется в списке аддонов на wiki служебным, поэтому я его переименовал с 0.
И тогда при интеграции высвечивается, что Punto требует для своей работы 3rdParty.

Shido
17-05-2008, 03:43
truvo, тебе нужно исправить в аддоне Punto switcher файл Required т.к. там осталось прежнее название и естественно его не находит. Прочитай руководство там всё есть, и ИМХО ознакомится с ним нужно всем.

volk1234
17-05-2008, 21:09
т.к. там осталось прежнее название и естественно его не находит. »

Между прочим неплохое дополнение к руководству из разряда не очевидных ошибок. Надо будет добавить...

truvo
17-05-2008, 22:58
решил переименовать перед интеграцией в своем наборе аддонов папки с аддонами, которые выкладывают авторы, в соответствии с теми префиксами, котоорые рекомендуются в руководстве по созданию аддонов »А по вашему мнению, есть ли вообще смысл в таких моих действиях? Получается, что я переделываю за авторами, которые тоже не дураки...
кажись с одной "м" »
С двумя! Для убеждения: http://gramota.ru/slovari/dic/?word=%EF%F0%EE%E3%F0%E0%EC%EC%EA%E0&all=x
неплохое дополнение »Ну, так нажмите на кнопочку - поблагодарите Shido. Будем взаимно вежливы.

volk1234
18-05-2008, 11:09
А по вашему мнению, есть ли вообще смысл в таких моих действиях? Получается, что я переделываю за авторами, которые тоже не дураки... »

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

Vadikan
21-05-2008, 02:59
Нельзя ли сообщать о прогрессе, и о завершении редактирования ... »
Я работаю над этим, просто уезжал на три дня. Орфография и стилистика - ок, но пунктуация... Правка требуется чуть ли не в каждом предложении :) Я скоро закончу уже.
а то я сам у ся нашел пару очипяток »
Замеченные опечатки можно и нужно править. Моя просьба не править текст относилась скорее к глобальным правкам - типа восстановлению статьи из бэкапа старого, затирающего все недавние изменения.

Для примера я выбрал программку Netlook. »
Я уберу к - явно лишняя :)

Rostlv
22-05-2008, 21:53
Предлагаю ввести правило для авторов аддонов - все файлы, интегрируемые в дистрибутив должны быть названы заглавными буквами. Думаю, что дистрибутив от этого приобретёт надлежащий вид. Сейчас же после интеграции многих аддонов, в особенности крупных, приходится самому переименовывать файлы, что не очень удобно. Конечно на работу это не оказывает влияния, но зато дистрибутив смотрится завершённым. Также, по моему мнению, хорошо бы определиться с расширениями файлов в "RUN" в плане регистра, сейчас же одни аддоны в верхнем, другие - наоборот. Если посмотреть "svcpack.inf", всё сразу видно.
Это же касается и названий самих аддонов и файлов в них. Это всего лишь предложение, но надеюсь на понимание.

Vadikan
23-05-2008, 01:08
В связи с переносом форума на новый сервер потерлось мое сообщение. Дублирую вкратце.

1. Предлагаю приложение 7 поднять выше и сделать его приложением 5 - это связанные вещи вроде.
2. Нужны ссылки на источники информации в том случае, если она заимствована с других русских сайтов (пример - приложение 5). Что-то еще бралось?

Внимание: Никаких правок в руководстве делать нельзя до особого уведомления - есть глюки после переезда.

volk1234
23-05-2008, 02:33
Предлагаю приложение 7 поднять выше и сделать его приложением 5 »

Голосую ЗА. Достойний таварищ на павишение!

Если она заимствована с других русских сайтов (пример - приложение 5) »

Пример неудачный, данная информация наполовину заимствована из поста Drinko(где он брал инфу не знаю, но подозреваю что и с
осзона тоже), наполовину с ангельского micrososft ... навскидку счас не дам ссылку, статья про этапы установки WINXP.
txtsetup - gosh указано
sysoc- сам
Optional components - SDK IE 6

Копи - паста особого нет (к сожалению для меня :) ), в основном, в тексте статьи использовалась инфа с форума осзона - своими словами
или предложенная инфа участниками - их словами, а также вольный перевод (настолько вольный, что комитет по авторским правам не докопается )

Еще

программка не очень большая, записей в реестр не делает (то есть практически переносное)

Я понимаю, что портэйбл это нерусское слово, но в конкретном предложении падеж не прослеживается никак. может написать portable?
Или это Vadikan испытывал новое секретное оружие - бот-коректировщик американизмов ? :biggrin:

vserd
23-05-2008, 10:23
Rostlv, правило для авторов аддонов - все файлы, интегрируемые в дистрибутив должны быть названы заглавными буквами. »
Нафиг. Не хватало еще тратить время на такую ерунду.
Когда файлы интегрированны в дистрибутив, то всем уже совершенно пофиг какие именно. Главное чтобы работало.

jameszero
23-05-2008, 12:42
Rostlv
Предлагаю ввести правило для авторов аддонов - все файлы, интегрируемые в дистрибутив должны быть названы заглавными буквами. Думаю, что дистрибутив от этого приобретёт надлежащий вид. Сейчас же после интеграции многих аддонов, в особенности крупных, приходится самому переименовывать файлы, что не очень удобно.»
Правило или не правило, а в аддоне реализовал - [addon] CaseUP (http://forum.oszone.net/thread-107587.html)

хорошо бы определиться с расширениями файлов в "RUN" в плане регистра, сейчас же одни аддоны в верхнем, другие - наоборот. Если посмотреть "svcpack.inf", всё сразу видно. »
Внутри TXTSETUP.SIF вы тоже правите имена файлов дистрибутива Windows?

Boa Soft
23-05-2008, 14:28
Правило или не правило, а в аддоне реализовал - [addon] CaseUP »
Добавлю функцию в интегратор.

DyadyaGenya
23-05-2008, 16:56
volk1234, недавно столкнулся с дополнительными сведениями про аддоны sysoc, и все благодаря ya158
может вы то это и знаете, но в руководстве это не отмечено, а мне кажется для понимания разницы между типами аддонов эти сведения пригодились бы
1 - оказывается sysoc аддоны встраиваются в дистрибутив как компоненты винды, а не как стороние программы, и по идее должны оторбражаться в менеджер Установка и удаление компонентов Windows и соответственно устанавливаться и удаляться оттуда, хотя я кстати, ни разу такого не встречал.
2 - sysoc аддоны устанавливаются на т24, а не на т13, как svcpack
3 - если это верно, то для удаления веток реестра не всегда достаточно следующей секции с одной строкой, хотя в руководстве написано что довольно одной строки.
[PROG.DelReg]
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%"

вот ссылка на посты ya158 который мне помог разобраться в некоторых вещах
http://forum.oszone.net/post-807983-462.html

volk1234
23-05-2008, 18:58
DyadyaGenya
Отвечу цитатами из руководства, которое вы видимо не читали. Отсюда ваши проблемы с написанием inf- скриптов и аддонов sysoc.
2 - sysoc аддоны устанавливаются на т24, а не на т13, как svcpack »



http://oszone.net/6946#d4

8. Установка дополнительных компонентов ОС (sysoc.inf) С помощью sysoc.inf менеджер установки строит список файлов для установки этих компонентов. Затем этот список сверяется с файлом unattend.txt (winnt.sif) если он есть. По результатам сверки образуется конечный список устанавливаемых компонентов..


Это происходит между T37 и T32, а не на T24 !!! Уж скорее на Т34, хотя на мой взгляд это не такой уж линейный процесс и к одной минуте его врядли можно привязать, например, тот же ocmanage.dll (диспетчер дополнительных компонентов) стартует аж на T38...

[hr]
1 - оказывается sysoc аддоны встраиваются в дистрибутив как компоненты винды, а не как стороние программы, и по идее должны оторбражаться в менеджер Установка и удаление компонентов Windows и соответственно устанавливаться и удаляться оттуда, хотя я кстати, ни разу такого не встречал. »



.... Важно! Чтобы интегрировать аддон, но при этом НЕ уставить его, чтобы он был доступен впоследствии для установки через менеджер компонентов Windows, необходимо в установочных INF-файлах каждого аддона закомментировать параметр Modes точкой с запятой.



....Для размещения вашего приложения, устанавливаемого через Sysoc в группе 3rdParty (Программы сторонних разработчиков), добавьте в исполняемую сецию инструкцию Parent=NonMS. Также, уберите параметр HIDE из строки в Sysoc.
... ;Modes=0,1,2,3 ;аддон не будет установлен по умолчанию, его доустановка возможна из "Установки компонентов Windows"

и целиком вашему вопросу посвящено Приложение 7. Секция [Optional Components] (http://oszone.net/6946#d6)

[hr]
3 - если это верно, то для удаления веток реестра не всегда достаточно следующей секции с одной строкой, »

Покажите где в руководстве написано, что для удаления ВСЕХ записей сделаных при установке, надо удалить только одну строку в реестре ????
Для удаления всех записей сделаных в реестре надо ( можно логически догадатся) выполнить действия обратные добавлению в реестр. Как правило для этого достаточно в секции Деинсталяции поубивать разделы(DelReg) реестра созданные программой, либо скопировать раздел регистрации без флагов и значений( только с ключами), в созданый раздел удаления из реестра.

Приведенная вами строка


[PROG.DelReg]
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%"

Всего лишь удаляет приложение из оснастки Установка\удаление программ.
[hr]
Единственное с чем соглашусь, что надо бы добавить в руководство разьяснение про Optional Components в раздел Sysoc аддонов а не в приложения
Как там говорили на BBS лентах? RTFM ! - Читайте руководство !

DyadyaGenya

Добавлю пожалуй еще,

Основные файлы используемые в аддонах SYSOC:

Txtsetup.sif
Dosnet.inf
Sysoc.inf

Так вот способ установки аддонов называется Sysoc именно из за использования Sysoc.inf.
Если необходимо просто скопировать при установке файлы в папку %Windir%, можно обойтись и без Sysoc.inf.
Просто добавив строки в Txtsetup.sif и Dosnet.inf.
Менеджер установки дополнительных компонентов используется как раз для полноценной установки компонентов, добавления записей в реестр и тд...
Надеюсь помог разобраться....

DyadyaGenya
23-05-2008, 20:12
volk1234, тогда я тоже отвечу цитатами из руководства, специально перечитал, хотя не спорю, я действтительно невнимательный, но вот что пишется:

Удаление записей реестра, так же как и ярлыков, отличается от добавления в реестр. Необходимо указать только корневой раздел, в данном случае, HKCU,"Software\Punto Switcher", и она будет удалена со всем подразделами. Секцией [CTFMON.Restore] мы восстанавливаем в автозагрузке стандартный переключатель раскладок, а в секции [CTF.dll.Restore] регистрируем связанные с ним библиотеки.

теперь по поводу встраиваемости аддона:
Данная секция служит для добавления устанавливаемого приложения в список оснастки "Установка\Удаление программ \Компоненты Windows"
Секция не будет исполнена при попытке выполнить файл по правому щелчку мышью, через команду [Setupx.dll InstallHinfSection точка_входа] также
нельзя выполнить [Optional Components]. В первом случае будет выполнятся секция [DefaultInstall], во втором секция указанная точкой входа. Параметры
[Optional Components] будут игнорированны.

Насколько я понимаю для обработки дополнительных инструкций секции [Optional Components] и существует sysoc.inf, ocgen.dll, sysocmgr.exe.
В основном инструкции [Optional Components] служат для управления отображения компонентов в окне "Компоненты Windows".
так я здесь не увидел, как в прочем и в остальной части статьи, что это обязательно, просто как выбор куда будет интегрироваться и устанавливаться, тоесть вроде как наличие альтернативы например, чтоб не встраивать в менеджер "установка и удаление программ", но тут не показано, что данный тип аддонов является именно компонентом винды, если можно так сказать

ну и по поводу того, когда на каком этапе устанавливаются sysoc аддоны. Возможно было бы понятнее, если бы эти этапы как на мой взгляд не были описаны отстраненно от аддона, тоесть вы похоже просто взяли цитату из другой статьи и вставили в свою без особой привязки к тексту. Чтобы любой Вася Пупкин, который очень хочет, старается, но к сожалению не все у него получается, мог при этом прочитать и сообразить к чему этот материал, на мой взгляд стоило бы обьяснить более подробно :) Поверьте, будь сказано раньше, что любая программа, встраиваемая в дистрибутив винды посредством sysoc, становиться как бы компонентом винды , а не отдельной программой, и поэтому её интеграция может быть сопоставима с этапами установки самой винды, вопросов бы возникало меньше.
и кстати, это конечно не критично, но авторегистрация аддона у меня сработала именно на т24, поэтому и возник вопрос о том, что этим он отличается от svcpack, тот ведь как я понимаю срабатывает целиком на т13, вместе с той же авторегистрацией.

volk1234
23-05-2008, 22:26
тогда я тоже отвечу цитатами из руководства »

И что же говорится в приведенной цитате? Что она доказывает?
Разделы реестра можно удалить, но для удаления например, зарегестрированных библиотек из SharedDlls, такой способ не подходит,
надо удалять записи по одной. Отличие добавления в реестр записей от их удаления в отсуствии параметров.
Пример:

Добавление:

[ACDSee.reg] -добавляем информацию для оснастки Установка\удаление программ
HKLM,%Key2%,"DisplayName",,"ACDSee 3.1 SR1 rus"
HKLM,%Key2%,"DisplayIcon",,%16422%\%Prog%\ACDSee.exe,0
HKLM,%Key2%,"UninstallString",,"rundll32.exe advpack,LaunchINFSectionEx %17%\acdsee3.inf,ACDSee.Uninstall"

[Regacdsee] -добавляем информацию о программе и библиотеках в реестр
HKLM,%Key1%,"InstallationDate", , "DAKAMFIGGHCOBAOF351494B3"
HKLM,%Key1%,"InTouchSettings",0x00000001,45,3D,78,00,00,00,00
HKLM,%Key1%,"LicenseNumber", ,"xxxxxxxxxxxxxxxxxx"
HKLM,%Key1%,"InTouchConfigRemind", ,"KGNMDHPGGHCOCJLE2B8FD833"
HKLM,%Key1%\Tip,"StartUp",0x00010001,1

HKLM,%Key%\App Paths\ACDSee.exe, , , "C:\Program Files\ACD Systems\ACDSee\ACDSee.exe"
HKLM,%Key%\App Paths\ACDSee.exe,"Path", ,"C:\Program Files\ACD Systems\ACDSee"

HKLM,"SOFTWARE\Kodak\DC210\SDKLibrary","InprocServer32", ,"C:\WINDOWS\system32\dc210.dll"
HKLM,"SOFTWARE\Kodak\DC240\SDKLibrary","InprocServer32", ,"C:\WINDOWS\system32\dc240.dll"
HKLM,"SOFTWARE\Kodak\DC280\SDKLibrary","InprocServer32", ,"C:\WINDOWS\system32\dc280.dll"

HKLM,%Key3%, "C:\Program Files\Common Files\ACD Systems\PlugIns2\acdcp.dll" ,0x00010001, 2
HKLM,%Key3%, "C:\Program Files\Common Files\ACD Systems\PlugIns2\AM_ZIP.apl" ,0x00010001, 3

[strings]
Key="SOFTWARE\Microsoft\Windows\CurrentVersion"
Key1="SOFTWARE\ACD Systems\ACDSee"
Key2="Software\Microsoft\Windows\CurrentVersion\Uninstall\ACDSee3.1RC1"
Key3="SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDlls"


А теперь удаление этих же записей при деинсталяции:

[ACDSee.DelReg]
HKLM,%Key1%
HKLM,%Key2%
HKLM,"SOFTWARE\Kodak
HKLM,%Key3%, "C:\Program Files\Common Files\ACD Systems\PlugIns2\acdcp.dll"
HKLM,%Key3%, "C:\Program Files\Common Files\ACD Systems\PlugIns2\AM_ZIP.apl"

Хорошо видно, что созданные нами разделы ACDSee и Kodak мы просто убиваем на корню, а вот SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDlls нельзя удалять так как там куча сторонних dll, поэтом их надо удалять по одной, указывая для удаления имя параметра без значения.

[hr]

В руководстве по созданию аддонов много чего не сказанно. Например задаваемые вами вопросы отосятся к написанию INF- скриптов, а не к аддонам как таковым. Поищите в интернете всю информацию по INF- файлам и работе с реестром, и вам все станет понятнее.

что любая программа, встраиваемая в дистрибутив винды посредством sysoc, становиться как бы компонентом винды , а не отдельной программой, »

И не только в дистрибутив и не только через SYSOC. Вы ошибаетесь. Возможность добавить программу в остнастку Компоненты Windows еще не означает слияние с ОС. Грубо говоря вы можете выбрать где будет ярлычок для удаления программы в Установке\Удалении или в Компоненты Windows. Программа установленная через Sysoc, суть есть, отдельная программа! Это как считать вас военным, если вы подьехали на военной машине и отдолжили военную форму.

В общем хотел бы заметить, что вы очень торопитесь, не читаете и не обдумываете, а просматриваете руководства и написанные вам посты (я не только про эту ветку говорю), на мой взгляд вам мешает именно спешка. Я, вообще, не вижу никаких проблем с написанием простейших аддонов. Я когда писал первый взял чужой аддон и руководство по INF- файлам, и подглядывая в оба источника написал работающий скрипт. Затем доработал его секцией удаления через DelDirs, причем на этот этап потратил около недели, но зато научился и знаю как пользоватся этим инструментом. Вы я насколько понял сразу перепрыгнули на rundll32.exe advpack,DelNodeRunDLL32. Затем я занялся реестром и сложными ярлыками, довольно много полезного я почерпнул
распотрошив дистрибутив WIN98 - она почти вся на INF - скриптах, для изучения синтаксиса добавления в реестр советую аддон MyCustom. Причем я не пользуюсь reg2inf и прочими средствами автоматизации и вам не советую, эти средства автоматизации для тех кто уже все умеет. И ,последнее, зря вы сразу за сложные программы взялись ИМХО.

Vadikan
24-05-2008, 07:48
а то я сам у ся нашел пару очипяток »
Исправлены.

Я понимаю, что портэйбл это нерусское слово, но в конкретном предложении падеж не прослеживается никак. может написать portable?
Или это Vadikan испытывал новое секретное оружие - бот-коректировщик американизмов ? »
Да, бот не прошел тестирование :) Исправлен падеж.

Предлагаю приложение 7 поднять выше и сделать его приложением 5 - это связанные вещи вроде. »
Сделано.

Я закончил работу над правкой. Затрудняюсь сказать, сколько изменений я внес, но их кол-во исчисляется сотнями - пунктуация хромает на все четыре ноги :)

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

volk1234
24-05-2008, 13:44
Если других изменений в статье в ближайшее время не планируется »

Думаю слегка подредактировать раздел Sysoc в части определения типа аддона, затронутого DyadyaGenya




© OSzone.net 2001-2012