IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Работа с "Установка и удаление"
сообщение
Сообщение #1


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

Репутация: -  24  +


Привет всем. Ситуация: на компьютере установлено приложение, нужно каким-то образом запустить его удаление\изменение через стандартный msi-деинсталлер. Я так понял, нужно получить список программ (который в Установке и удалении) и получить некий id проги(вроде какое-то длинное значение из реестра), и запустить деинсталлер с этим id и параметрами. Проблема в том, как найти нужное.. точное название программы вбить не удастся, т.к. могут быть разные версии (отражаются в названии), но можно опознавать по фрагменту. Через что пытаться вообще?

Сообщение отредактировано: Unconnected -


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской
Ада: Разработчик
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик

Репутация: -  627  +


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
Ходишь по всем подпапкам, и оттуда вытягиваешь DisplayName и UninstallString. Как только нашел нужное имя - просто выполняешь строку деинсталляции.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

Репутация: -  24  +


А может быть так, что там не всё? У меня в "Установке-удалении" мнооого всего, а в той ветке около 20 ключей..


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гуру
*****

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской
Ада: Разработчик
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик

Репутация: -  627  +


Именно в HKLM? Должно быть всё... Если программа корректно выполняет требования MS. Вот согласно этим требованиям каждая программа, устанавливающаяся на компьютер, должна обеспечить занесение в реестр (в ту самую ветку, которую я обозначил выше) информации о себе (см. тут: MSDN : Summary of Install/Uninstall Requirements, пункт 6). Поскольку не все это делают - ты и получаешь то, что получаешь: не все программы фигурируют в списке "Установка/Удаление".

Но вообще-то MS говорит, что даже WMI + Win32_Product не дает гарантированного списка всех приложений, для получения всего, что можно Uninstall-ить, они рекомендуют как раз http://technet.microsoft.com/en-us/library...92772.aspx#EBAA , то есть ту самую ветку реестра...

А можно пример хоть одного приложения, которое есть в списке "Установка/Удаление", но его нет в реестре? И это, проверить никак нельзя, будет оно удаляться, если его выбрать? А то, может, у тебя там пустышки, которые от предыдущих неправильных анинстоллов?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

Репутация: -  24  +


Например KIS, цивильное вроде приложение.. Которые без названий, с цифровыми значениями - проверял, не его.
Хмм, интересно, а на вирте с XP нашёлся.. На севене из "Установки" деинсталлер запускается.

Сообщение отредактировано: Unconnected -


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гуру
*****

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской
Ада: Разработчик
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик

Репутация: -  627  +


Win7 случайно не 64-битная? Тогда тебе надо еще HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall проверять. Кстати, куст HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall под Win7 тоже может содержать полезную информацию.

В WinXP всё то, что в Семерке размазано по трем веткам, хранится в одной...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

Репутация: -  24  +


Ого себе.. да, 64-битная. А на 32-битной семерке не так? blink.gif И ещё, если прога на моей машине пишется в HKCU, то это значит, что на другой машине она тоже именно туда запишется? Или может в другие размазанные ветки случайным образом запилиться..


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гуру
*****

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской
Ада: Разработчик
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик

Репутация: -  627  +


Цитата
А на 32-битной семерке не так?
Нет, не так. Если ты устанавливаешь 32-битное приложение на 32-битную ОС, оно занесет (я надеюсь) данные о себе в HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall, ибо сложно себе представить, что антивирус будет ставиться для одного пользователя, а не для всех.
Цитата
если прога на моей машине пишется в HKCU, то это значит, что на другой машине она тоже именно туда запишется?
Вообще-то в грамотно написанном приложении должен учитываться тип установки. Если выбрано "установить только для текущего пользователя" - то оно пишет в HKCU. Если "для всех пользователей" - то в HKLM. Ну, а если нет возможности выбора типа установки - то скорее всего подразумевается только один тип всегда, и если у тебя записалось в HKCU, то скорее всего и на других машинах будет так же.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

Репутация: -  24  +


Спасибо, помогло всё) Эхх сколько же я таких тонкостей упускаю..(


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.04.2024 12:47
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name