WiX
From Wikipedia, the free encyclopedia
Design by | Rob Mensching |
---|---|
Developed by | Microsoft |
Latest release | 2.0.5805 / October 5, 2007 |
Preview release | 3.0.3725 / January 25, 2008 |
Written in | C++, C# |
Operating system | Windows |
Type | Software development tools |
License | Common Public License |
Website | http://wix.sourceforge.net/ |
The Windows Installer XML toolset (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. This is the first software released by Microsoft under an open-source license called Common Public License.
It also 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 to Visual Studio.
Contents |
[edit] Internal structure
WiX is composed of several components, whose names derive from a play on words on the "wick(s)" of a candle.
[edit] Candle
Candle, the compiler, is used to compile the XML documents to object files that contain symbols and references to symbols.
[edit] Light
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.
[edit] Lit
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.
[edit] Dark
Dark, the decompiler, takes existing MSI and MSM files and generates XML documents that represents the package.
[edit] Tallow/Heat
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 will be rendered in WiX 3.0 by a more general "harvesting" tool known as Heat. There is also an unofficial version of Tallow known as Mallow[1], which adds synchronization capabilities and improved component id generation.
There is also a new tool called Paraffin,[2] which provides support for initial creation of a fragment and synchronization.
[edit] History
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, like SQL Server 2005 and Office 2007, are packaged using WiX.
As of 2007, WiX version 2.0 is considered stable and production quality, and is no longer being developed. WiX version 3.0 is under development.
[edit] See also
[edit] Notes
[edit] References
- Mallett, Steve. "WiX Project Lead Interviewed On CPL Licensing". Slashdot.org. http://developers.slashdot.org/article.pl?sid=04/04/23/2229232. Retrieved on 2004-04-24.
- Mensching, Rob. "Windows Installer XML (WiX) toolset has released as Open Source on SourceForge.net". Microsoft Developer Network. http://blogs.msdn.com/robmen/archive/2004/04/05/107709.aspx. Retrieved on 2004-04-24.