If-Koubou

Zašto uklanjanje normalnih softvera ne uspije ukloniti sve relevantne vrijednosti iz registra?

Zašto uklanjanje normalnih softvera ne uspije ukloniti sve relevantne vrijednosti iz registra? (Kako da)

Kada deinstalirate program, to je "razumno" očekivanje da će svi njegovi tragovi biti uklonjeni iz vašeg sustava, ali to često nije slučaj. Zašto je to? Danas SuperUser Q & A post ima odgovore na pitanje čudnog čitatelja.

Današnja pitanja i odgovori nam se javljaju zahvaljujući SuperUseru - podjele Stack Exchange-a, zajednice-driven grupiranja Q & A web stranica.

Screenshot zbog ljubaznosti (Flickr).

Pitanje

SuperUser čitač Mark Boulder želi znati zašto neke vrijednosti registra uvijek ostaju nakon normalne deinstalacije softvera:

Proširenje teme SuperUser Kako ukloniti ostatke tragova deinstaliranog softvera iz registra, zašto je svaki put kad deinstaliram program, a kasnije ga pogledam putem RegEdit-a, još uvijek postoji?

Zašto većina aplikacija sustava Windows namjerava ostaviti sitne sitne tragove sebe u registru? Je li pogreška u sustavu Windows ili kod razvojnih programera?

Zašto su vrijednosti registra obično "ostavljene" nakon normalnog deinstalacije softvera?

Odgovor

Odgovor za nas imaju Lukas Rieger i Keltari. Prvo, Lukas Rieger:

Zato što je nemoguće. Registar ima više čvorova korijena, ali samo dva zanimljiva one: LocalMachine i CurrentUser. Uobičajeno, instalacija piše vrijednosti u LocalMachine, a pokrenuti program samo piše u CurrentUser (zapravo, osim ako postavljanje nereda s dozvolama, pokrenuti program ne može pisati u LocalMachine).

Dok zadržavanje ostataka u LocalMachine je lijenost (kao što je istaknuto drugim odgovorima), nije moguće očistiti dio CurrentUser.

Ako je program ugrađen po stroju (koji je većina) i koristi ga više korisnika, što bi trebalo deinstalirati? To bi moglo sigurno ukloniti korisničke postavke tekućeg računa, ali tekući račun možda nije vaš račun. To se događa ako ste deinstalaciju pokrenuli s računa koji nije administrator, a zatim unijeli vjerodajnice administratorskog računa, postavka se sada pokreće na tom računu, a ne prvom.

Što je s ostalim korisnicima? Može pokušati nabrojati sve korisnike, ali njihovi ključevi registra možda neće biti učitani (Windows je lijen i samo učita ono što je potrebno).

Ali ne biste ni to trebali pokušati. Ako koristite roaming profile (tj. Usluge terminala), a zatim izbrišete sve postavke za deinstaliranje, mogli biste stvarno zabrljati i izbrisati stvari koje su još uvijek u upotrebi. Terminalni poslužitelj je u osnovi jedan Windows stroj gdje se više korisnika istovremeno prijavljuje i koristi programe. Recimo da imate dva terminalna poslužitelja s jednim programom. Deinstalirate aplikaciju na TS1, sada su sve postavke za sve korisnike nestale na TS2 jer imate roaming profile. Ups.

Isto vrijedi i za datoteke u direktoriju po korisniku. U postavljanju programa moje tvrtke izbrišem stvari po stroju, ali ne dodirujam stvari po korisniku, čak ni od korisnika koji trenutno ne pokreće postavljanje.

Slijedi odgovor Keltara:

Postoji mnogo razloga zašto je to slučaj, međutim, nije kriva Microsoft ni operativni sustav Windows.

Slijedi popis nekih slučajeva i razloge zbog kojih su ostavljeni unosi u registar:

Loša programiranje - Razvojni programer nije ispravno napisao program za deinstalaciju aplikacija i zapisi registra ostali su iza. Osim toga, deinstaliranje možda neće imati / koristiti odgovarajuće dozvole za uklanjanje unosa registra. Moglo bi biti i da postoji više od jedne aplikacije koja koristi te ključeve. Na primjer, dvije aplikacije iz istog razvojnog programera koji pišu na iste ključeve.

Lijevo na namjenu - Kao što je spomenuto u jednom komentaru, ti se prijedlozi mogle zamišljeno ostaviti. Neke aplikacije imaju probno razdoblje i nakon tog razdoblja možete odabrati uklanjanje programa. Ako odlučite naknadno instalirati aplikaciju, ti ključevi daju podatke o aplikaciji kada je instaliran. Osim toga, neki razvojni programeri mogu odabrati da ostavite te ključeve u slučaju da odlučite ponovno instalirati aplikaciju. Ako programer koristi ključeve registra za pohranu vaših prilagodbi, oni bi ih mogli ostaviti tamo tako da nakon ponovne instalacije aplikacije sve vaše prilagodbe nastave. U velikoj shemi stvari, ključevi registra zauzimaju samo nekoliko bajtova.

Uklonite li ključeve? Ovisi. Windows Registry je opasno mjesto za zabrljati. Možete nenamjerno slomiti svoj sustav. Ostavljanje vanjskih ključeva neće naštetiti sustavu. Neki ljudi kažu čišćenje / odstupanje registra ubrzati vaš sustav, ali to je dokazano lažno više puta.

Ako se zaista želite riješiti tih programa, postoje neki alati za deinstalaciju koji mogu ukloniti svaki trag programa. Ovi programi će gledati instalaciju drugog programa i snimiti sve radnje učinjene datotečni sustav i registra, a zatim potpuno ukloniti te radnje. Jedan problem s ovim alatima jest da je moguće da mogu ukloniti stvari koje biste željeli zadržati.

Imate li nešto za objašnjenje? Zvuči u komentarima. Želite li pročitati više odgovora od drugih tehnoloških korisnika Stack Exchangea? Pogledajte ovdje cijelu raspravu.