Войти

Показать полную графическую версию : [решено] Удаление всех упоминаний программы в реестре с помощью командного файла


Oleg48
04-04-2012, 12:27
Уважаемые форумчане после установки-удаления программ в реестре системы некоторые недобросовестные производители программного обеспечения оставляют после своей программы огромную кучу различного хлама: разделы которые уже ненужны, настройки которые могут повлиять на установку других программ. Хочу попросить вас помощи в создании, или уже готовый вариант командного файла, с помощью которого можно найти все упоминания во всех названиях разделов, ключей и обязательно параметров реестра, например слова: yandex. Найденные упоминания удалить. Буду очень благодарен

Iska
04-04-2012, 14:12
Oleg48, уходите от такого подхода:
с помощью которого можно найти все упоминания во всех названиях разделов, ключей и обязательно параметров реестра, например слова: yandex. Найденные упоминания удалить. »
Это много хуже любых существующих чистилок реестра. Те хоть какое-то подобие анализа пытаются делать. А у Вас — сразу «найти всё и удалить».

Oleg48
04-04-2012, 15:56
Это много хуже любых существующих чистилок реестра »
Согласен, именно такого эфекта хочу добиться. И слово yandex, непросто приводится в примере. На чистой системе в реестре нет ни одного упоминания Yandex, однако после установки-удаления Яндекс.Бар для IE в реестре остается около 53 упоминаний. В дальнейшем при установке Opera появляется Яндекс.Панель, Яндекс.Поиск и мои закладки на экспресс панели Opera почему-то заменяются только одной вкладкой яндекса, поэтому и нужно сделать полное глобальное удаление этого мусора.

Iska
04-04-2012, 16:29
Я Вам про сам метод и Ваш подход, а Вы мне: «на чистой системе слово «Yandex» не встречается».

Остаюсь при своём мнении:

1) «мусор» просто не надо устанавливать;
2) зачищать следы нужно «ручками», рассмотрев внутренности установщика и приложения, при тщательном анализе возможных последствий каждого удаления.

Oleg48
04-04-2012, 16:41
Iska, спорить с Вами небуду, я нехочу навязать Вам свое мнение, просто если можете помоч то помогите, нет так нет.

mihsam
06-04-2012, 16:08
Не хочешь ручками,поставь Uninstall Tool и удали бар,дождись окончания работы пока не выскочит запрос:удалить оставленные программой записи,нажми да,вот и все.

Oleg48
06-04-2012, 19:07
Не хочешь ручками,поставь Uninstall Tool и удали бар,дождись окончания работы пока не выскочит запрос:удалить оставленные программой записи,нажми да,вот и все. »
mihsam, ....Скриптовые языки администрирования Windows для того и существуют что-бы не делать ручками рутинные операции, а написать скрипт и чтобы он все операции делал за тебя. Если тебе интерестно то Яндекс.Бар я удаляю с помощью WMI одной простой строчкой:
WMIC PRODUCT "Яндекс.Бар 6.5 для Internet Explorer" CALL UNINSTALL
Удаляет на ура, только остаются в реестре упоминания Яндекса, которые приходится удалять с помощью такого REG-файла
Windows Registry Editor Version 5.00
[-HKEY_USERS\.DEFAULT\Software\Yandex]
[-HKEY_USERS\S-1-5-18\Software\Yandex]
[-HKEY_CURRENT_USER\Software\Yandex]
[-HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchScopes\Yandex]
[-HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchScopes\{95F663C0-C370-4955-8B39-63069DB1F6C0}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Low Rights\ElevationPolicy\{E5A432E4-A349-4F4F-9FBE-B07A2592A629}]

Такой подход к удалению Яндекс.Бар немного топорный, да и дополнительный REG-файл нужно создавать, хочется что-бы все было компактно в одном командном файле, и главное такое удаление нужно для WPI-установки других программ, что естественно исключает любые действия пользователя.

mihsam
07-04-2012, 11:12
Ну кому нужен этот гемор,если одна небольшая программа удаляет и программу и подчищяет реестр,для надежности можно просмотреть после удаления реестр, но как правило если это нормальная прогамма,я говорю о Uninstall Tool,а не какой нибудь repac,удаление проходит чисто.

intelem
07-04-2012, 19:58
Наверное всё таки это разумней решить перепаковкой программ содержащих Яндекс.Бар, заодно и WPI облегчить...

DesmondTruman
07-04-2012, 22:30
да и дополнительный REG-файл нужно создавать, хочется что-бы все было компактно в одном командном файле,
Тогда можно сразу в батнике использовать команду reg delete.

Oleg48
07-04-2012, 23:47
Ну кому нужен этот гемор,если одна небольшая программа удаляет и программу и подчищяет реестр »
mihsam, мы разговариваем на разных языках, если я ставлю программу автоматически в день до 10-15 раз и у меня нет времени и желания каждый раз удалять Яндекс.Бар с помощью Uninstall Tool и чистить реестр этой программой или вручную то для этого и пишуться командные файлы которые должны делать эту геморойную работу автоматически, надоело вам обьяснять азбучные истины.
Наверное всё таки это разумней решить перепаковкой программ содержащих Яндекс.Бар, заодно и WPI облегчить... »
Согласен наверно придется перепаковывать хотя это и занимает много времени.

Iska
08-04-2012, 01:42
Oleg48, этот подход:
Яндекс.Бар я удаляю с помощью WMI одной простой строчкой:

…остаются в реестре упоминания Яндекса, которые приходится удалять с помощью такого REG-файла »
вполне имеет право на жизнь, ибо Вы удаляете конкретные, известные и заранее проверенные параметры и разделы. Подход, озвученный в самом начале — «всё и отовсюду» — нет.

yurfed
08-04-2012, 01:57
Oleg48, есть готовая программа, которая ищет глобально по реестру.
поиск и замена строк в реестре (http://game-edition.ru/utility/reg-run-poisk-i-zamena-strok-v-reestre/?action=dlattach;attach=2377;PHPSESSID=360862579c0df3759b97f4e6b05b970c)

http://i044.radikal.ru/1204/c1/9fb183290fe7.png (http://www.radikal.ru)

Но учтите, всё, что вы делаете, вы делаете на свой страх и риск
Вот ещё
VBS/WSH/JS - [решено] Поиск и замена индивидуальных данных в реестре (http://www.google.ru/url?sa=t&rct=j&q=%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%20%D0%B8%20%D0%B7%D0%B0%D0%BC%D0%B5%D0%BD%D0%B0%20%D0%BF%D0%BE%20%D 1%80%D0%B5%D0%B5%D1%81%D1%82%D1%80%D1%83&source=web&cd=8&ved=0CFcQFjAH&url=http%3A%2F%2Fforum.oszone.net%2Fthread-169956.html&ei=-7WAT7q8FoedOt6s_YoH&usg=AFQjCNEI1wSeSy32vffcTVZ19q4wmsbYEA&cad=rjt)

Setser
07-08-2015, 07:14
А как насчет автоматического поиска по слову, вывод списка, убираем галки которые не нужны, где глаки стоят удаляем одной кнопкой.
у меня проблема с MapInfo. Сижу руками в реестре жму Ctrl+f - mapinfo, enter, находит ключ, смотрю, DEL, enter, Ctrl+f .......... Этих ключей в реестре целая помойка! А мне нужно удалить все следы мапинфо совсем. Было бы хорошо все ключи вывести списком и проверив список снести к черт... все сразу. Сижу уже два часа ((
Вообще проблема в удалении\установке мап инфо. Из деспетчера не удаляется. fixit matskb зависает. Только принудительно Uninstall Tool получилось удалить и само собой кучу мусора осталось который не позволяет установить мапинфо заново. Вот сижу руками удаляю.. Бывает такое иногда. Поэтому присоединяюсь к вопросу автора о такой мелкой утилите со списком и удалением одной кнопкой.

Setser
07-08-2015, 07:32
ОПА! в AVZ есть утилита то как я написал! Поиск данных в реестре так и называется. отмечаем галками и удаляем.

turbolover
07-08-2015, 23:44
Поиск и удаления ключей и веток реестра с помощю, (.vbs) скрипта.
Option Explicit
Dim sSearchFor, st, st0, sRegTmp, sOutTmp, eRegLine, iCnt, sRegKey, aRegFileLines, stroca, isDel, delLine, delLines, resbox
Dim wssh : Set wssh = CreateObject("WScript.Shell")
Dim FSO : Set FSO = CreateObject("Scripting.FileSystemObject")

sSearchFor = InputBox("Enter a search word." &vbcrlf&vbcrlf& "Below Enter the Registry Key or Hive Name, it you want Find and Deleted", "Registry Finder")
If sSearchFor = "" Then Cleanup()

Dim StartTime : StartTime = Timer

sRegTmp = wssh.Environment("Process")("Temp") & "\RegTmp.tmp "
sOutTmp="ScanReport "&sSearchFor&".txt"

wssh.Run "regedit /e /a " & sRegTmp, , True
aRegFileLines = Split(FSO.GetFile(sRegTmp).OpenAsTextStream(1, 0).Read(FSO.GetFile(sRegTmp).Size), vbcrlf)
FSO.DeleteFile(sRegTmp)

Dim txt : Set txt = fso.OpenTextFile(sOutTmp,2,True)

txt.WriteLine "Result of found Registry Hives"&vbcrlf&"Below we are able to delete records that we want to leave alive"&vbcrlf&"==============================================================="&vbcrlf&""

For Each eRegLine in aRegFileLines
On Error Resume Next
If InStr(1, eRegLine, "[", 1) > 0 Then
sRegKey = eRegLine
end if
If InStr(1, eRegLine, sSearchFor, 1) > 0 Then
If sRegKey <> eRegLine Then
st0=Split(eRegLine,"=")
st=Replace(st0(0),"""","")
stroca=Mid(sRegKey,2)
stroca=Replace (stroca,"]","",1)
txt.WriteLine stroca &"\"& st
else
stroca=Mid(sRegKey,2)
stroca=Replace (stroca,"]"," ",1)
stroca =Trim(stroca)
txt.WriteLine stroca & "\"
End If
iCnt = iCnt + 1
End If
Next

txt.Close
Erase aRegFileLines

If iCnt < 1 Then
wssh.Popup "Search lasted " & FormatNumber(Timer - StartTime, 0) & " sec. " & _
"On request " & chr(34) & sSearchFor & chr(34) & _
" nothing found.",, "Registry Finder", 4096
FSO.DeleteFile(sOutTmp)
Cleanup()
End If

wssh.Popup "Search lasted " & FormatNumber(Timer - StartTime, 0) & " sec. " & _
iCnt & " matches on request " & chr(34) & sSearchFor & chr(34),, _
"Registry Finder", 4096

wssh.Run "NotePad " & sOutTmp, 3, True 'Open with Notepad with a report to removal

delLines = Split(FSO.OpenTextFile(sOutTmp,1).ReadAll, vbcrlf)
For Each delLine in delLines
if Left(delLine,1)<>"<" then
Err.Clear
wssh.RegDelete delLine
If Err.Number<>0 then
Err.Clear : wssh.RegRead delLine
if Err.Number=0 then
resbox=resbox&delLine&vbCrLf&vbCrLf
end if
End if
end if
Next
if resbox<>"" then resbox="The following lines failed to remove:"&vbCrLf&resbox

isDel=wssh.Popup(resbox&"Save Report",, _
"Report", 36)
if isDel=7 then FSO.DeleteFile(sOutTmp)
Cleanup()

Sub Cleanup()
Set wssh = Nothing
Set FSO = Nothing
WScript.Quit
End Sub

usbdrive
10-08-2015, 12:21
ОПА! в AVZ есть утилита то как я написал! Поиск данных в реестре так и называется. отмечаем галками и удаляем. »
Да, отлично работает. Сэнкс. :up
Обычно пользуюсь этой - очень понравилась скорость поиска http://www.nirsoft.net/utils/regscanner.html




© OSzone.net 2001-2012