Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.04.2009, 12:21   #1
OracleLover
 
Регистрация: 24.04.2009
Сообщений: 8
Вопрос Как Uninstall Manager получает иконки программ

Много где задавал этот вопрос - но до конца решения так и не выснил. Стандартный менеджер программ "Установка\Удаление программ" при его запуске выдает список программ с иконками - но вот откуда он их берет? Есть несколько известных мне путей:

1) Это конечно реестр
HKLM\Software\Microsoft\Windows\Cur rentVersion\Uninstall, значение DisplayIcon
2)C:\WINDOWS\Installer
3)%APP_DATA%\Installer

Все, больше я не нашел - но при этом есть такие программы в списке которые не в одном из вышеперечисленных путей путь к иконкам или саму иконку не содержат, но в менеджере она отображается. Какие еще пути или способы по извлечению иконки программы есть?
OracleLover вне форума Ответить с цитированием
Старый 24.04.2009, 12:23   #2
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Вообще то сам exe-файл содержит иконку посредством ресурсов туда занесенную, например
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 24.04.2009, 12:25   #3
OracleLover
 
Регистрация: 24.04.2009
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Kotofff Посмотреть сообщение
Вообще то сам exe-файл содержит иконку посредством ресурсов туда занесенную, например
Первоначально менеджер программ лезет в реестр, а там не всегда хранится полный путь к приложению.
OracleLover вне форума Ответить с цитированием
Старый 24.04.2009, 12:34   #4
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,453
По умолчанию

Цитата:
Сообщение от OracleLover Посмотреть сообщение
Первоначально менеджер программ лезет в реестр, а там не всегда хранится полный путь к приложению.
Эм-да! а как тогда удалять ты их будешь если путь то не прописан, и кстати
если вдруг нет ссылки на иконку у какой то программы, то Унисталл менеджер берёт иконку у программы по умолчанию тобишь AppName.exe,0 !
uberchel вне форума Ответить с цитированием
Старый 24.04.2009, 12:44   #5
OracleLover
 
Регистрация: 24.04.2009
Сообщений: 8
По умолчанию

Цитата:
Сообщение от uberchel Посмотреть сообщение
Эм-да! а как тогда удалять ты их будешь если путь то не прописан, и кстати
если вдруг нет ссылки на иконку у какой то программы, то Унисталл менеджер берёт иконку у программы по умолчанию тобишь AppName.exe,0 !
Для удаления программы есть параметр UninstallString, да и не может менеджер взять AppName.exe,0 - он просто не знает что такое AppName.
OracleLover вне форума Ответить с цитированием
Старый 24.04.2009, 12:55   #6
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,453
По умолчанию

Цитата:
Сообщение от OracleLover Посмотреть сообщение
Для удаления программы есть параметр UninstallString, да и не может менеджер взять AppName.exe,0 - он просто не знает что такое AppName.
Appname -Я превел exe прогри т.е Uninstallstring !!!

И по другим вопросам:
2)C:\WINDOWS\Installer- БацкупКопи кантрольные точки прог для восстановления системы !
3)%APP_DATA%\Installer - это вообще не знаю, не кагда не видел что-б в Documents and sittings\ хоть в одной ApplicationData было это!

Если интересует, что когда в реестре Uninstall -удаляешь ветки, то в Унисталл менеджере некоторые всё же остаются, но их нельзя удалить то это в основном пакеты инсталляции InstallSheld - и тебе в реестре надо найти это , там остальное, что не удалилось.

Последний раз редактировалось uberchel; 24.04.2009 в 13:04.
uberchel вне форума Ответить с цитированием
Старый 24.04.2009, 13:28   #7
OracleLover
 
Регистрация: 24.04.2009
Сообщений: 8
По умолчанию

Цитата:
Сообщение от uberchel Посмотреть сообщение
Appname -Я превел exe прогри т.е Uninstallstring !!!
Ну она и достанет иконку деинсталляшки, а не проги

Цитата:
Сообщение от uberchel Посмотреть сообщение
3)%APP_DATA%\Installer - это вообще не знаю, не кагда не видел что-б в Documents and sittings\ хоть в одной ApplicationData было это!
Да редко, но пишут.
OracleLover вне форума Ответить с цитированием
Старый 24.04.2009, 13:33   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Какие еще пути или способы по извлечению иконки программы есть?
ExtractAssociatedIcon вытаскивает иконку из проги.
Uninstall знает где эта прога висит и вытаскивает из нее иконку.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.04.2009, 13:40   #9
OracleLover
 
Регистрация: 24.04.2009
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
ExtractAssociatedIcon вытаскивает иконку из проги.
Uninstall знает где эта прога висит и вытаскивает из нее иконку.
А как мне узнать где "эта прога висит"?
OracleLover вне форума Ответить с цитированием
Старый 24.04.2009, 13:47   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Например
Если нет параметра DisplayIcon то иконку бери из
UninstallString
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Install, Uninstall FaTaL Общие вопросы Delphi 8 25.12.2010 07:08
Как определить координаты иконки приложения в system tray? SkAndrew Общие вопросы Delphi 5 18.08.2008 16:52
Как обновить иконки у VirtualStringTree AnalogXP Общие вопросы Delphi 4 31.03.2008 11:31
как вытащить иконки из DLL? andrey4623 Общие вопросы Delphi 2 20.08.2007 10:41