En route vers un Windows sans plantage ?

Cloud

A travers un projet connu sous le nom de code Fusion, Microsoft veut réduire les risques de plantage liés à l’installation et désinstallation de logiciels dans Windows.

Connaissez-vous les DLL ? Si la réponse est non, c’est signe de chance. En effet, la plupart des utilisateurs « grand public » n’entendent parler de fichier DLL qu’après une panne logicielle. Le coupable est désigné d’avance : c’est l’installation ou la désinstallation d’une application qui a semé la pagaille dans votre système. Et justement, Microsoft cherche à juguler ce genre de problème.

Les fichiers DLL (dynamic link libraries) sont des bibliothèques de routines qui évitent aux programmeurs de réécrire des fonctions souvent utilisées, dont les plus simples sont du type « dérouler un menu », « afficher une fenêtre », etc. Ces briques de développement, largement exploitées, sont devenues indispensables à Windows et à la plupart des applications pour fonctionner normalement. Souvent, lors d’une installation depuis un CD-Rom, une application apporte avec elle ses propres versions des DLL. A la longue, c’est Windows lui-même qui peut devenir plus lent, voire instable. Cet état de fait est souvent sujet de railleries par rapport au système de Microsoft.

L’éditeur travaille donc depuis quelques années sur les manières de contrôler la gestion des fichiers « sensibles » pour le système. Dans le cadre du projet « Fusion », l’éditeur peaufine un ensemble de bonnes conduites à respecter et d’astuces logicielles pour éviter les conflits de version de DLL en installant (ou désinstallant) les applications.

A en croire le site Winsupersite, qui vient de publier un article sur l’histoire de Fusion, cette « technologie » a été introduite pour la première fois dans Windows 98 Second Edition. Pour résumer, son rôle revient à faciliter la redirection des DLL pour qu’elles soient copiées dans un autre répertoire que le répertoire système. Une démarche qu’ont déjà adopté certains éditeurs en plaçant leurs DLL dans un répertoire isolé. Mais tout le monde n’est pas aussi discipliné. Des garde-fous ont aussi été introduits dans Windows 2000 pour interdire l’écrasement de fichiers système importants, notamment en « .dll » et « .exe ».

La difficulté la plus gênante réside dans les conflits entre les versions de DLL. Ainsi, si on installe un tableur ou un jeu, certaines DLL récentes vont écraser des versions antérieures. Or ces fichiers ne sont pas forcément compatibles de façon descendante ! Traduction, des applications qui fonctionnaient très bien refuseront de tourner avec ces bibliothèques mises à jour. Selon Jean-Jacques Gobeaut, directeur générale de Micrografx, la mémoire de l’ordinateur peut jouer aussi de mauvais tours. Lorsque plusieurs applications (issues d’éditeurs différents) tournent ensemble et font appel au même moment à la même DLL, mais chacune dans des versions différentes 4.0 et 5.0 par exemple, le système peut planter ou empêcher le lancement de toute nouvelle application. De même, un logiciel qui tente de mettre à jour une DLL en cours d’utilisation entraîne un plantage. Pour limiter le risque de conflit, il vaut mieux fermer toutes les applications en cours lors de toute installation. « Les utilisateurs suivent rarement ce conseil », déplore Jean-Jacques Gobeaut.

Bref, la pagaille menace dès qu’on brandit un CD-Rom. Fusion est en train d’évoluer pour gérer de façon transparente la mise à jour des DLL, et vérifier que leur installation ne générera pas de plantages. La principale voie consiste à leurrer l’application en lui faisant croire qu’elle partage des DLL stockées dans les répertoires traditionnels du système. En réalité, ses DLL auront été copiées automatiquement à part, dans un autre répertoire, pour éviter d’écraser les fichiers déjà présents. Windows Millenium serait-il donc plus sûr ? Oui, jure-t-on chez Microsoft. « Windows Millenium a des fonctions de restauration automatique de DLL, qui permettent de retrouver un fichier antérieur », explique Alexis Oger, chef de produit pour Microsoft France. A lire l’article de Winsupersite, les efforts semblent surtout porter sur la prochaine version de Windows 2000 (connue sous le nom de code Whistler).

Pour en savoir plus : L’article de WinSupersite