10Aug

Hvorfor fjerner Normal Software Uninstalls ikke at fjerne alle relevante værdier fra registreringsdatabasen?

click fraud protection

Når du afinstallerer et program, er det en "rimelig" forventning om, at alle spor af det vil blive fjernet fra dit system, men det er ofte ikke tilfældet. Hvorfor det? Dagens SuperUser Q & A-indlæg har svarene på en nysgerrig læsers spørgsmål.

Dagens Spørgsmål &Svar session kommer til os høflighed af SuperUser-en underafdeling af Stack Exchange, en community-drevet gruppe af Q & A-websteder.

Skærmbillede høflighed( Flickr).

Spørgsmål

SuperUser læser Mark Boulder vil vide, hvorfor nogle registreringsværdier altid forbliver efter en normal software afinstallation:

Udvidelse på SuperUser-emnet Hvordan fjerner jeg resterende spor af afinstalleret software fra registreringsdatabasen, hvorfor er det, at hver gang jeg afinstallereret program og senere se det op via RegEdit, er det stadig der?

Hvorfor er flertallet af Windows-programmer så hensigtsmæssige, at de forlader små små spor af sig selv i registreringsdatabasen? Er fejlen lig med Windows eller med udviklerne?

instagram viewer

Hvorfor er registreringsværdier normalt "efterladt" efter normalt at afinstallere software?

Svaret

SuperUser bidragyderne Lukas Rieger og Keltari har svaret for os. Først op, Lukas Rieger:

Fordi det er umuligt. Registret har flere rodknudepunkter, men kun to interessante: LocalMachine og CurrentUser. Normalt skriver opsætningen værdier i LocalMachine, og det kørende program skriver kun til CurrentUser( faktisk, medmindre opsætningen roterer med tilladelserne, kan det kørende program ikke skrive til LocalMachine).

Mens du holder rester i LocalMachine er dovenskab( som påpeget af de andre svar), er det ikke muligt at rense CurrentUser-delen.

Hvis et program installeres pr. Maskine( som de fleste er) og flere brugere bruger det, hvad skal afinstalleringen gøre? Det kunne sikkert fjerne brugerens indstillinger for den aktuelle konto, men den aktuelle konto er muligvis ikke din konto. Dette sker, hvis du startede afinstalleringen fra en ikke-administratorkonto og derefter indtastede legitimationsoplysningerne til en adminkonto, kører installationsprogrammet nu under den pågældende konto, ikke den første.

Hvad med de andre brugere? Det kan forsøge at opregne alle brugere, men deres registreringsnøgler kan muligvis ikke indlæses( Windows er doven og laster kun de ting, den har brug for).

Men du bør ikke engang prøve det. Hvis du bruger roamingprofiler( dvs. terminaltjenester) og derefter sletter alle indstillinger ved afinstallation, kan du virkelig ødelægge og slette ting, der rent faktisk stadig er i brug. En terminalserver er stort set en Windows-maskine, hvor flere brugere logger ind på samme tid og bruger applikationer. Sig, at du har to terminale servere, der kører en applikation. Du afinstallerer programmet på TS1, nu er alle indstillinger for alle brugere gået på TS2, fordi du har roaming-profiler. Ups.

Det samme gælder også filer i pr. Brugerkataloger. Ved opsætningen af ​​mine virksomheds programmer sletter jeg maskinens ting, men berør ikke de enkelte brugere, ikke engang brugeren, der kører installationen.

Efterfulgt af svaret fra Keltari:

Der er mange grunde til, at dette er tilfældet, men det er ikke fejlen i Microsoft eller Windows-operativsystemet.

Følgende er en liste over nogle tilfælde og årsager til, at registreringsdatabasen er efterladt:

Dårlig programmering - Udvikleren har ikke skrevet afinstallationsprogrammet korrekt og registreringsdatabasen er efterladt. Desuden kan afinstallationsprogrammet muligvis ikke have / bruge de korrekte tilladelser til at fjerne registreringsposterne. Det kan også være, at der er mere end en applikation, der bruger disse nøgler. For eksempel to applikationer fra den samme udvikler, der skriver til de samme nøgler.

Venstre På Formål - Som en kommentar nævnt kunne disse indtastninger være formået. Nogle programmer har en prøveperiode, og efter denne periode kan du vælge at fjerne applikationen. Hvis du vælger at geninstallere programmet senere, indeholder disse nøgler programoplysningerne, når den blev installeret. Ud over det kan nogle udviklere vælge at forlade disse nøgler, hvis du vælger at geninstallere applikationen. Hvis udvikleren brugte registreringsnøgler til at gemme dine tilpasninger, kan de muligvis lade dem være der, så når du geninstallerer programmet, fortsætter alle dine tilpasninger. I den store ordning af ting tager registreringsnøgler kun et par bytes.

Skal du fjerne nøglerne? Det kommer an på.Windows-registreringsdatabasen er et farligt sted at rodre rundt i. Du kan utilsigtet bryde dit system. Hvis du forlader de fremmede nøgler, vil det ikke skade systemet. Nogle mennesker vil sige at rengøre / defraggere registreringsdatabasen vil fremskynde dit system, men det er gentagne gange blevet bevist falsk.

Hvis du virkelig vil slippe af med disse programmer, er der nogle afinstallationsværktøjer, der kan fjerne ethvert spor af et program. Disse programmer vil se installationsprogrammet af et andet program og registrere alle handlinger, der er udført til filsystemet og registreringsdatabasen, og fjern derefter disse handlinger helt. Et problem med disse værktøjer er, at det er muligt, at de kan fjerne ting, du måske vil beholde.

Har du noget at tilføje til forklaringen? Lyde af i kommentarerne. Vil du læse flere svar fra andre tech-savvy Stack Exchange brugere? Tjek den fulde diskussionstråd her.