Flux RSS - La vie du site - Nouveautés et mises à jour
Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet

Revo Uninstaller - Un désinstalleur - pourquoi faire

Revo Uninstaller permet de désinstaller une application bien plus complètemet qu'avec sa procédure standard. En version Pro, il permet de surveiller une installation ou une séance de surf afin de permettre des effacements de traces et des désinstallations complètes.

01.01.1999 - Révision 23.08.2020 - Révision mineure 21.11.2021. Auteur : Pierre Pinard.

Revo Uninstaller

Revo Uninstaller - Un désinstalleur - pourquoi faire - Registre Windows - Principe d'installation/désinstallation d'une application

Pour utiliser une application, sous Windows (à l'exception des applications dites « portables », qui sont entièrement autonomes et indépendantes de quoi que ce soit, et dont il faut préférer la version, lorsqu'elle existe, plutôt que la version installable), il faut l'installer.

L'installation d'une application, dans Windows, ne consiste pas, uniquement, à copier les fichiers de l'application à un endroit donné. De vastes manœuvres, une véritable nébuleuse, sont lancées :

  • S'assurer que l'application est légale (antipiratage), avec des inscriptions dans des zones cachées, accompagnées du calcul de GUID sur la base de la MAC Address et d'autres numéros uniques (numéro de série du processeur, etc. - Pratique du calcul d'empreinte d'un ordinateur, appelée « Fingerprinting »).

  • Créer les répertoires d'accueil de l'application, ses sous-répertoires, le répertoire d'accueil de ses raccourcis de lancement, etc.

  • Inscrire, dans le Registre Windows, les types de fichiers que l'application manipule : ce sont les « associations ».

  • Créer divers raccourcis de lancement dans le menu de Windows (le menu « Démarrer »), divers raccourcis (ou « Tuiles », selon la version de Windows) sur le bureau, d'autres raccourcis encore dans la Barre des tâches de Windows : Lancements rapides, et d'autres encore dans le Systray (la « zone de notification » en bas à droite, près de l'horloge), etc.

  • Apporter et copier, dans des fichiers, les DLLs que l'application n'est pas certaine de trouver dans toutes les versions de Windows. Historiquement, ces fichiers étaient installés de manière anarchique, un peu partout, par les créateurs de logiciels, mais Microsoft a mis un grand coup de pied dans cette fourmilière, depuis Windows Vista, avec l'imposition du " Magasin à composants ", le gigantesque répertoire WinSxS).

  • Inscrire les besoins en ressources partagées. L'application est liée, par des pointeurs et des registres à décalage d'adressage, à une foule de modules standards offrant des fonctionnalités dont l'application a besoin : ce sont les DLLs stockées dans le " Magasin à composants " de Windows, appelé WinSxS, avec bien d'autres ressources partagées.

  • Faire accepter, par le futur utilisateur, un ou des contrats :

    • Contrat dit " Privacy " ou " Vie privée " - politique de protection d'irrespect, capture (espionnage) et commercialisation de votre vie privée par l'application, par l'éditeur de l'application et par tous les tiers invités dans l'application

    • Contrat dit « CLUF » ( « Contrat de Licence Utilisateur Final ») ou « EULA » (« End User Licence Agreement ») de cession de licence d'utilisation de l'application

    • Contrat dit « Conditions générales » ou « Terms » ou « Termes » ou « Termes et conditions » d'usage contenant les termes des « CGV » (« Conditions Générales de Vente »).

Cela se traduit par des inscriptions innombrables dans une base de données de Windows connue sous le nom de "Base de registre" (formellement, le nom de cette base de données est " Registre Windows ", depuis 2009).

Tout cela constitue les raisons pour lesquelles il faut :

  • Préparer la désinstallation (et suivre ce qui se passe) - Travail à faire en amont (au moment de l'installation)
    Si on en a les moyens, acheter un moniteur de surveillance des installations, comme la version complète (commerciale) de Revo Uninstaller ou Total Uninstall, dont on lira avantageusement la fiche pour comprendre comment ce type de moniteurs fonctionnent et pourquoi ils sont indispensables à une désinstallation réellement complète d'une application (y compris les inscriptions créées après l'installation, lors de l'usage de l'application).

  • Désinstaller complètement (mieux qu'avec le désinstalleur de l'application) - Travail en aval (au moment de la désinstallation)
    Utiliser un désinstalleur d'applications qui va bien au-delà de ce que font, et surtout ne font pas, les désinstalleurs livrés avec chacune des applications installées. Même la version gratuite de Revo Uninstaller donne des résultats de désinstallations incomparablement supérieurs aux désinstalleurs natifs.

Malheureusement, très souvent, une ou plusieurs installations de choses non sollicitées ont lieu simultanément, parfois malveillantes ou ennuyeuses. Il faut les supprimer, les désinstaller. Là encore les désinstalleurs sont nécessaires. On lira avantageusement les articles suivants qui traitent, chacun en ce qui le concerne, d'un mécanisme d'implantation à notre insu de codes (de logiciels) non sollicités, soit pour tenter de nous les vendre, soit pour nous espionner (dans tous les cas, il s'agit de se faire de l'argent sur notre dos) :

Ce n'est pas tout : lors de la première utilisation de chacune des fonctions de l'application, de nouvelles associations et inscriptions dans le Registre Windows sont créées.

En cours d'usage de l'application, des traces sont créées, comme les traces de confort notant les derniers documents (fichiers) manipulés par l'application (les MRUs) afin que vous puissiez les retrouver facilement lors du prochain usage de l'application.

Enfin, Windows, pour échapper au DLL Hell (l'enfer des DLL), s'empresse de faire une copie des DLLs utilisées par l'application (dans un réservoir dit « Windows Côte-à-Côte » (Windows Side by Side), le répertoire WinSxS), pour être capable de les lui resservir dans le bon état prévu par le développeur au jour de l'installation, même si des mises à jour des DLLs interviennent plus tard.

Bref : l'installation et l'utilisation d'une application provoquent une nébuleuse d'actions dans Windows.

Lorsqu'une application est devenue inutile, il ne faut pas l'effacer (surtout pas), il faut la désinstaller.

Généralement, les applications installées viennent avec une procédure de désinstallation. Mais, si la procédure de désinstallation sait, avec certitude, un certain nombre de choses, elle ne peut préjuger de l'environnement de l'installation spécifique à la version du système ni de l'utilisation qui en est faite par l'utilisateur. Les procédures de désinstallation livrées avec les installateurs sont donc des standards minimalistes. À cela, il faut ajouter l'orgueil et l'hypocrisie des éditeurs de logiciels qui rechignent à ce que leurs applications soient désinstallées et à perdre un utilisateur / client. Ils laissent donc traîner, plus ou moins volontairement, des traces de l'application désinstallée afin de faciliter une réinstallation ultérieure.

Dans un billet de blog du 2 octobre 2005, Mark Russinovich (le fondateur de SysInternals, toujours à la tête de ce qui est devenu une division de Microsoft depuis son rachat) déclare qu'il est exact que les désinstallations de logiciels ne se font jamais de manière complète, et laissent des traces dans le Registre Windows. Mark Russinovich réfléchit sur le fait que les développeurs utilisent leurs propres installeurs maison, car les installeurs professionnels coûtent cher. Ils se fichent donc de l'aspect désinstallation (ils ne pensent pas que l'utilisateur puisse désinstaller leur bébé, ce qui serait une preuve de mauvaise adéquation de leur application à une finalité). Mark Russinovich comprend donc l'explosion des nettoyeurs du Registre Windows et évoque aussi le glissement des inscriptions d'installations, du Registre Windows vers .NET en XML (et il ironise sur le fait qu'il faudra alors de nettoyeurs XML).

Mark Russinovich parle des traces laissées par les désinstalleurs dans le Registre Windows :

  • Une installation d'une application est souvent faite pour tous les utilisateurs (tous les comptes) d'une machine.

  • Les désinstallations, au contraire, ont la permission de désinstaller les inscriptions dans ce que voit un utilisateur sous sa ruche HKCU (son profil personnel dans l'une des hiérarchies du Registre Windows). Les autres profils (UAC), des autres utilisateurs (des autres comptes) ne lui sont pas accessibles, sauf à donner au désinstalleur ce droit, ce qui constituerait une faille de sécurité. Donc il y a, invariablement, des inscriptions non désinscrites.

C'est ainsi que vont les choses (et le parallèle est fait par Mark Russinovich, avec le même problème dans UNIX et Linux).

La réflexion de Mark Russinovich, le 2 octobre 2005 (archive [anglais]).

Remarque : il est exact qu'avant Windows XP, la taille du Registre Windows était limitée.

À cause de tout cela sont nés :

  • Une famille d'applications spécialisées dans des désinstallations beaucoup plus complètes que celles des désinstalleurs de base (lorsqu'ils existent). Ces applications de désinstallations s'attaquent aux nébuleuses des traces d'installation, soit en les surveillant lors de leurs créations (installation), soit en partant à la chasse à ces traces au moment d'une désinstallation qui n'avait pas été surveillée. Par exemple :

  • Une nébuleuse d'arnaques financières et de mise en péril des ordinateurs avec les « nettoyeurs et défragmenteurs du Registre Windows ». On lira avantageusement :

Revo Uninstaller - Un désinstalleur - pourquoi faire - Registre Windows - Mark Russinovich parle des traces laissées par les désinstalleurs


# Ailleurs sur le Web #

  1. #Revo Uninstaller - Un désinstalleur - pourquoi faire#