Aller au contenu

Windows Installer XML

Un article de Wikipédia, l'encyclopédie libre.
Windows Installer XML
Description de l'image WiX logo (2016, black).svg.

Informations
Développé par .NET Foundation (en)Voir et modifier les données sur Wikidata
Dépôt github.com/wixtoolsetVoir et modifier les données sur Wikidata
Écrit en C++ et C#Voir et modifier les données sur Wikidata
Système d'exploitation Microsoft WindowsVoir et modifier les données sur Wikidata
Environnement Microsoft WindowsVoir et modifier les données sur Wikidata
Formats lus WiX Library (d), WiX Project (d), WiX Localization (ASCII) (d), Windows Installer XML Source (d), Windows Installer XML Source (UTF-8) (d), WiX Project (UTF-8) (d), WiX Localization (UTF-8) (d) et WiX Object (d)Voir et modifier les données sur Wikidata
Formats écrits Windows Installer Package (d), WiX Library (d), WiX Project (d), WiX Localization (ASCII) (d), Windows Installer XML Source (d), Windows Installer XML Source (UTF-8) (d), WiX Project (UTF-8) (d), WiX Localization (UTF-8) (d) et WiX Object (d)Voir et modifier les données sur Wikidata
Type Outil de programmation (en)
Application XML (d)Voir et modifier les données sur Wikidata
Licence Microsoft Reciprocal License (en)Voir et modifier les données sur Wikidata
Site web wixtoolset.orgVoir et modifier les données sur Wikidata

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.

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 | modifier le code]

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, le compilateur, est utilisé pour traiter les documents XML et les convertir en fichiers objet.

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, 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, le décompilateur, prend un MSI ou un MSM existant et régénère des fichiers XML à partir de leurs contenus.

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 | modifier le code]