PDA

Показать полную графическую версию : Авторам аддонов


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [22] 23 24 25 26 27 28 29 30 31 32 33 34

volk1234
31-03-2008, 19:16
выходит либо приложение не право, либо я чего-то не понимаю
и ещё, »

RunPreSetap=Winamp.Uninstal.Del:1 »

RunPreSetap следует писать RunPreSetupCommands

ya158
31-03-2008, 20:01
RunPreSetap следует писать RunPreSetupCommands »
Полностью согласен - моя вина - торопился.

я читал в статье и пробовал сам, в том числе и DelFiles=files все равно не удаляет »
Надо удалить сначала файлы в подпапках, потом подпапки поочереди, потом основную папку, то есть сначала удалить файл C:\Folder\Folder1\files.ext, потом подпапку C:\Folder\Folder1, и только потом папку C:\Folder

использовал в нем
Код:
rundll32.exe advpack.dll,DelNodeRunDLL32 %16422%\%PROG_DIR% »
Надо rundll32.exe advpack.dll,DelNodeRunDLL32 "%16422%\%PROG_DIR%"

Забыл добавить, что если файл занят каким-либо приложение, то его удалить не удастся - сначала надо выгрузить приложение.
зачем дважды делать телодвижения, если можно сразу вызвать
[Winamp.Uninstal.DelDirs]
RunPreSetap=Winamp.Uninstal.Del:1 »
Откуда ты собираешься сразу вызвать Winamp.Uninstal.DelDirs? Надеюсь ты не забыл, что Run и Commandline относятся к setupapi (аддон с применением sysoc устанавливается через setupapi), а RunPre(Post)SetupCommands - к advpack. Поэтому setupapi через Run-Commandline вызывает с помощью advpack секцию, в которой идёт обработка RunPre(Post)SetupCommands
Наверное, можно сделать
Commandline="""%11%\rundll32.exe"" advpack.dll,DelNodeRunDLL32 "%16422%\%PROG_DIR%""
но я так не пробовал.
Кстати я ещё заметил, что в некоторых случаях требуется удвоение кавычек, например, ""%11%\rundll32.exe""
И ещё - что ты имеешь ввиду подпромтом »

gora
01-04-2008, 11:19
Господа модераторы!Руководство по созданию аддонов (текущая бета)
обсуждение в этой теме »Предлагаю выделить написание инструкции в отдельную ветку. В ней автор будет "владеть" шапкой и сможет в шапке своей ветки давать ссылки на части своей инструкции "рассыпанные" в ветке. Так же он сможет закрепить в шапке инструкцию в виде файла и она всегда будет видна "ищущим" ее. Это будет значительно удобнее. ИМХО.

jameszero
01-04-2008, 12:12
Выделил обсуждение в отдельную тему Руководство по созданию аддонов (текущая бета) (http://forum.oszone.net/thread-104104.html)

Просьба ко всем, просмотрите свои посты, если случайно пропустил или перенёс лишний, скиньте в PM ссылку на пост.
Посты датированые до 27-02-2008 19:19 переносить не стал, т.к. они будут расположены раньше поста закреплённого в шапке.

DyadyaGenya
03-04-2008, 13:45
ya158, приведу более полные примеры, может так будет больше понятно.
пример работы промта (и для этого примера насколько я понял даже файлы перед удалением папок удалять не нужно) :
[Winamp.Uninstall]
BeginPrompt =BeginUnInsPrompt
RunPreSetupCommands =Close.Prog:1
RunPostSetupCommands =Dir.Delete
EndPrompt =EndUnInsPrompt
DelReg =PROG.DelReg
ProfileItems =PROG.DelShortcut,PROG2.DelShortcut

[BeginUnInsPrompt]
Title=Деинсталляция %PROG_NAME%
Prompt=Вы действительно хотите удалить %PROG_NAME% и все компоненты программы?
ButtonType=YESNO

[Close.Prog]
TASKKILL /IM %PROG_1%
TSKILL %PROG_2%

[Dir.Delete]
rundll32.exe advpack.dll,DelNodeRunDLL32 %16422%\%PROG_DIR%

[EndUnInsPrompt]
Prompt=Программа %PROG_NAME% удалена.



пример как не работает:
[Winamp.Uninstall]
DelFiles=Winamp.Del,Winamp.Plugins.Del,Winamp.Plugins.avs.Del,Winamp.Plugins.DSP_SPS.Del,Winamp.Plug ins.Milkdrop.Del,Winamp.Plugins.ml.Del,Winamp.Skins.Winamp Modern.Del,Winamp.Plugins.avs.Winamp 5 Picks.Del,Winamp.Plugins.freeform.xml.Del,Winamp.Skins.W\
inamp Modern.about.Del,Winamp.Skins.Winamp Modern.notifier.Del,Winamp.Skins.Winamp Modern.player.Del,Winamp.Skins.Winamp Modern.scripts.Del,Winamp.Skins.Winamp Modern.shade.Del,Winamp.Skins.Winamp Modern.standardframe.Del,Winamp.Skins.Winamp Modern.title\
bar.Del,Winamp.Skins.Winamp Modern.window.Del,Winamp.Skins.Winamp Modern.xml.Del,Winamp.Plugins.freeform.wacs.jpgload.Del,Winamp.Plugins.freeform.xml.about.Del,Winamp .Plugins.freeform.xml.checkbox.Del,Winamp.Plugins.freeform.xml.combobox.Del,Winamp.Plugi\
ns.freeform.xml.dropdownlist.Del,Winamp.Plugins.freeform.xml.historyeditbox.Del,Winamp.Plugins.freef orm.xml.menubutton.Del,Winamp.Plugins.freeform.xml.msgbox.Del,Winamp.Plugins.freeform.xml.pathpicker .Del,Winamp.Plugins.freeform.xml.popupmenu.Del,Winamp.\
Plugins.freeform.xml.statusbar.Del,Winamp.Plugins.freeform.xml.tabsheet.Del,Winamp.Plugins.freeform. xml.titlebox.Del,Winamp.Plugins.freeform.xml.tooltips.Del,Winamp.Plugins.freeform.xml.wasabi.Del,Win amp.Plugins.freeform.xml.wasabi.fonts.Del,Winamp.Plugi\
ns.freeform.xml.wasabi.garbage.Del,Winamp.Plugins.freeform.xml.wasabi.menu.Del,Winamp.Plugins.freefo rm.xml.wasabi.Scripts.Del,Winamp.Plugins.freeform.xml.wasabi.window.Del,Winamp.Plugins.freeform.xml. wasabi.xml.Del,Winamp.Plugins.freeform.xml.wasabi.xml.\
groups.Del,Winamp.Plugins.freeform.xml.wasabi.xml.xui.Del,Winamp.Plugins.freeform.xml.wasabi.xml.xui .button.Del,Winamp.Plugins.freeform.xml.wasabi.xml.xui.editbox.Del,Winamp.Plugins.freeform.xml.wasab i.xml.xui.slider.Del,Winamp.Plugins.freeform.xml.wasab\
i.xml.xui.standardframe.Del,Winamp.Plugins.freeform.xml.wasabi.xml.xui.text.Del,Winamp.Plugins.freef orm.xml.wasabi.xml.xui.titlebar.Del
Run=Winamp.AdvInfCall
DelReg=PROG.DelReg
;UnRegisterDlls=Секции отмены регистрации библиотек
ProfileItems=PROG.DelShortcut,PROG2.DelShortcut

[Winamp.AdvInfCall]
Commandline="""%11%\rundll32.exe"" advpack,LaunchINFSection ""%17%\Winamp.inf"",Winamp.Uninstal.DelDirs,4"
TickCount=500

[Winamp.Uninstal.DelDirs]
DelDirs=Winamp.DelDirs

gora
04-04-2008, 12:51
Случайно наткнулся на аддон PxysX Драйвер физического ускорителя (http://forum.oszone.net/thread-102991.html) который использует для установки ключи HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx, делая запись с номером 7773. Надо отдать должное автору аддона который указал это в шапке. Дело в том, что один из аддонов DotNet11_35 использует (использовал по крайней мере) ключи 777 и 778 и ключ 7773, как это не покажется странным, будет попадать между ними! Windows будет их отрабатывать в следующей последовательности: 777 затем 7773 и только потом 778!!! Возможно ни чего страшного и не произойдет, но, согласитесь, это не порядок. Это прямое следствие отсутствия "стандартов" для аддонописателей. Считаю, что нужно вернуться к прерванному обсуждению СТАНДАРТОВ (не путать с "Руководством по созданию аддонов"). Кто за?

vek
04-04-2008, 17:14
gora
Вот интересно, как это стандартизировать? Раздать участникам форума квоту на номера записей в RunOnceEx :-)? Или списочек сделать, какие номера и чем заняты, а какие нет? Хотя я не против стандартизации а наоборот двумя руками "ЗА", но по-моему проблему стандартом не решить. Здесь авторы должны быть просто внимательней и не строить свои аддоны, нарушая последовательность записей. О замечанных нарушениях, ИМХО, необходимо просто писать в соответствующую ветку. Пусть автор переделает. (Что ему сложно другой номер поставить?). А уследить за всеми аддонами просто невозможно.

gora
04-04-2008, 17:24
Вот интересно, как это стандартизировать? »Можно, например, оговорить применение только трехсимвольных ключей причем, если для аддона их нужно несколько, то только идущих последовательно (случай указанный выше уже не повторится). "Обязать" авторов указывать примененные ими ключи в шапке (в посте) ветки с аддоном, составить список на форуме с занятыми ключами... Придумать то что то можно, вот только было бы желание! :)

Vadikan
05-04-2008, 07:22
ключи 777 и 778 и ключ 7773, как это не покажется странным, будет попадать между ними! Windows будет их отрабатывать в следующей последовательности: 777 затем 7773 и только потом 778!!! »В RunOnceEx допускается диапазон 000 - 999, ЕМНИП, поэтому 7773 и обрабатывается таким образом, типа десятичной дроби...

Или списочек сделать, какие номера и чем заняты, а какие нет? »
Почему бы и нет? Были бы желающие вести такой список... Собственно, gora то же самое и говорит :)

Можно, например, оговорить применение только трехсимвольных ключей »
Обязательно. В данном случае автор проявил совершенно ненужную изобретательность, и ему нужно об этом сказать. Он же для людей делает аддон, следовательно должен исправить. Если не хочет исправлять, тему можно убить смело - такой футбол нам не нужен :)

ya158
05-04-2008, 16:40
пример как не работает: »
А что у тебя в секции Winamp.DelDirs? И что конкретно не удаляется? А лучше приведи полностью свой inf или выложи куда-нибудь.

DyadyaGenya
05-04-2008, 17:06
ya158, не удаляються все директории указанные в списке ниже, хотя файлы из них удалены, остались только пустые папки

[Winamp.DelDirs]
"%16422%/Winamp/Plugins/freeform/xml/wasabi/xml/xui/titlebar"
"%16422%/Winamp/Plugins/freeform/xml/wasabi/xml/xui/text"
"%16422%/Winamp/Plugins/freeform/xml/wasabi/xml/xui/standardframe"
"%16422%/Winamp/Plugins/freeform/xml/wasabi/xml/xui/slider"
"%16422%/Winamp/Plugins/freeform/xml/wasabi/xml/xui/editbox"
"%16422%/Winamp/Plugins/freeform/xml/wasabi/xml/xui/button"
"%16422%/Winamp/Plugins/freeform/xml/wasabi/xml/xui"
"%16422%/Winamp/Plugins/freeform/xml/wasabi/xml/groups"
"%16422%/Winamp/Plugins/freeform/xml/wasabi/xml"
"%16422%/Winamp/Plugins/freeform/xml/wasabi/window"
"%16422%/Winamp/Plugins/freeform/xml/wasabi/Scripts"
"%16422%/Winamp/Plugins/freeform/xml/wasabi/menu"
"%16422%/Winamp/Plugins/freeform/xml/wasabi/garbage"
"%16422%/Winamp/Plugins/freeform/xml/wasabi/fonts"
"%16422%/Winamp/Plugins/freeform/xml/wasabi"
"%16422%/Winamp/Plugins/freeform/xml/tooltips"
"%16422%/Winamp/Plugins/freeform/xml/titlebox"
"%16422%/Winamp/Plugins/freeform/xml/tabsheet"
"%16422%/Winamp/Plugins/freeform/xml/statusbar"
"%16422%/Winamp/Plugins/freeform/xml/popupmenu"
"%16422%/Winamp/Plugins/freeform/xml/pathpicker"
"%16422%/Winamp/Plugins/freeform/xml/msgbox"
"%16422%/Winamp/Plugins/freeform/xml/menubutton"
"%16422%/Winamp/Plugins/freeform/xml/historyeditbox"
"%16422%/Winamp/Plugins/freeform/xml/dropdownlist"
"%16422%/Winamp/Plugins/freeform/xml/combobox"
"%16422%/Winamp/Plugins/freeform/xml/checkbox"
"%16422%/Winamp/Plugins/freeform/xml/about"
"%16422%/Winamp/Plugins/freeform/wacs/jpgload"
"%16422%/Winamp/Skins/Winamp Modern/xml"
"%16422%/Winamp/Skins/Winamp Modern/window"
"%16422%/Winamp/Skins/Winamp Modern/titlebar"
"%16422%/Winamp/Skins/Winamp Modern/standardframe"
"%16422%/Winamp/Skins/Winamp Modern/shade"
"%16422%/Winamp/Skins/Winamp Modern/scripts"
"%16422%/Winamp/Skins/Winamp Modern/player"
"%16422%/Winamp/Skins/Winamp Modern/notifier"
"%16422%/Winamp/Skins/Winamp Modern/about"
"%16422%/Winamp/Plugins/freeform/xml"
"%16422%/Winamp/Plugins/freeform/wacs"
"%16422%/Winamp/Plugins/avs/Winamp 5 Picks"
"%16422%/Winamp/Skins/Winamp Modern"
"%16422%/Winamp/Plugins/ml"
"%16422%/Winamp/Plugins/Milkdrop"
"%16422%/Winamp/Plugins/freeform"
"%16422%/Winamp/Plugins/DSP_SPS"
"%16422%/Winamp/Plugins/avs"
"%16422%/Winamp/Skins"
"%16422%/Winamp/Plugins"
"%16422%/Winamp"

ya158
05-04-2008, 19:01
DyadyaGenya, Вроде всё правильно. Даже и не знаю в чем затык. Могу посоветовать следующее - попробуй по-очереди из различных секций запускать на выполнение заведомо рабочие секции или параметры. То есть, например, поскольку файлы нормально удаляются из секции Winamp.Uninstall, допиши туда DelDirs=Winamp.DelDirs и посмотри будут ли удалятся директории. Также попробуй из секции Winamp.Uninstal.DelDirs удалить\добавить какой-нибудь файл или параметр в реестр и, тогда, можно будет понять запускаятся ли эта секция или нет.

Drinko
05-04-2008, 22:02
DyadyaGenya, попробуйте в секцию [Winamp.Uninstal.DelDirs] прописать Cleanup=1

volk1234
06-04-2008, 13:10
[Winamp.Uninstal.DelDirs]
DelDirs=Winamp.DelDirs »
[Dir.Delete]
rundll32.exe advpack.dll,DelNodeRunDLL32 %16422%\%PROG_DIR% »

Вы что используете это вместе?
Насколько я понял, DelNodeRunDLL32 удаляет папку с файлами, если они незаняты сисиемой,
так что DelDirs и удаление файлов безполезны, а может и мешают.

DyadyaGenya
09-04-2008, 11:45
Drinko, Cleanup=1 вставлял, в принцыпе уже где то выше писал об этом
volk1234, нет :-) их я вместе не использую, это были примеры из разных вариантов инф-файлов, просто вставал вопрос как использую промт, вот его и привел :-) и там же где то написал что этот способ удаляет все содержимое папки с файлами :-)
ya158, буду пробовать, хоть конечно же есть более легкие способы, через тот же промт все красиво получаеться с использованием DelNodeRunDLL32 , но уже стало интересно, хочеться разобраться

gora
11-04-2008, 12:17
Vadikan, Petya V4sechkin, jameszero
В RunOnceEx допускается диапазон 000 - 999, ЕМНИП »
Кто нибудь может дать однозначный ответ на вопросы:
1 Какой диапазон "номеров" "разрешен" в RunOnceEx в теории?
2 Допустимы ли буквы в "номере" этих ключей?
3 Допустима ли кириллица в "номере" этих ключей?
4 Какова последовательность их обработки (если 2 и/или 3 допустимы)?
5 Какой диапазон ключей будет "разрешен" в RunOnceEx для использования в аддонах на этом сайте (будут ли введены ограничения/рекомендации)?

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

Заранее благодарен за любую информацию.

mercuryn
11-04-2008, 16:34
Предлагаю:
1. для аддона перезагрузки gora использовать RunOnceEx=zzzz_999;
2. для остальных аддонов использовать диапазоны 950-999, a00-a99, ... - ... z00-z99, следя за использованием последних групп, диапазон 950-999 зарезервировать для системных аддонов;
3. вести таблицу использованных номеров RunOnceEx.

ya158
11-04-2008, 19:04
1 Какой диапазон "номеров" "разрешен" в RunOnceEx в теории?
2 Допустимы ли буквы в "номере" этих ключей?
3 Допустима ли кириллица в "номере" этих ключей?
4 Какова последовательность их обработки (если 2 и/или 3 допустимы)? »

Опытным путём выяснил, что можно использовать цифры, буквы( латиница и кириллица) и некоторые символы (! [ ] { } @_ например).
По поводу 4 пунта - см. картинку http://rapidshare.com/files/106656115/RunOneEx.JPG
3. вести таблицу использованных номеров RunOnceEx. »
Полностью согласен - можно в wiki , чтоб добавлять ключи могли не только авторы аддонов, поскольку некоторые из них редко появляются на форуме, я некоторые и не появляются вовсе.http://rapidshare.com/files/106656115/RunOneEx.JPG

mercuryn
12-04-2008, 17:44
gora, похоже это не та ветка, где можно решать вопросы стандартизации, а так как другой не нашёл, то похоже это никому не надо...

DyadyaGenya
13-04-2008, 12:11
Товарищи аддоностроители поскольку я ленивый человек, и устал каждый раз для проверки правильности sysoc-аддона переустанавливать винду, пусть даже на виртуальной машине, это всеравно утомительно, плюс давно думал как бы делать из этих аддонов что-то типа варианта тихой установки как в Svcpack прямо на готовую винду, при этом к сожалению нигде не смог найти описания как это можно сделать, да и вообще возможно ли это, пришлось самому подумать. Пока придумал один способ, подсмотрел в настройках винды, когда читал про инф, мол можно настроить так, чтоб по двойному клику мыши срабатывал запуск инф-файла, мол это предусмотрено в майкрософте. но по умолчанию отключено. Может кому пригодиться, ну или развейте тему лучше меня, лично мне не нравиться только скорость распаковки:
Создаем папку с названием аддона, можно прямо в самом аддоне, распаковываем туда cab-файл проги и её инф-файл, меняем в нем:
[SourceDisksNames]
1="Дистрибутив Windows XP SP2 с интегрированным аддоном Prog",Prog.cab,,"I386"
на
[SourceDisksNames]
1="Дистрибутив Windows XP SP2 с интегрированным аддоном Prog",Prog.cab,,

создаем батник со строчками:
rundll32.exe advpack,LaunchINFSection Prog.inf,DefaultInstall
copy Prog.inf c:\windows\inf

команда copy необходима для копирования того же инф-файла в папку винды, из которой она берет данные для анинстала аддонов, куда те автоматом встраиваються при интеграции в дистрибутив. Секция [DefaultInstall]в инф-файле тоже обязательно должна быть :-)

Низкая скорость распаковки видимо зависит от команды bat, которая "предназначена" для доса, но с виндовыми командами я знаком меньше, возможно Innosetup смог бы решить это проблему скорости, но я ещё не разобрался с ним

для примера вкладываю файлик с рабочим примером аддона WinFlip




© OSzone.net 2001-2012