Инфо - Авторам аддонов

Ответить
 • Просмотры: 5
Аватара пользователя
Righter

Re: Инфо - Авторам аддонов

Сообщение Righter »

Подскажите, как сделать в меню пуск ярлык на "Установка и удаление программ"?

При установке я удаляю ярлыки "Каталог Windows.lnk", "Microsoft Update.lnk", "Выбор программ по уиолчанию.lnk" из меню пуск, но хотелось бы видеть там установку и удаление программ.

Если в панели управления сделать ярлык, то он в свойствах не показывает куда ссылается. Я вычислил, что это "C:\WINDOWS\system32\appwiz.cpl". Но значек получается корявый.

Короче, может кто знает, как сделать правильно ярлык?
Аватара пользователя
DyadyaGenya

Re: Инфо - Авторам аддонов

Сообщение DyadyaGenya »

Цитата DyadyaGenya:



проще ли добавть ссылку на саму деинсталяцию проги, которая есть почти во всех устанавливаемых прогах
Инфо - Авторам аддонов




Если устанавливать через инсталятор, то проще. Если без инсталятора, то нет. Кроме этой программы деинсталяции есть еще и настроечный файл в котором собственно и прописывается что нужно снести. Все что добавлено позже не удалится, нужно подчищать ручками.
Аватара пользователя
greg_b

Re: Инфо - Авторам аддонов

Сообщение greg_b »

Irekson,

1 - конечный пользователь юзает готовый дистриб, а вы получается где-то посерединке, но работать и вкладывать силы в разработку не хотите.

2 - научитель пользоваться поиском и отбором по форуму - очень полезно, т.к. вопросы вашего рода очень большая редкость.
Аватара пользователя
DyadyaGenya

Re: Инфо - Авторам аддонов

Сообщение DyadyaGenya »

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





Код:

Код: Выделить всё

HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%","UninstallString",0x0,"""%16422%\Winamp\UninstWA.exe"""

получилось проще и без всяких секций типа [PROG.DelReg], [PROG.Uninstall], [DelFiles]
Аватара пользователя
DyadyaGenya

Re: Инфо - Авторам аддонов

Сообщение DyadyaGenya »

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





Код:

Код: Выделить всё

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\4]
@="Панель управления"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\4\command]
@="rundll32.exe shell32.dll,Control_RunDLL"

но повторюсь, похоже вам надо в другую ветку :-)
Аватара пользователя
ya158

Re: Инфо - Авторам аддонов

Сообщение ya158 »

ya158, да в том то и дело, что она есть, и вроде даже прописываю, странно, когда использую промт и в нем прописываю

[Dir.Delete]

rundll32.exe advpack.dll,DelNodeRunDLL32 %16422%\%PROG_DIR%



то все красиво срабатывает, понимаю, что может пример не коректный, просто тоже с использованием rundll32.exe advpack.dll

а в предыдущем примере указанная секция есть, вот она:

[Winamp.Uninstal.DelDirs]

DelDirs=Winamp.DelDirs

по идее должна была удалить
Аватара пользователя
DyadyaGenya

Re: Инфо - Авторам аддонов

Сообщение DyadyaGenya »

DyadyaGenya,

я кода пример аддона netlook писал для руководства столкнулся с похожей проблемой,

мне здесь помогли:

volk1234

Поскольку удаление папок осуществляется через advpack, то вместо инструкции Run нужно использовать RunPostSetupCommands

Run обрабатывается только через setupapi
Инфо - Авторам аддонов




и в руководстве по созданию аддонов в примере создания аддона Netlook
Инфо - Руководство по созданию аддонов (текущая версия)


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

Если вкратце для удаления папок пользуйтесь RunPostSetupCommands вместо Run и Удаляйте структуру папок снизу предварительно удалив файлы.





Код:

Код: Выделить всё

Имеем структуру папок:
Folder
 -subfolder1
     --subsubfolder1
 -subfolder2
Условным кодом удаляем:
Del subsubfolder1
Del subfolder1
Del subfolder2
Del Folder
Аватара пользователя
gora

Re: Инфо - Авторам аддонов

Сообщение gora »

Цитата DyadyaGenya:



ya158, да в том то и дело, что она есть, и вроде даже прописываю, странно, когда использую промт и в нем прописываю

[Dir.Delete]

rundll32.exe advpack.dll,DelNodeRunDLL32 %16422%\%PROG_DIR%

то все красиво срабатывает, понимаю, что может пример не коректный, просто тоже с использованием rundll32.exe advpack.dll

а в предыдущем примере указанная секция есть, вот она:

[Winamp.Uninstal.DelDirs]

DelDirs=Winamp.DelDirs

по идее должна была удалить
Инфо - Авторам аддонов




В первом примере можно удалять НЕПУСТЫЕ директории, а во втором примере каталог Winamp.DelDirs перед удалением должен быть ПУСТЫМ. Попробуй перед

DelDirs=Winamp.DelDirs

вставить строку

Cleanup=1

Для удаления с помощью rundll32.exe синтаксис должен быть следующим:





Код:

Код: Выделить всё

[Winamp.AdvInfCall]
Commandline="""%11%\rundll32.exe"" advpack,LaunchINFSection ""%17%\Winamp.inf"",Winamp.Uninstal.DelDirs,4"  
TickCount=500
[Winamp.Uninstal.DelDirs]
RunPreSetap=Winamp.Uninstal.Del:1
[Winamp.Uninstal.Del]
rundll32.exe advpack.dll,DelNodeRunDLL32 "%16422%\%PROG_DIR%"
Аватара пользователя
DyadyaGenya

Re: Инфо - Авторам аддонов

Сообщение DyadyaGenya »

ya158, про
Цитата ya158:



Cleanup=1
Инфо - Авторам аддонов




я читал в статье и пробовал сам, в том числе и DelFiles=files все равно не удаляет, потому и возник вопрос, а про

RunPreSetap не написал только потому что использовал в нем

Код:

Код: Выделить всё

rundll32.exe advpack.dll,DelNodeRunDLL32 %16422%\%PROG_DIR%

точнее использовал с промтом и как
Цитата volk1234:



RunPostSetupCommands
Инфо - Авторам аддонов




поэтому и возник вопрос, почему не удаляеться строчкой из заготовки, судя по словам
Цитата volk1234:



Поскольку удаление папок осуществляется через advpack, то вместо инструкции Run нужно использовать RunPostSetupCommands

Run обрабатывается только через setupapi
Инфо - Авторам аддонов




необходимо использовать как я и делал другие способы, но ведь почему то в приложении эта строка создаеться, выходит либо приложение не право, либо я чего-то не понимаю



и ещё,
Цитата ya158:



Код:

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

[Winamp.Uninstal.DelDirs]

RunPreSetap=Winamp.Uninstal.Del:1

[Winamp.Uninstal.Del]

rundll32.exe advpack.dll,DelNodeRunDLL32 "%16422%\%PROG_DIR%"
Инфо - Авторам аддонов




зачем дважды делать телодвижения, если можно сразу вызвать

[Winamp.Uninstal.DelDirs]

RunPreSetap=Winamp.Uninstal.Del:1
Ответить

Вернуться в «Наборы обновлений для Windows XP/2003/Windows 7»