Pourquoi les désinstallations normales ne suppriment-elles pas les valeurs du registre?

20

Étendre sur Comment supprimer les traces résiduelles des logiciels désinstallés du registre? - chaque fois que je désinstalle un programme et que je le recherche plus tard via RegEdit, il est toujours là!

Pourquoi la majorité des applications Windows sont-elles si déterminées à laisser de minuscules petites traces d'elles-mêmes dans le registre? Est-ce la faute de Windows ou des développeurs?

Mark Boulder
la source
3
Un grand nombre de ces types de programmes appartiennent à des programmes d'essai qui ont une limite de temps et après cela, vous devez les acheter. s'ils n'ont laissé aucune trace sur Windows, une fois la période d'essai terminée, vous pouvez simplement désinstaller et réinstaller le logiciel et réinitialiser la période d'essai. C'est vraiment aux développeurs de décider comment leurs programmes doivent agir lors de la désinstallation. il existe des programmes et des pilotes qui se désinstallent complètement et suppriment tout ce qu'ils ajoutent lors de l'installation.
Conspiria

Réponses:

30

Parce que c'est impossible.

Le registre a plusieurs nœuds racine, mais seulement deux intéressants: LocalMachine et CurrentUser . Normalement, le programme d'installation écrit des valeurs dans LocalMachine et le programme en cours d'exécution écrit UNIQUEMENT dans CurrentUser (en fait, à moins que le programme d'installation ne respecte les autorisations, le programme en cours d'exécution ne peut pas écrire dans LocalMachine.)

Bien que conserver les restes dans LocalMachine soit de la paresse, comme le soulignent les autres réponses, il n'est pas possible de nettoyer la partie utilisateur.

Si un programme est installé par machine (la plupart) et que plusieurs utilisateurs l'utilisent, que doit faire le programme de désinstallation? Il pourrait supprimer en toute sécurité les paramètres utilisateur du compte actuel, mais le compte actuel pourrait ne pas être votre compte. (Cela se produit si vous avez démarré le programme de désinstallation à partir d'un compte non administrateur, puis entré les informations d'identification d'un compte administrateur - la configuration s'exécute maintenant sous ce compte, pas le premier).

Et les autres utilisateurs? Il pourrait essayer d'énumérer tous les utilisateurs, mais leurs clés de registre pourraient ne pas être chargées. (Windows est paresseux et ne charge que ce dont il a besoin.)

Mais vous ne devriez même pas essayer celui-là. Si vous utilisez des profils itinérants, par exemple pour les services Terminal Server, puis supprimez tous les paramètres lors de la désinstallation, vous pourriez vraiment gâcher et supprimer des éléments qui sont encore en cours d'utilisation.

Un serveur de terminaux est essentiellement une machine Windows où plusieurs utilisateurs se connectent en même temps et utilisent des applications.

Supposons que deux serveurs Terminal Server exécutent une application. Vous désinstallez l'application sur TS1, maintenant tous les paramètres pour tous les utilisateurs ont disparu sur TS2 car vous avez des profils itinérants. Oups.

Il en va de même pour les fichiers des répertoires par utilisateur.

Dans la configuration de mon programme d'entreprise, je supprime les éléments par machine mais ne touche pas aux éléments par utilisateur, pas même à l'utilisateur exécutant actuellement la configuration.

Lukas Rieger
la source
N'oubliez pas non plus que désinstaller ne signifie pas nécessairement se débarrasser complètement d'une application: parfois vous désinstallez la version 1 d'une application, puis installez la version 2 de la même application - vous ne voulez pas perdre tous vos paramètres dans ce cas.
Stefan
19

Il y a plusieurs raisons à cela, mais ce n'est pas la faute de Microsoft ou des systèmes d'exploitation Windows.

Ce qui suit est une liste de certains cas et raisons derrière les entrées de registre:

  • Mauvaise programmation - Le développeur n'a pas écrit correctement le programme de désinstallation de l'application et les entrées de registre sont laissées pour compte. En plus de cela, le programme de désinstallation peut ne pas avoir / utiliser les autorisations appropriées pour supprimer les entrées de registre. Il se peut également que plusieurs applications utilisent ces clés. Par exemple, deux applications du même développeur, qui écrivent sur les mêmes clés.

  • Laissé exprès - Comme un commentaire l'a mentionné, ces entrées auraient pu être laissées exprès. Certaines applications ont une période d'essai et après cette période, vous pouvez choisir de supprimer l'application. Si vous choisissez de réinstaller l'application ultérieurement, ces clés indiquent à l'application quand elle a été installée. En plus de cela, certains développeurs peuvent choisir de laisser ces clés au cas où vous choisiriez de réinstaller l'application. Si le développeur a utilisé des clés de registre pour stocker vos personnalisations, il peut les laisser là, donc lorsque vous réinstallez toutes vos personnalisations persistent. Dans le grand schéma, les clés de registre ne prennent que quelques octets.

Devez-vous retirer les clés? Ça dépend. Le registre Windows est un endroit dangereux pour déconner. Vous pouvez accidentellement casser votre système. Laisser les clés étrangères n'endommagera pas le système. Certaines personnes diront que le nettoyage / la défragmentation du registre accélérera votre système, mais cela s'est avéré faux à plusieurs reprises.

Si vous voulez vraiment vous débarrasser de ces programmes, il existe des outils de désinstallation qui peuvent supprimer toute trace d'un programme. Ces programmes surveilleront le programme d'installation d'un autre programme et enregistreront toutes les actions effectuées sur le système de fichiers et le registre, puis supprimeront complètement ces actions. Un problème avec ces outils est qu'il est possible qu'ils puissent supprimer les éléments que vous souhaitez conserver.

Keltari
la source
En dépit d'être "quelques octets", ces octets s'additionnent. Cela peut ralentir le registre à mesure que de plus en plus d'entrées inutilisées s'accumulent. Probablement pas pertinent pour un utilisateur "typique", mais les gros utilisateurs auront un plus gros problème. C'est pourquoi il était généralement recommandé de rafraîchir / réinstaller Windows tous les 6 à 12 mois pour garder le système "en bonne santé". Des programmes comme CCleaner peuvent garder le système plus rapidement plus longtemps, en nettoyant les morceaux restants des applications.
phyrfox
3
@phyrfox, comme indiqué dans ma réponse, les nettoyeurs de registre sont de l'huile de serpent. ils n'aident pas du tout.
Keltari
1
En jours Win9x, la taille du registre importait et beaucoup de clés périmées ralentissaient le système d'exploitation. Mais c'était il y a longtemps et le secteur de NT est une bête différente. Bien qu'il ait parfois besoin d'être réparé: Comment compresser les ruches de registre "
gonflées"
10
@phyrfox: "Des programmes comme CCleaner peuvent garder le système plus rapidement plus longtemps" - Non, ils ne le font pas. "C'est pourquoi il était typique de recommander l'actualisation / réinstallation de Windows tous les 6 à 12 mois pour maintenir le système" en bonne santé "." - Typique parce que les gens ne savent pas comment prendre soin de leurs systèmes. Je suis assis ici à taper sur une installation vieille de 5 ans qui a connu une utilisation intensive et il n'y a pas eu de ralentissement appréciable. Ce sont des recommandations comme celles-ci qui permettent aux entreprises de vendre de l'huile de serpent.
Karan
1
Oui, le registre est en fait assez rapide (et les ruches et clés couramment utilisées sont généralement conservées en mémoire). Même dans les temps anciens, le plus gros problème avec le registre "gonflé" était avec des choses comme les extensions shell et HKCR - elles sont revenues dès que vous avez réinstallé le logiciel qui les fournissait. Cela fait longtemps que je n'ai pas réinstallé le système d'exploitation pour des raisons de "performances" la dernière fois (toujours sur Windows XP, jamais sur 7).
Luaan
0

Pour vous débarrasser du registre restant, essayez d'utiliser le programme de désinstallation IOBIT.C'est de loin le meilleur programme de désinstallation disponible.En plus, il est gratuit..Je l'utilise tout le temps..Il dispose d'une puissante fonction de désinstallation qui va directement à l'endroit où la clé de registre restante est, cliquez sur la case à cocher lorsque vous y êtes invité et les clés de registre supprimées. Iobit est livré avec d'autres programmes, utilisez simplement le programme de désinstallation pour vous en débarrasser

newtobeingageektech
la source