Windows Installer XML

Windows Installer XML toolset (WiX), prononcé "ouix", est un logiciel libre composé d'un ensemble d'outils permettant la création de paquets du type Windows Installer (MSI) à partir de documents XML. Il offre une interface en ligne de commande que le développeur peut intégrer dans son processus de compilation pour construire des paquets MSI et MSM. Ce logiciel est publié par Microsoft sous la licence libre Common Public License.

Il inclut aussi Votive, un add-in pour Visual Studio qui permet de créer des installations WiX. Votive permet la coloration syntaxique et l'utilisation d'IntelliSense sur les fichiers sources.

Historique modifier

Le , WiX a été le premier logiciel diffusé par Microsoft sous une licence libre externe, la Common Public License. Il a été aussi le premier logiciel hébergé par Microsoft à l'extérieur (sur SourceForge.net).

Rob Mensching, l'auteur original et principal développeur de WiX y travaille durant son temps libre. Au moment de la première publication, il s'est justifié « Je n'avais pas l'impression que beaucoup de gens chez Microsoft comprenaient ce qu'était vraiment la communauté Open Source et j'ai voulu améliorer cette compréhension en fournissant un exemple ».

En 2006, plusieurs autres développeurs de Microsoft provenant d'autres divisions de la compagnie travaillent maintenant avec lui. Ils se rencontrent une fois par semaine après le travail afin de coordonner leurs efforts et écrire du code.

WiX est devenu si populaire dans l'équipe de développement de Microsoft que la majorité des produits de la firme sont empaquetés grâce à lui. C'est le cas des produits : SQL Server 2005 et de Office 2007.

Structure interne modifier

Wix est composé des parties suivantes : Candle (bougie), Light (lumière), Lit (allumé), Dark (noir) et Tallow (suif, anciennement utilisé pour fabriquer des bougies).

Candle modifier

Candle, le compilateur, est utilisé pour traiter les documents XML et les convertir en fichiers objet.

Light modifier

Light, l'édition de liens prend fichier objet ou plus et créé les liens entre les différentes références d'objet. Light est aussi responsable de la collecte des différents binaires et de la création des fichiers MSI et MSM finaux.

Lit modifier

Lit, le manipulateur de bibliothèque, est un outil optionnel qui peut être utilisé pour combiner plusieurs objets dans une bibliothèque qui peut être parcouru par light.

Dark modifier

Dark, le décompilateur, prend un MSI ou un MSM existant et régénère des fichiers XML à partir de leurs contenus.

Tallow modifier

Tallow est un générateur de code, servant à générer une liste de composants en traversant un répertoire du disque. Une version tiers, Mallow, ajoute la possibilité de synchroniser des fichiers existants. Tallow sera remplacé par Heat (chaleur) dans la version 3.0 de WiX.

Références modifier