Dlaczego normalne odinstalowanie nie usuwa wartości z rejestru?

20

Rozwijanie opcji Jak usunąć resztki odinstalowanego oprogramowania z rejestru? - za każdym razem, gdy odinstalowuję program, a następnie sprawdzam go za pomocą RegEdit, nadal tam jest!

Dlaczego większość aplikacji Windows tak bardzo chce zostawić w rejestrze małe ślady siebie? Czy to wina systemu Windows, czy deweloperów?

Mark Boulder
źródło
3
Duża grupa tego rodzaju programów należy do programów próbnych, które mają limit czasowy, a następnie trzeba je kupić. jeśli nie pozostawiają śladów w systemie Windows, po zakończeniu okresu próbnego można po prostu odinstalować i ponownie zainstalować oprogramowanie oraz zresetować okres próbny. To naprawdę zależy od programistów, aby zdecydowali, jak ich programy powinny działać po odinstalowaniu. istnieją programy i oprogramowanie sterowników, które całkowicie odinstalowują i usuwają wszystko, co dodają podczas instalacji.
Conspiria

Odpowiedzi:

30

Ponieważ to niemożliwe.

Rejestr ma wiele węzłów głównych, ale tylko dwa interesujące: LocalMachine i CurrentUser . Zwykle instalator zapisuje wartości do LocalMachine, a działający program TYLKO zapisuje do CurrentUser (w rzeczywistości, chyba że konfiguracja nie zadziała z uprawnieniami, uruchomiony program nie może zapisać do LocalMachine).

Podczas gdy pozostawianie resztek w LocalMachine jest lenistwem, jak wskazano w innych odpowiedziach, nie można wyczyścić części użytkownika.

Jeśli program jest zainstalowany na maszynie (z których większość) i korzysta z niego wielu użytkowników, co powinien zrobić deinstalator? Może bezpiecznie usunąć ustawienia użytkownika bieżącego konta, ale bieżące konto może nie być Twoim kontem. (Dzieje się tak, jeśli uruchomiłeś dezinstalator z konta innego niż admin, a następnie wprowadziłeś poświadczenia konta administratora - instalacja jest teraz uruchomiona na tym koncie, a nie na pierwszym).

Co z innymi użytkownikami? Może próbować wyliczyć wszystkich użytkowników, ale ich klucze rejestru mogą nie zostać załadowane. (Windows jest leniwy i ładuje tylko to, czego potrzebuje).

Ale nie powinieneś nawet tego próbować. Jeśli korzystasz z profili mobilnych, na przykład do usług terminalowych, a następnie usuwasz wszystkie ustawienia podczas odinstalowywania, możesz naprawdę popsuć i usunąć rzeczy, które są nadal w użyciu.

Serwer terminali to w zasadzie jeden komputer z systemem Windows, na którym wielu użytkowników loguje się jednocześnie i korzysta z aplikacji.

Załóżmy, że masz dwa serwery terminali z jedną aplikacją. Deinstalujesz aplikację na TS1, teraz wszystkie ustawienia dla wszystkich użytkowników zniknęły na TS2, ponieważ masz profile mobilne. ups.

To samo dotyczy również plików w katalogach poszczególnych użytkowników.

W ustawieniach programu mojej firmy usuwam elementy dotyczące poszczególnych komputerów, ale nie dotykam elementów dotyczących poszczególnych użytkowników, nawet użytkownika aktualnie uruchomionego.

Lukas Rieger
źródło
Nie zapominaj również, że odinstalowanie niekoniecznie oznacza całkowite pozbycie się aplikacji: czasami odinstalowujesz wersję 1 aplikacji, a następnie instalujesz wersję 2 tej samej aplikacji - w takim przypadku nie chcesz stracić wszystkich ustawień.
Stefan
19

Jest tak z wielu powodów, jednak nie jest to wina Microsoftu ani systemów operacyjnych Windows.

Poniżej znajduje się lista niektórych przypadków i przyczyn pozostawienia wpisów rejestru:

  • Złe programowanie - programista nie napisał poprawnie deinstalatora aplikacji, a wpisy rejestru pozostają w tyle. Ponadto dezinstalator może nie mieć / używać odpowiednich uprawnień do usuwania wpisów rejestru. Możliwe też, że istnieje więcej niż jedna aplikacja korzystająca z tych kluczy. Na przykład dwie aplikacje tego samego programisty, które zapisują te same klucze.

  • Pozostawione celowo - jak wspomniano w jednym komentarzu, wpisy te mogły zostać pozostawione celowo. Niektóre aplikacje mają okres próbny, a po tym okresie możesz zdecydować się na usunięcie aplikacji. Jeśli zdecydujesz się ponownie zainstalować aplikację później, klucze te podają informacje o aplikacji, kiedy została ona zainstalowana. Poza tym, niektórzy deweloperzy mogą zdecydować się opuścić te klucze w przypadku wyboru , aby ponownie zainstalować aplikację. Jeśli programista użył kluczy rejestru do przechowywania dostosowań, mogą je tam zostawić, więc po ponownym zainstalowaniu wszystkie dostosowania będą się utrzymywać. W wielkim schemacie klucze rejestru zajmują tylko kilka bajtów.

Czy powinieneś usunąć klucze? To zależy. Rejestr systemu Windows jest niebezpiecznym miejscem, w którym można się zepsuć. Możesz przypadkowo uszkodzić system. Pozostawienie obcych kluczy nie zaszkodzi systemowi. Niektórzy twierdzą, że czyszczenie / defragmentacja rejestru przyspieszy system, ale wielokrotnie udowodniono , że to fałsz .

Jeśli naprawdę chcesz się pozbyć tych programów, istnieje kilka narzędzi do odinstalowywania , które mogą usunąć każdy ślad programu. Programy te będą obserwować instalator innego programu i rejestrować wszystkie działania wykonane w systemie plików i rejestrze, a następnie całkowicie je usunąć. Jeden problem z tych narzędzi jest to, że jest możliwe , że mogą usunąć rzeczy może chcesz zachować.

Keltari
źródło
Pomimo tego, że są „kilkoma bajtami”, bajty te sumują się. Może to powodować spowolnienie rejestru, gdy gromadzi się coraz więcej nieużywanych wpisów. Prawdopodobnie nie dotyczy to „typowego” użytkownika, ale ciężcy użytkownicy będą mieli większy problem. Właśnie dlatego zaleca się odświeżanie / ponowne instalowanie systemu Windows co 6-12 miesięcy, aby utrzymać system w dobrej kondycji. Programy takie jak CCleaner mogą dłużej utrzymywać system szybciej, usuwając resztki z aplikacji.
phyrfox
3
@phyrfox, jak stwierdzono w mojej odpowiedzi, środki czyszczące rejestr są olejem wężowym. wcale nie pomagają.
Keltari
1
W dniach Win9x rozmiar rejestru miał znaczenie, a wiele starych kluczy spowolniło system operacyjny. Ale to było dawno temu, a regustry NT to inna bestia. Chociaż czasem trzeba to naprawić: Jak skompresować „wzdęte” ule rejestru
beatcracker
10
@phyrfox: „Programy takie jak CCleaner mogą dłużej utrzymywać system szybciej” - Nie, nie robią tego. „Dlatego typowe jest zalecanie odświeżania / ponownej instalacji systemu Windows co 6-12 miesięcy, aby utrzymać system w dobrej kondycji.” - Typowe, ponieważ ludzie nie wiedzą, jak dbać o swoje systemy. Siedzę tutaj, pisząc o 5-letniej instalacji, która była intensywnie używana i nie było zauważalnego spowolnienia. Takie rekomendacje utrzymują firmy sprzedające olej z węża w biznesie.
Karan
1
Tak, rejestr jest w rzeczywistości dość szybki (a najczęściej używane ule i klucze są zwykle przechowywane w pamięci). Nawet w dawnych czasach największy problem z „rozdętym” rejestrem dotyczył takich rozszerzeń powłoki i HKCR - wrócili zaraz po ponownej instalacji dostarczonego oprogramowania. Minęło sporo czasu, odkąd ostatni raz ponownie instalowałem system operacyjny z powodów związanych z „wydajnością” (wciąż w systemie Windows XP, nigdy w wersji 7).
Luaan,
0

Aby pozbyć się resztek rejestru, spróbuj użyć deinstalatora IOBIT. Jest to zdecydowanie najlepszy deinstalator na rynku, a poza tym jest bezpłatny. Używam go cały czas. Pozostały klucz rejestru to kliknij pole wyboru po wyświetleniu monitu i usuń klucze rejestru. Iobit jest dostarczany z innymi programami, po prostu użyj dezinstalatora, aby się ich pozbyć

newtobeingageektech
źródło