Page d'accueil » comment » Pourquoi les désinstallations logicielles normales ne parviennent-elles pas à supprimer toutes les valeurs pertinentes du registre?

    Pourquoi les désinstallations logicielles normales ne parviennent-elles pas à supprimer toutes les valeurs pertinentes du registre?

    Lorsque vous désinstallez un programme, il est raisonnable de penser que toutes les traces de celui-ci seront supprimées de votre système, mais ce n'est souvent pas le cas. Pourquoi donc? Le message Q & R du SuperUser d'aujourd'hui contient les réponses à une question d'un lecteur curieux.

    La séance de questions et réponses d'aujourd'hui nous est offerte par SuperUser, une sous-division de Stack Exchange, un groupe de sites Web de questions-réponses dirigé par la communauté..

    Capture d'écran fournie par wandersick (Flickr).

    La question

    Le lecteur SuperUser, Mark Boulder, veut savoir pourquoi certaines valeurs de registre restent toujours après la désinstallation normale du logiciel:

    Développement de la rubrique SuperUser Comment supprimer du registre les traces résiduelles de logiciels désinstallés, pourquoi chaque fois que je désinstalle un programme, puis que je le recherche ultérieurement via RegEdit, il est toujours là?

    Pourquoi la majorité des applications Windows est-elle si résolue à laisser de minuscules traces dans le registre? La faute incombe-t-elle à Windows ou aux développeurs??

    Pourquoi les valeurs de registre sont-elles généralement «laissées pour compte» après la désinstallation normale du logiciel??

    La réponse

    Les contributeurs du super-utilisateur, Lukas Rieger et Keltari, ont la solution pour nous. Tout d'abord, Lukas Rieger:

    Parce que c'est impossible. Le registre a plusieurs noeuds racine mais seulement deux intéressants: LocalMachine et CurrentUser. Normalement, le programme d'installation écrit les valeurs dans LocalMachine et le programme en cours n'enregistre que dans CurrentUser (en réalité, à moins que le programme d'installation ne fonctionne avec les autorisations, le programme en cours ne peut pas écrire dans LocalMachine)..

    Si conserver les restes dans LocalMachine est de la paresse (comme le soulignent les autres réponses), il n’est pas possible de nettoyer la partie CurrentUser.

    Si un programme est installé par machine (la plupart le sont) 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 que vous avez entré les informations d'identification d'un compte administrateur. La configuration s'exécute maintenant sous ce compte, pas le premier..

    Qu'en est-il des autres utilisateurs? Il peut essayer d’énumérer tous les utilisateurs, mais leur clé de registre peut ne pas être chargée (Windows est paresseux et ne charge que ce dont il a besoin).

    Mais vous ne devriez même pas essayer cela. Si vous utilisez des profils itinérants (par exemple, les services de terminal), puis supprimez tous les paramètres lors de la désinstallation, vous risquez de gâcher et de supprimer des éléments réellement utilisés. Un serveur Terminal Server 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 seule application. Vous désinstallez l'application sur TS1, tous les paramètres de tous les utilisateurs sont maintenant sur TS2 car vous avez des profils itinérants. Oops.

    Il en va de même pour les fichiers des répertoires par utilisateur. Dans la configuration des programmes de mon entreprise, je supprime les éléments par machine, mais ne touche pas les éléments par utilisateur, même ceux de l'utilisateur exécutant la configuration..

    Suivi de la réponse de Keltari:

    Il y a de nombreuses raisons à cela, cependant, ce n'est pas la faute de Microsoft ou du système d'exploitation Windows..

    Voici une liste de cas et de raisons pour lesquelles des entrées de registre sont laissées:

    Mauvaise programmation - Le développeur n'a pas écrit correctement le programme de désinstallation d'application et les entrées de registre sont laissées. 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é sur le but - Comme mentionné dans un commentaire, ces entrées auraient pu être laissées volontairement. 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 donnent à l'application des informations sur la date d'installation. De plus, 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 est possible qu'elles les laissent afin que toutes les personnalisations persistent lors de la réinstallation de l'application. Dans le grand schéma des choses, 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 faire des bêtises. Vous pouvez, par inadvertance, endommager votre système. Laisser les clés étrangères ne nuira pas au système. Certaines personnes diront que nettoyer / défragmenter le registre accélérera votre système, mais il a été prouvé à plusieurs reprises qu'il était faux.

    Si vous voulez vraiment vous débarrasser de ces programmes, il existe des outils de désinstallation permettant de supprimer toutes les traces d'un programme. Ces programmes surveillent le programme d'installation d'un autre programme et enregistrent toutes les actions effectuées sur le système de fichiers et le registre, puis suppriment complètement ces actions. L’un des problèmes avec ces outils est qu’il est possible qu’ils puissent supprimer des éléments que vous souhaitez conserver..


    Avez-vous quelque chose à ajouter à l'explication? Sound off dans les commentaires. Voulez-vous lire plus de réponses d'autres utilisateurs de Stack Exchange doués en technologie? Découvrez le fil de discussion complet ici.