Početna » kako da » Zašto normalni softver deinstalira neuspjelo uklanjanje svih relevantnih vrijednosti iz registra?

    Zašto normalni softver deinstalira neuspjelo uklanjanje svih relevantnih vrijednosti iz registra?

    Kada deinstalirate program, to je "razumno" očekivanje da će svi tragovi biti uklonjeni iz vašeg sustava, ali to često nije slučaj. Zašto je to? Današnja postova s ​​pitanjima o odgovorima korisnika imaju odgovore na znatiželjno pitanje čitatelja.

    Današnja sesija pitanja i odgovora dolazi nam ljubaznošću SuperUser-a, podjele Stack Exchangea, grupiranja web-lokacija za pitanja i odgovore u zajednici.

    Snimak je dopušteno lutanjem (Flickr).

    Pitanje

    Čitač superkorisnika Označi Boulder želi znati zašto neke vrijednosti registra uvijek ostaju nakon uobičajenog deinstaliranja softvera:

    Proširenje na temu SuperUser Kako mogu ukloniti preostale tragove deinstaliranog softvera iz registra, zašto je to svaki put kad deinstaliram program i kasnije ga pogledam preko RegEdita, još uvijek postoji?

    Zašto je većina Windows aplikacija tako namjerna ostaviti male tragove sebe u registru? Da li krivnja leži u sustavu Windows ili s programerima?

    Zašto su vrijednosti registra obično „ostavljene“ nakon uobičajenog deinstaliranja softvera?

    Odgovor

    Suradnici superkorisnika Lukas Rieger i Keltari imaju odgovor za nas. Prvo gore, Lukas Rieger:

    Zato što je to nemoguće. Registar ima više korijenskih čvorova, ali samo dva zanimljiva: LocalMachine i CurrentUser. Uobičajeno, podešavanje zapisuje vrijednosti u LocalMachine, a pokrenuti program samo piše u CurrentUser (zapravo, osim ako postavka ne dopušta dozvole, pokrenut program ne može pisati u LocalMachine).

    Dok je zadržavanje ostataka u programu LocalMachine lijenost (kao što su istaknuti i drugi odgovori), nije moguće očistiti dio CurrentUser.

    Ako je program instaliran po stroju (što je većina) i ako ga koristi više korisnika, što bi trebao deinstalirati? To bi moglo sigurno ukloniti korisničke postavke trenutnog računa, ali trenutni račun možda nije vaš račun. To se događa ako ste deinstalaciju pokrenuli s računa koji nije administrator i zatim ste unijeli vjerodajnice administrativnog računa, a postavka se sada izvodi pod tim računom, a ne prva.

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

    Ali ne biste trebali ni pokušavati. Ako upotrebljavate roaming profile (npr. Terminalske usluge), a zatim izbrišete sve postavke na deinstalaciji, stvarno biste mogli zabrljati i brisati stvari koje se još uvijek koriste. Terminalni poslužitelj je u osnovi jedan Windows stroj u koji se istovremeno prijavljuje više korisnika i koriste aplikacije. Recimo da imate dva terminalna poslužitelja koja pokreću jednu aplikaciju. Možete deinstalirati aplikaciju na TS1, sada sve postavke za sve korisnike su otišli na TS2 jer imate roaming profile. Ups.

    Isto vrijedi i za datoteke u direktorijima po korisniku. Prilikom postavljanja programa moje tvrtke brišem stvari po uređaju, ali ne dodirujem stvari po korisniku, čak ni korisnika koji trenutačno izvodi postavku.

    Slijedi odgovor iz Keltarija:

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

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

    Loše programiranje - Programer nije ispravno napisao aplikaciju za deinstalaciju i stavke registra su ostavljene. Osim toga, uninstaller možda nema / koristi odgovarajuće dozvole za uklanjanje stavki registra. Također može biti da postoji više od jedne aplikacije koja koristi te ključeve. Primjerice, dvije aplikacije istog razvojnog programera koje pišu na iste ključeve.

    Lijevo na svrhu - Kao što je navedeno u jednom komentaru, ti su unosi mogli biti namjerno ostavljeni. Neke aplikacije imaju probno razdoblje, a nakon toga možete ukloniti aplikaciju. Ako kasnije odlučite ponovo instalirati aplikaciju, te tipke daju informacije o aplikaciji kada je instaliran. Osim toga, neki programeri mogu ostaviti te ključeve u slučaju da odlučite ponovno instalirati aplikaciju. Ako je programer koristio ključeve registra za pohranjivanje vaših prilagodbi, mogli bi ih ostaviti tamo, tako da prilikom ponovne instalacije aplikacije sve vaše prilagodbe ostaju. U velikoj shemi stvari, ključevi registra zauzimaju samo nekoliko bajtova.

    Trebate li ukloniti ključeve? Ovisi. Windows Registry je opasno mjesto za nered okolo u. Možete nehotice razbiti svoj sustav. Ostavljanje tuđih ključeva neće nauditi sustavu. Neki ljudi će reći čišćenje / defragging registra će ubrzati vaš sustav, ali to je dokazano lažno više puta.

    Ako se doista želite riješiti tih programa, postoje neki alati za deinstalaciju koji mogu ukloniti svaki trag programa. Ovi programi će gledati instalacijski program drugog programa i snimati sve radnje izvršene u datotečnom sustavu i registru, a zatim potpuno ukloniti te radnje. Jedan od problema s tim alatima je da je moguće da mogu ukloniti stvari koje možda želite zadržati.


    Imate li što dodati objašnjenju? Zvuk isključen u komentarima. Želite li pročitati više odgovora od drugih tehničkih korisnika Stack Exchangea? Pogledajte cjelokupnu temu za raspravu ovdje.