IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

Les lacunes des desinstalleurs


Sujet :

Windows

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 200
    Points : 62
    Points
    62
    Par défaut Les lacunes des desinstalleurs
    Bonjour.

    J'aimerais comprendre les lacunes des desinstalleurs. Certains programmeurs qui ne font pas bien leur boulot ou bien c'est plus complexe que ça ?

    J'ai eu la chance de pouvoir bidouiller un peu avec l'Atari et l'Amiga. Leurs installeurs etaient en mode texte. On pouvait voir qu'installer c'etait uniquement ( je ne parle pas du decompactage) placer des fichiers a des emplacements precis, creer des repertoires etc etc....
    Desinstaller eh bien c'est supprimer tout ce qui a ete mis en se servant du programme d'installation a l'envers.

    Je vais en venir au cas precis de Java ( et Flash c'est pareil) puisque je connais bien les problemes de vulnerabilites incessantes.

    Un petit intermede avec le desinstalleur universel Revo.
    Comme chacun sait, Revo travaille sur 4 niveaux de desinstallation.
    Integre ( c'est en fait le desinstalleur Windows)
    Sur, modéré et avancé. En mode avancé, il ne reste rien ( ou quasiment rien).
    Revo, freeware, SAIT ce que chaque soft a installe et dispatché partout et peut tout effacer.
    Pourquoi le desinstalleur Windows ne le fait pas ? Il ne sait pas ? Puisque Revo sait ce que chaque soft a mis ? .

    Passons maintenant aux desinstalleur specifiques propriétaires.
    Pourquoi des desinstalleurs speciaux ? Revo n'est pas spécial lui.
    Et pour les freewares il n'y a pas de cles de protection cachées dans el registre comme avec les sharewares.

    Java. Il faut absolument faire le menage a fond dans les anciennes versions sinon les Anti Virus vont generer des alarmes de vulnérabilite sur les precedents fichiers a risque. il faut voir les inquietudes des utilisateurs lambda de voir non stop des dangers dans Java et flash ( entre autre).

    Desinstaller avec Windows c'est comme pisser dans un violon pour avoir de la musique. On discute de ça actuellement sur Kaspersky

    Sun a créé un nettoyeur desinstalleur special qui s'appelle JavaRE.
    Est ce que ça fonctionne bien ? Non.
    On desinstalle avec JavaRe. Les anciennes vulnerabilites sont encore la.
    On repasse un second tour . Il trouve encore 20 ou 30 trucs a retirer. Surtout CLSID.
    On passe un coup de CCleaner. Il trouve encore des trucs.
    On finit par RegSeeker qui trouve encore des trucs.
    Le desinstalleur de Sun on pourrait dire que c'est une vraie merde.

    Et au final le fichier incrimine est toujours la. Dans le cas concerne il s'agissait de Java.exe que j'ai du neutraliser a la main.

    Pareil d'ailleurs avec le desinstalleur special Flash. Pourquoi diable avoir un desinstalleur spécial. Ca marche bien ? Non. La derniere fois il m'a laisse un vieux fichier ocx dangereux.

    Les programmeurs de ces softs (gratuits) sont ils de grosses feignasses ? Des incapables ? Ou bien c'est autre chose ?
    Une maj ou upgrade bien faite doit desinstaller la precedente version a fond et automatiquement. C'est ce que fait par exemple mon driver WiFi MSI.
    Il ne fait pas comme java qui fout des trucs partout et n'est meme pas capable de tout desinstaller avec ses propres outils proprietaires.

    Desole d'avoir ete si long pour exposer. Je ne suis pas assez competent pour etre plus precis.

    Bonne semaine et merci.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 182
    Points : 12 316
    Points
    12 316
    Par défaut
    Cela n'est que mon avis mais je pense que les développeurs peu expérimentés ou ceux sous pressions ont exactement le même raisonnement que vous.
    Sous estimer la complexité d'un mécanisme d'installation/désinstallation.

    Une fois arrivée en fin de projet, on n'a plus le temps de faire une installation/désinstallation correct.

    Vous comparez une installation avec des plates-formes qui ne fournissaient qu'un embryon de gestionnaire de fenêtre et de fichiers, même pas une librairie pour allouer de la mémoire.

    Dans ces conditions, les applications devaient tous embarqués, ou presque. C'est une installation dite par Xcopy.

    Maintenant, une application doit s'intégrer dans le shell, avoir des services qui tournent en tâche de fond, utiliser des dll pour avoir un niveau de fonctionnalités correct etc...

    L'Atari était mono-tâche donc impossible d'avoir un fichier verrouille par inadvertance mais sous Windows se n'est plus le cas. Le model de sécurité de Windows n'a rien à voir avec celui des plates-formes prises en exemple etc...

    En bref, vous estimez de très loin la complexité d'une installation ou une désinstallation sur un système d'exploitation moderne.
    Et les développeurs lambda aussi.

  3. #3
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Citation Envoyé par bacelar Voir le message
    Une fois arrivée en fin de projet, on n'a plus le temps de faire une installation/désinstallation correct.
    Pour l'avoir vécu, c'est bien vrai.

    Il faut voir aussi que celui qui écrit le setup n'est pas forcément celui qui a développé l'application. Il n'a parfois qu'une vision lointaine du projet. Il connait les nom des DLL et binaires à installer mais parfois ne sait pas comment les désintaller proprement (parce que le développeur ne lui a pas dit par exemple).

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 200
    Points : 62
    Points
    62
    Par défaut
    Merci. Je finis par comprendre.
    Le fonctionnement des desinstalleurs est vraiment bizarre.
    Sous Atari ( ou sous Amiga ?) le desinstalleur a ete invente bien apres l'OS. C'est un rajout. Oui mais pour fonctionner il fallait imperativement qu'il soit installe avant les softs a desinstaller. Ce qui veut dire qu'il "tracait" tout simplement l'installeur lui meme et pouvait faire l'inverse.

    Je ne comprend pas Revo vs Microsoft. Revo n'est qu'un petit freeware. Il peut desinstaller a fond sur 4 niveaux tout soft installe avant lui meme. Il prend donc ses infos dans le systeme. Oui mais le desinstalleur Windows aussi.

    Donc Windows ne veut pas desinstaller a fond. Sinon on n'aurait pas besoin de CCleaner, RegSeeker et plein d'autres outils comme Revo aussi.

    L'utilite des desinstalleurs proprietaires ? Bof ? On se demande !

    Que font ils de plus que Revo ?
    Les programmeurs ont il caché dans leurs softs des fichiers que Microsoft et Revo ne peuvent pas voir ? Ont il programme une interdiction de désinstaller l'ensemble ? Pour les shareware c'est logique mais pas pour les freewares.

    Et lorsqu'on voit des editeurs puissants et mondialement connus comme Sun et Adobe cochonner leurs desinstalleurs maison que penser !

    Le desinstalleur maison DOIT etre une perfection absolue.

    Les programmeurs ont une lourde responsabilite.

    Prenons Kaspersky. Pour passer a la version suivante il faut desinstaller l'ancienne. Pour ça K demande de desactiver l'A.V avec l'icone dans le tray
    parce qu'il est impossible de desinstaller quelque chose en application.

    Ensuite vous lancez l'exe d'install et K s'occupe de tout. Oter l'ancien et mettre le nouveau

    Oui mais si vous voulez desinstaller Avast, Norton, McAfee, Bitdefender, Gdata, Norman AVG et Fsecure vous avec obligation d'utiliser les outils proprietaires.

    Le desinstalleur K est parfait puisque tout est automatique. Ca laisserait supposer que les programmeurs des autres AV sont des bras cassés ?
    Et Symantec est beaucoup plus riche que K.

    Et quant a Java mieux vaut ne pas approfondir leur desinstalleur proprietaire tout pourri.

    Merci pour vos aides.

  5. #5
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Citation Envoyé par bigbernie Voir le message
    Donc Windows ne veut pas desinstaller a fond. Sinon on n'aurait pas besoin de CCleaner, RegSeeker et plein d'autres outils comme Revo aussi.
    Je pense que le problème n'est pas dans Windows mais plutôt dans le code/script du désinstaller.

    Personnellement, j'utilise Innosetup comme générateur de setup. Et il est capable de faire aussi sale que tu veux mais aussi aussi propre.

    Le désintalleur ne fait rien (ou pas grand chose) de manière automatique par contre, il fait exactement ce que lui dit le script de désinstallation écrit par le développeur.

    Si le script n'est pas complet, ce n'est ni la faute de Windows ni la faute du compilateur de setup.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 200
    Points : 62
    Points
    62
    Par défaut
    Merci
    Mais alors si le script n'est pas assez complet pour Windows desinstaller comment fait Revo ? Il a acces aux memes scripts.
    Et comment fait CCleaner ? Et aussi TweakAll ?
    Si ça vient de la programmation du desinstalleur ces autres outils ne devraient pas pouvoir faire plus ?

  7. #7
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Tout d'abord sur Windows il n'y a pas de désinstalleur. Je ne sais pas d'où vient cette idée mais elle est complètement erronée. Il y a peut être confusion avec deux outils différents :
    - Windows Installer qui est un programme de Windows (ce n'est pas Windows) qui permet de fournir un framework commun à plusieurs outils d'installations pour gérer la création d'installation/désinstallations (en général il est assez efficace)
    - Et l'utilitaire d'ajout/suppression de programmes qui n'est pas un désinstalleur mais se contente de lister le contenu de certaines clefs du registre lorsque les installeurs utilisés ont l'amabilité d'y enregistrer les applications qu'ils installent (autant dire aujourd'hui que ça concerne tous les installeurs sauf des outils étranges qui ont une interface absolument magnifiques mais qui n'ont justement que ça).

    Ensuite c'est clairement compliqué de gérer un désinstalleur car faire un outil générique de désinstallation est assez compliqué et un outil maison n'est en général pas très optimisé et/ou performant.
    Le problème est que bien qu'il est évident de générer l'installation/la désinstallation d'une application telle que notepad qui se limite à un seul exécutable, il est beaucoup plus délicat de le faire pour un produit tel que Office. Ce genre de logiciel doit en effet non seulement installer les applications puis enregistrer les différentes bibliothèques dans Windows, lancer les services, les configurer, créer les paramètres de l'utilisateur, les enregistrer, définir les modèles, publier les informations de ceux ci, etc etc.
    Et dans toutes ces options, il est extrêmement difficile de savoir à l'avance quels seront les fichiers crées (en gros, on ne sait tout simplement pas). Et donc bien que tous les fichiers installés sont en général désinstallés correctement, tous ces fichiers annexes et autres enregistrements sont plus difficiles à gérer, surtout qu'en général les fichiers à supprimer sont verrouillés par le système et qu'il faut donc dans l'idéal arrêter les services, les dés enregistrer, supprimer les fichiers crées dont on ne connait pas à l'avance le nom, l'emplacement, le nombre, etc.

    Donc bon, c'est facile de critiquer

    Autre chose : en général la technique des "désinstalleurs" externes de logiciels qui permettent de désinstaller tout ce qui est installé après eux c'est justement de surveiller absolument toutes les actions du système d'exploitation et de les associer à un certain programme. Et donc après il leur suffit de supprimer tout ce qui a été loggé de cette manière, mais c'est un peut brutal et n'importe quoi. Les désinstalleurs de ce type ne permettent pas d'avoir autant de sécurité vis à vis de l'intégrité des informations ainsi modifiées sur le système.

    Enfin, le cas particulier des antivirus/firewall est encore une autre histoire car le but justement de ces logiciels c'est que les outils de protections ne puissent pas être désactivés par autre chose que l'utilisateur. Et donc le désinstalleur se ferait rejeter s'il tentais de désactiver directement l'antivirus car alors n'importe quel autre programme (y compris un virus) le pourrai ce qui n'est pas l'idée pour un antivirus ou un firewall. Et donc ça complique encore plus la tâche des pauvres désinstalleurs qui doivent faire le ménage.

    Et puis il est toujours facile d'utiliser des petits installeurs gratuits pour faire des installations/désinstallation, mais il faut bien avouer que ce genre d'outil ne sera jamais fait pour installer des logiciels de l'ampleur d'Office, il est déjà assez prodigieux de configurer correctement ce genre de chose et de faire en sorte que tout marche correctement. Et comme l'as dit ram-0000, quelque de "motivé" peut faire un installeur/désinstalleur sale avec n'importe quel système, et faire quelque chose de propre est nettement plus coûteux en temps et en argent (et pas forcément utile pour les grands groupes même si c'est discutable).

  8. #8
    Membre émérite Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Points : 2 280
    Points
    2 280
    Par défaut
    A une époque, j'utilisais total uninstall, qui faisait bien son boulot.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 200
    Points : 62
    Points
    62
    Par défaut
    Que d'explications. Merci beaucoup. Et je suis scie d'avoir appris que Windows desinstall n'est pas un desinstalleur.
    J'utilise Revo et pas Total Uninstall ou autre par pur hasard.
    L'exemple d'Office n'est pas critiquable et je ne l'ai pas critique. C'est un exemple maximum qui est donné. Office est enorme de complexite.
    Ce que je critiquais en priorite et donnais en exemple de tres mauvais travail c'est le desinstalleur maison JavaRe. Parce que les traces de Java (comme de Flash) generent des alarmes de vulnerabilites. Et il est impossible a un utilisateur lambda de supprimer ces traces en utilisant le desinstalleur maison.

    Je ne l'ai pas fait car pas la peine sur un forum d'experts comme ici, mais si je vous avais fourni les logs successifs du travail de désinstallation de JavaRe vous auriez constate que ce truc est minable.
    Ce qu'il trouve au premier passage, au second juste apres, ce que CCleaner trouve et ensuite ce que RegSeeker trouve encore en plus et tout ça sans supprimer toutes les traces de fichiers dangereux, sans faire la mauvaise tete on ne peut que constater le travail saboté qu'a fait Sun.

    L'antivirus pointe les fichiers dangereux ce qui permet de les supprimer a la main ( Java et Flash) heureusement. Mais les utilisateurs sont inquiets et postent sur les forums de K ( puisque j'utilise K) qui indique l'outil de Sun specifique ( ou Flash) et...c'est toujours la parfois.

    Merci encore de tout le temps que pris pour expliquer.
    J'ai poste non pas pour m'avancer en programmation mais pour pouvoir solutionner et aider a solutionner leurs alarmes incessantes de Virus List et Secunia qui resistent aux methodes de desinstallation proposées et qui affolent les utilisateurs qui croient qu'ils sont contaminés.

    Bonne semaine et c'est vraiment un plaisir de poster ici...et je n'exagere pas, je ne poste pas souvent car j'arrive la plupart du temps a me debrouiller tout seul. Pas dans les ....desinstalleurs ! J'en etais reste aux desinstalleurs en Basic Gfa de Amiga ou Atari !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Microsoft publie des extensions pour combler les lacunes de JavaScript
    Par Hinault Romaric dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 25/11/2011, 13h58
  2. LES TECHNIQUES DES SGBDR / MySQL rapide ???
    Par SQLpro dans le forum Langage SQL
    Réponses: 1
    Dernier message: 12/09/2003, 11h16
  3. specifier les chemins des .class
    Par draken dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 29/07/2003, 09h35
  4. Récuperer les icons des JDialog
    Par Pro_Fete dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 17/04/2003, 13h00
  5. Réponses: 2
    Dernier message: 22/07/2002, 18h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo