||This article needs additional citations for verification. (July 2010)|
|Original author(s)||Rob Mensching|
|Stable release||3.7.1224.0 / Dec 24, 2012|
|Preview release||3.8 (updated weekly)|
|Written in||C++, C#|
|Type||Software development tools|
|License||Common Public License|
The Windows Installer XML (WiX, pronounced "wicks"), is a free software toolset that builds Windows Installer (MSI) packages from an XML document. It supports a command-line environment that developers may integrate into their build processes to build MSI and MSM setup packages. WiX was the first software released by Microsoft under an open-source license called Common Public License.
The WiX distribution includes Votive, a Visual Studio add-in that allows creating and building WiX setup projects using the Visual Studio IDE. Votive supports syntax highlighting and IntelliSense for .WXS source files and adds a WiX setup project type .wixproj to Visual Studio.
WiX is composed of components, whose names derive from a play on words on the "wick(s)" of a candle.
Candle, the compiler, is used to compile the XML documents to object files that contain symbols and references to symbols.
Light, the linker, takes one or more object files and links the references in the object files to the appropriate symbols in other object files. Light is also responsible for collecting all of the binaries, packaging them appropriately, and generating the final MSI or MSM file.
Lit, the library tool, is an optional tool that can be used to combine multiple object files into libraries that can be parsed by Light.
Dark, the decompiler, takes existing MSI and MSM files and generates XML documents that represent the package.
Tallow is a tool for generating WiX filelist code by traversing directory trees. It produces a WiX "fragment" which can be incorporated with other WiX source files at compile time. It is replaced in WiX 3.0 by a more general "harvesting" tool known as Heat. There is also an unofficial version of Tallow known as Mallow, which adds synchronization capabilities and improved component id generation.
There is also a new tool called Paraffin, which provides support for initial creation of a fragment and synchronization.
Pyro is the WiX tool to create Patch files (msp) without the Windows Installer SDK.
Burn, a prerequisite bootstrapper and installer chainer tool, was first released in version 3.6. Features include small size, proper elevation support for Vista/7, a very customizable UI and progress indicators, and automatic downloads of required dependencies. The old Burn source code was abandoned in July 2009 and reimplemented based on NETFX4 bootstrapper.
On April 5, 2004, WiX was the first Microsoft project to be released under an externally created Open Source license, the Common Public License. It was also the first Microsoft Shared Source project to be hosted externally (on SourceForge).
Rob Mensching, the original author and lead developer of WiX, works on WiX in his spare time. At the time of release he said, "I did not feel that many people inside Microsoft understood what the Open Source community was really about and I wanted to improve that understanding by providing an example."
As of 2006, several other Microsoft employees from various product divisions of the company work on WiX with Mensching, meeting after business hours once a week to coordinate development efforts and write code. WiX has proven to be so popular with Microsoft development teams that many of Microsoft's software products, such as SQL Server 2005, Office 2007, and Microsoft Codename Oslo are packaged using WiX.
As of 2007, WiX version 2.0 is considered stable and production quality, and is no longer being developed.
As of July 4, 2009, WiX version 3.0 is considered release quality.
WiX version 3.5 was released January 31, 2011.
WiX version 3.6 was released September 3, 2012 and has a focus on Burn.
WiX version 3.7 was released December 24, 2012. Version 3.7 supports Visual Studio 2008, 2010 and 2012.
Since Visual Studio 2012, the traditional setup project type has been removed. WiX becomes a recommended option to create Windows Installer package.