winsxs : Windows Side-by-Side

Dans le répertoire C:\WINDOWS\WinSxS (Windows Side-by-Side ou, en français, "structure de partage côte à côte") Windows XP et Vista placent, d'installations en installations, les différentes versions des fichiers DLL réparties dans des sous-répertoires séparés. Ceci règle le problème des incompatibilités entre les DLL mais contribue au taux d'occupation de plus en plus inflationniste du système Windows. Sous XP, C:\WINDOWS\WinSxS garde une taille relativement acceptable mais sous Vista il passe allègrement la taille de plusieurs gigaoctets.

Extraite de cette page assez longue qui concerne diverses questions avancées au sujet de XP (présentation de Windows XP-février 2001), voici la présentation de Side-by-Side fournie par Microsoft.

Le fonctionnement de la nouvelle interface utilisateur repose sur une structure de partage côte à côte. Pour parvenir à une solution concernant les problèmes de version et de DLL, Microsoft recommande fortement une stratégie de versions côte à côte pour les applications. Comme nous l'avons vu dans ComCtl version 6, les composants côte à côte constituent l'avenir du développement de Windows. Cette section vous présente un aperçu des nouveautés du partage côte à côte pour Windows XP. MSDN publiera en mars 2001 un article qui approfondira ce sujet.

Avec les composants côte à côte, plusieurs versions d'un même composant sont installées simultanément. Une application est liée à la version du composant avec laquelle elle a été conçue et testée.

Avec Windows XP, il existe une infrastructure pour prendre en charge les assemblages et les applications isolées (COM+ et Win32). Aucune modification de code n'est requise pour obtenir des assemblages côte à côte à partir d'applications Win32. Les applications peuvent utiliser les assemblages système les plus récents sans que cela n'ait d'impact général.

En résumé, les applications isolées sont plus intéressantes, car plus fiables. Elles sont construites et livrées avec tous les composants nécessaires et elles ne sont pas affectées par les modifications apportées par d'autres applications. Les applications isolées utilisent une description sous la forme d'un fichier XML contenant des informations qui auto-décrivent un assemblage ou une application. Toutes les méta-données de liaison et d'activation, telles que les classes COM, les interfaces et les bibliothèques de types, sont désormais stockées dans la description plutôt que dans le registre. Il existe deux types de fichiers de description : les descriptions d'applications, qui décrivent des applications isolées, et les descriptions d'assemblage, qui décrivent des assemblages individuels.

Une application isolée peut utiliser des assemblages côte à côte. Les assemblages constituent les unités fondamentales d'attribution de nom, de liaison, de numéro de version, de déploiement et de configuration. Ils existent en deux modes : partagés et privés. Un assemblage partagé peut être utilisé par plusieurs applications sur l'ordinateur, installées dans le dossier WinSxS du répertoire Windows. Un assemblage privé est visible uniquement pour une application et est déployé dans la structure de répertoires de l'application.

Un autre avantage du partage côte à côte pour les développeurs d'application tient à ce que leur planification peut en devenir beaucoup plus claire. Votre planification de développement n'est pas affectée par les calendriers de versions des composants que vous utilisez.

ComCtl = Windows CommonControls objects (Ccomctl32.dll)

L'avant dernier paragraphe de cette citation résume parfaitement la sorte d'impasse dans laquelle Windows se retrouve à force de vouloir maintenir la compatibilité (obligée parce que le contraire pourrait créer un tollé de protestations des entreprises qui ont lourdement investi dans les produits Microsoft) entre les diverses étapes d'évolution des applications.

Ceci met en évidence la différence fondamentale entre Windows et GNU/Linux ainsi qu'entre une application open sources pour Windows et une application commerciale pour Windows. Les applications open sources intègrent tous leurs fichiers dans leur propre répertoire, DLL comprises. Ceci explique pourquoi il est possible de déplacer une application open sources et qu'elle restera fonctionnelle sans aller changer tous les chemins d'accès dans la base de registre qu'elle n'utilise pas.

Mais cette opération qui permet ainsi à l'utilisateur de gérer, comme bon lui semble, l'installation de ses logiciels a un revers commercial inacceptable : tous les verrous destinés à diverses opérations de contrôle (légalité de l'utilisation de la licence, par exemple) deviendraient inutiles.

L'utilisateur n'aura donc pas le choix et devra supporter l'invasion de son disque dur par des dizaines de fichiers dont l'utilité première est de préserver un semblant de crédibilité à un système de plus en plus monstrueux par la taille de son code et le labyrinthe sans fin de ses arcanes.

Plan du site Haut

Formation Ubuntu/Windows, développement et administration de sites
déclaration à la CNIL : n° 1397076
Photographies, logo, illustrations : Pierre BELLENEY

Validation XHTML 1.0 Validation CSS