Windows 95 devinait la présence d’un installateur d’une manière étonnamment simple
Windows 95 continue de livrer les secrets de sa conception, trente ans après sa sortie. Raymond Chen, ingénieur chez Microsoft, explique comment le système repérait le lancement d'un installateur. La méthode reposait sur une simple supposition, sans jamais analyser le programme en action.
Aux débuts de l'informatique grand public, les ingénieurs devaient composer avec des ressources très limitées. Chaque fonction du système demandait des astuces de programmation pour tenir dans le peu de mémoire disponible. Certaines de ces trouvailles survivent encore aujourd'hui, comme le montrent les vieilles icônes de Windows 95 toujours cachées dans Windows 11. Ces choix techniques, souvent pragmatiques, façonnaient le comportement des premiers ordinateurs modernes.
Windows 95 incarne bien cette période. Le mythique logiciel de Microsoft fascine toujours les passionnés, au point qu'il reste possible de lancer le système directement depuis un navigateur web. Un ingénieur de la firme a récemment levé le voile sur un détail méconnu de sa conception. Le programme devait éviter qu'un installateur remplace un fichier récent par une version plus ancienne. Encore fallait-il d'abord repérer qu'une telle opération était bel et bien en cours.
Windows 95 repérait un installateur en cherchant des mots précis dans son nom
Selon Raymond Chen sur le blog officiel The Old New Thing, Windows 95 ne vérifiait jamais ce que faisait un programme. Le système se contentait de lire le nom du logiciel et d'y chercher quelques termes bien précis. Une simple correspondance avec des mots comme setup, install ou inst suffisait à le classer aussitôt comme installateur. Microsoft avait même prévu des équivalents en italien, en turc et en hongrois. Le premier terme était jugé redondant, puisque inst couvrait déjà les variantes comme installer ou installation.
Cette recherche par mots-clés s'étendait aussi au chemin du fichier exécuté par Windows 95. Si l'un de ces termes apparaissait dans le nom ou dans l'emplacement du programme, le système lançait une vérification à la fin de l'opération. Il s'assurait alors qu'aucun élément récent n'avait été écrasé par une version dépassée. La méthode restait grossière, incapable de comprendre la véritable nature d'un logiciel. Elle témoigne pourtant d'une belle ingéniosité, compte tenu des moyens dont disposaient les développeurs à l'époque. Ce genre d'astuce rappelle combien la conception des premiers systèmes reposait sur des compromis malins.
