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
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
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
Candle, le compilateur, est utilisé pour traiter les documents XML et les convertir en fichiers objet.
Light
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
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
Dark, le décompilateur, prend un MSI ou un MSM existant et régénère des fichiers XML à partir de leurs contenus.
Tallow
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
- Le site officiel
- Une interview de Rob Mensching pour le site le Journal du Net
- L'ancien blog de Rob Mensching sur MSDN
- Le nouveau blog de Rob Mensching sur son site
- Une introduction en anglais de WiX présenté par Hüsnü Kaplan