WiX
Encyclopedia
The Windows Installer XML (WiX, pronounced "wicks"), is a free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

 toolset that builds Windows Installer
Windows Installer
The Windows Installer is a software component used for the installation, maintenance, and removal of software on modern Microsoft Windows systems...

 (MSI) packages from an XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

 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
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

 under an open-source license
Open-source license
An open-source license is a copyright license for computer software that makes the source code available for everyone to use. This allows end users to review and modify the source code for their own customization and/or troubleshooting needs...

 called Common Public License
Common Public License
In computing, the CPL is a free software / open-source software license published by IBM. The Free Software Foundation and Open Source Initiative have approved the license terms of the CPL....

.

The WiX distribution includes Votive, a Visual Studio add-in that allows creating and building WiX setup projects using the Visual Studio IDE
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...

. Votive supports syntax highlighting
Syntax highlighting
Syntax highlighting is a feature of some text editors that display text—especially source code—in different colors and fonts according to the category of terms. This feature eases writing in a structured language such as a programming language or a markup language as both structures and...

 and IntelliSense
IntelliSense
IntelliSense is Microsoft's implementation of autocompletion, best known for its use in the Microsoft Visual Studio integrated development environment...

 for .WXS source files and adds a WiX setup project type to Visual Studio.

Internal structure

WiX is composed of components, whose names derive from a play on words on the "wick(s)" of a candle.

Candle

Candle, the compiler
Compiler
A compiler is a computer program that transforms source code written in a programming language into another computer language...

, is used to compile the XML documents to object files that contain symbols and references to symbols.

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.

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.

Dark

Dark, the decompiler, takes existing MSI and MSM files and generates XML documents that represent the package.

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 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.

Burn

As of version 3.5, Burn, a prerequisite bootstrapper and installer chainer tool is under development. Planned features include small size, proper elevation support for Vista/7, a very customizable UI and progress indicators, and automatic downloads of required.
The old Burn source code was abandoned in July 2009 and reimplemented based on NETFX4 bootstrapper. The new code is released in WiX 3.6 on September 2010.

History

On April 5, 2004, WiX was the first Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

 project to be released under an externally created Open Source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

 license, the Common Public License. It was also the first Microsoft Shared Source
Shared source
Shared source is an umbrella term covering some of Microsoft's legal mechanisms for software source code distribution. Microsoft's Shared Source Initiative, launched in May 2001, includes a spectrum of technologies and licenses...

 project to be hosted externally (on SourceForge
SourceForge
SourceForge Enterprise Edition is a collaborative revision control and software development management system. It provides a front-end to a range of software development lifecycle services and integrates with a number of free software / open source software applications .While originally itself...

).

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
Microsoft SQL Server
Microsoft SQL Server is a relational database server, developed by Microsoft: It is a software product whose primary function is to store and retrieve data as requested by other software applications, be it those on the same computer or those running on another computer across a network...

, Office 2007
Microsoft Office 2007
Microsoft Office 2007 is a Windows version of the Microsoft Office System, Microsoft's productivity suite. Formerly known as Office 12 in the initial stages of its beta cycle, it was released to volume license customers on November 30, 2006 and made available to retail customers on January 30, 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 is the version currently being developed, which concentrates on Burn.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK