Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

Работа с реестром Windows   Найти похожие ветки 

 
котэ   (2010-02-27 20:04) [0]

Здравствуйте!

Возник вопрос

Предыстория:
установил на "Win7" "office 2003", все было нормально, до тех пор пока не переустановил отдельный компонент этого пакета. При запуске "выскакивает" окно "Windows Installer" или т.п. и так каждый раз. После долгих поисков нашел проблему. В интернете ее связывают с ограниченным доступом к реестру в Windows Vista и выше. И действительно, заглянув в реестр (с пом. прогр. "Редактор реестра") увидел, что к некоторым разделам вообще нет доступа (никакого) и владелец не установлен, причем разделы явно такие, что не нуждаются в драконовской безопасности. Решение проблемы - использование программы subinacl.exe (работает в текстовом режиме экрана), но я не знаю имен тех недоступных разделов, поэтому запрашиваю обработку всего "HKEY_CLASSES_ROOT", а это занимает оч. много времени. Хотя проблема действительно решается (инсталлятор запускается еще один раз и все, ОС не сбоит).

Поставленное ТЗ

моя программа должна обрабатывать реестр (желательно "не спеша" - чтобы не сильно мешать работе других программ), находить в нем разделы с отсутствием доступа и неуказанным владельцем, затем сама или посредством subinacl установить владельца и дать к ним доступ.

Можете что-нибудь посоветовать?

Спасибо!
=^_._^=


 
Демо ©   (2010-02-27 20:07) [1]


> Можете что-нибудь посоветовать?


Ни в коем случае не трогать эти ветки реестра, не переустанавливать владельца.


 
котэ   (2010-02-27 20:12) [2]


> Ни в коем случае не трогать эти ветки реестра, не переустанавливать
> владельца.

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


 
KilkennyCat ©   (2010-02-27 20:20) [3]

эта проблема не только на вин7. и связана с неграмотной установкой.


 
Демо ©   (2010-02-27 20:24) [4]


> котэ   (27.02.10 20:12) [2]
> > Ни в коем случае не трогать эти ветки реестра, не переустанавливать
> > владельца.среди тех веток, который нельзя трогать есть
> ветки созданные инсталлятором, который затем сам с ними
> ничего сделать не может (мое виденье проблемы))


После смены владельца можешь больше не загрузить систему. 99%.

Лучше найди деинсталляторы сторонние и аккуратно попытайся почистить ими реестр.


 
Демо ©   (2010-02-27 20:25) [5]

Например, Uninstall Tool


 
Anatoly Podgoretsky ©   (2010-02-27 21:32) [6]

Поймаю, убью


 
Демо ©   (2010-02-27 21:52) [7]


> Anatoly Podgoretsky ©   (27.02.10 21:32) [6]
> Поймаю, убью


Ужжжас... Кого и за что?


 
KilkennyCat ©   (2010-02-27 22:07) [8]


> Лучше найди деинсталляторы сторонние и аккуратно попытайся
> почистить ими реестр.

эффективность их лишь в случае установки до Установки.
На всякий случай повторю еще раз - данной проблемы нет, есть лишь криворукость того, кто ставит.


 
Демо ©   (2010-02-27 22:51) [9]


> эффективность их лишь в случае установки до Установки.


Не прав ты, Костя.
Эти программы анализируют реестр на предмет ссылок, регистраций ActiveX, ссылки на DLL и прочие ресурсы.
Затем позволяют этот мусор из реестра и с диска вычистить...


 
KilkennyCat ©   (2010-02-27 23:01) [10]


> Демо ©   (27.02.10 22:51) [9]

До.
Вот запишет моя программа в реестр что-то один раз, а обратится на сотый запуск. и как определить, мусор эта запись, или нет?


 
Игорь Шевченко ©   (2010-02-27 23:44) [11]


> Затем позволяют этот мусор из реестра и с диска вычистить.
> ..


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


 
Демо ©   (2010-02-28 01:06) [12]


> KilkennyCat ©   (27.02.10 23:01) [10]
> > Демо ©   (27.02.10 22:51) [9]До. Вот запишет моя программа
> в реестр что-то один раз, а обратится на сотый запуск. и
> как определить, мусор эта запись, или нет?


А что, в этот один сотый раз программы с потолка возьмёт название ветки реестра?


> Игорь Шевченко ©   (27.02.10 23:44) [11]
> > Затем позволяют этот мусор из реестра и с диска вычистить.
> > ..нафиг, нафиг. Эти кривые пионерские поделки или создают
> видимость удаления или вышибают табуретку из-под инсталляторов.
>


Есть вполне адекватные. Да и процесс ведь проходит под полным контролем. Кто же разрешит грязными лапами программе в реестр лезть и бесконтрольно удалять что-то?


 
Демо ©   (2010-02-28 01:08) [13]


> > Демо ©   (27.02.10 22:51) [9]До. Вот запишет моя программа
> в реестр что-то один раз, а обратится на сотый запуск. и
> как определить, мусор эта запись, или нет?


Да не надо для определения ссылок на реестр мониторить процесс записвания.


 
Игорь Шевченко ©   (2010-02-28 01:18) [14]

Демо ©   (28.02.10 01:06) [12]


> Есть вполне адекватные


Видел только одну - MS-овскую RegClean. Вот она адеватная, но удаляет крайне немного - то, что осталось в пользовательском HKCR бесхозного, в смысле чего из InProcServer на диске нету (сейчас нету, а если завтра появится ?)

Все остальные - увы, неадекватные. Из последних неадекватных Wise Registry Cleaner, который почистил заодно историю у Far-а и еще у половины софта, ну и данные инсталлятора умерли тоже, в результате из Add/Remove Programs что-то не сносится, а требует оригинального диска.

Оно ж все умное, незнамо какое.


> Да и процесс ведь проходит под полным контролем


Да-да, вываливается четыре тыщи ссылок и говорится, что это все "можно преспокойно удалить".


 
Германн ©   (2010-02-28 01:33) [15]


> Да-да, вываливается четыре тыщи ссылок и говорится, что
> это все "можно преспокойно удалить".

Эт точно. Давно положил на подобные поделки.


 
KilkennyCat ©   (2010-02-28 01:46) [16]


> А что, в этот один сотый раз программы с потолка возьмёт
> название ветки реестра?

не понял. не с потолка, она знает, куда. а как узнает очищальщик? Декомпилирует?
а вот тебе еще пример: в целях безопасности я не держу банк-клиент на машине. когда надо - копирую на диск и запускаю. после работы - удаляю. именно удаляю, не деинсталлирую. и записи в реестре мне нужны.
очищальщик, смотрит запись в реестре, смотрит там путь к программе, не находит, и чистит. и привет.
и такого много.
так что, все такие утилиты далеко не для рядового пользователя, это раз, нерядовой пользователь о них обычно знает и смысла говорить нет, это два, ну и в-третьих, их эффективность сомнительна, если они предварительно не отслеживали процесс установки программы. Впрочем и в этом случае то же неэффективно и небезопасно: устанавливаемая программа может воспользоваться чужой веткой реестра, а очищальщик будет думать что?


 
Германн ©   (2010-02-28 01:52) [17]


> их эффективность сомнительна, если они предварительно не
> отслеживали процесс установки программы.

+1
Поэтому иногда пользую программы типа Ashampoo.


 
котэ   (2010-02-28 02:41) [18]


> Поймаю, убью

поймаю, загрызу =^_._^=

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


 
KilkennyCat ©   (2010-02-28 06:24) [19]


> Не понимаю от чего, собственно, столь высокая критичность
> к моему вопросу

Здесь не приветствуется вредоносность программ.


 
Anatoly Podgoretsky ©   (2010-02-28 12:04) [20]

Чистильщика реестра это особый класс троянов.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.062 c
15-1275510579
Юрий
2010-06-03 00:29
2010.08.27
С днем рождения ! 3 июня 2010 четверг


2-1271066929
Nostalgia
2010-04-12 14:08
2010.08.27
сортировка методом Шелла


9-1185021098
AlexanderMS
2007-07-21 16:31
2010.08.27
Повторный вывод уже построенной сцены в OpenGL.


8-1204201324
ERT
2008-02-28 15:22
2010.08.27
PrintScreen


3-1237837778
Гарик
2009-03-23 22:49
2010.08.27
Вызов хранимых процедур





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский