WiX

Last updated
WiX Toolset
Original author(s) Rob Mensching, Microsoft
Developer(s) .NET Foundation
Initial release5 April 2004;20 years ago (2004-04-05) [1]
Stable release
5.0.0 / 5 April 2024;18 days ago (2024-04-05)
Repository github.com/wixtoolset
Written in C++, C#
Operating system Windows
Type Software development tools
License Microsoft Reciprocal License
Website wixtoolset.org

Windows Installer XML Toolset (WiX, pronounced "wicks") is a free software toolset that builds Windows Installer packages from XML. It consists of a command-line environment that developers may integrate into their build processes to build MSI and MSM packages. WiX was the first Microsoft project to be released under an open-source license, [2] the Common Public License. [2] It was also the first Microsoft project to be hosted on an external website.

Contents

After its release in 2004, Microsoft has used WiX to package Office 2007, SQL Server 2005, Visual Studio 2005/2008, and other products. [3]

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

History

WiX was the first Microsoft project to be released under an open-source license, [2] the Common Public License. [2] Initially hosted on SourceForge, [2] it was also the first Microsoft project to be hosted externally.

Rob Mensching, the original author and lead developer of WiX, works on WiX in his spare time. When he released the first version of WiX on April 5, 2004, he commented, "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." [1] As of 2006, several other Microsoft employees from various product divisions of the company worked on WiX with Mensching, meeting after business hours once a week to coordinate development efforts and write code.[ citation needed ]

On June 6, 2010, WiX moved from SourceForge to CodePlex. [4] On August 14, 2012, Microsoft transferred the WiX copyright to the Microsoft-sponsored Outercurve Foundation. At the same time, the license was changed from the Common Public License to the Microsoft Reciprocal License. [5] On May 4, 2016, WiX was transferred to the .NET Foundation. [6]

Since Visual Studio 2012, the traditional setup project type has been removed from Visual Studio (available only as an extension since Visual Studio 2013). WiX is a recommended alternative. [7]

Tools

ToolDescription
CandleCandle compiles the XML documents to .wixobj object files that contain symbols and references to symbols. [8]
LightLight takes one or more object files and links the references in the object files to the appropriate symbols in other object files. Light is responsible for collecting all of the binaries, packaging them appropriately, and generating the final MSI or MSM file. [9]
LitLit combines multiple object files into a library for convenience. [10]
DarkDark takes existing MSI and MSM files and generates XML documents that represent the package. [11]
HeatHeat creates WiX file list code from a file, directory, Visual Studio project, website, VB6 COM component, performance counter category, or Registry file. [12] It produces a .wxs file that can be compiled and linked with other .wxs files. WiX 3.0's Heat replaced WiX 2.0's more limited Tallow tool. [13]

There is also a third-party tool called Paraffin, available under the Common Public License, which offers several features not present in Heat. In particular, Paraffin can keep the GUIDs assigned to each file the same even when the tool is run multiple times. Paraffin can also exclude files by extension or regular expression. [14]

PyroPyro creates Patch files (msp) without the Windows Installer SDK. [11]
BurnBurn is a prerequisite bootstrapper and installer chainer tool, was first released in version 3.6. [15] Features include small size, proper elevation support for Windows Vista and Windows 7, a very customizable UI and progress indicators, and automatic download of required dependencies. The old Burn source code was abandoned in July 2009 and reimplemented based on NETFX4 bootstrapper. [16]

Version history

WiX Releases
VersionRelease DateNote
1.0April 5, 2004First release
2.02007
3.0July 4, 2009
3.5January 31, 2011
3.6September 3, 2012Focus on Burn
3.7December 24, 2012Support for Visual Studio 2008, 2010 and 2012
3.8November 28, 2013Visual Studio 2013 support
3.9October 31, 2014
3.10September 3, 2015
3.11May 5, 2017
3.11.1December 31, 2017
3.11.2September 18, 2019
4.0April 2023 [17]
4.0.1June 2023 [18]
4.0.2September 2023 [19]
5.0.0April 2024 [20]

See also

Related Research Articles

<span class="mw-page-title-main">Microsoft Visual C++</span> Integrated development environment product

Microsoft Visual C++ (MSVC) is a compiler for the C, C++, C++/CLI and C++/CX programming languages by Microsoft. MSVC is proprietary software; it was originally a standalone product but later became a part of Visual Studio and made available in both trialware and freeware forms. It features tools for developing and debugging C++ code, especially code written for the Windows API, DirectX and .NET.

<span class="mw-page-title-main">Microsoft Visio</span> Diagramming and vector graphics software application

Microsoft Visio is a diagramming and vector graphics application and is part of the Microsoft 365 family. The product was first introduced in 1992 by former American software company Visio Corporation, and its latest version is Visio 2021. Microsoft acquired the assets of Visio Corporation in 2000 and thus also inherited the licensing agreements for the Visio application. A lightweight version of Visio is now included with all commercial SKU of Microsoft 365 and is known as Visio in Microsoft 365. It has two other subscription based SKUs. Visio Plan 1 includes the Visio web app whereas Visio Plan 2 provides access to both the web app as well as the Desktop application.

<span class="mw-page-title-main">Microsoft XNA</span> Freeware set of tools by Microsoft

Microsoft XNA is a freeware set of tools with a managed runtime environment that Microsoft Gaming developed to facilitate video game development. XNA is based on .NET Framework, with versions that run on Windows and Xbox 360. XNA Game Studio can help develop XNA games. The XNA toolset was announced on March 24, 2004, at the Game Developers Conference in San Jose, California. A first Community Technology Preview of XNA Build was released on March 14, 2006.

<span class="mw-page-title-main">Windows Installer</span> Software

Windows Installer is a software component and application programming interface (API) of Microsoft Windows used for the installation, maintenance, and removal of software. The installation information, and optionally the files themselves, are packaged in installation packages, loosely relational databases structured as COM Structured Storages and commonly known as "MSI files", from their default filename extensions. The packages with the file extensions mst contain Windows Installer "Transformation Scripts", those with the msm extensions contain "Merge Modules" and the file extension pcp is used for "Patch Creation Properties". Windows Installer contains significant changes from its predecessor, Setup API. New features include a GUI framework and automatic generation of the uninstallation sequence. Windows Installer is positioned as an alternative to stand-alone executable installer frameworks such as older versions of InstallShield and NSIS.

Microsoft Visual SourceSafe (VSS) is a discontinued source control program oriented towards small software development projects. Like most source control systems, SourceSafe creates a virtual library of computer files. While most commonly used for source code, SourceSafe can handle any type of file in its database, but older versions were shown to be unstable when used to store large amounts of non-textual data, such as images and compiled executables.

Microsoft Build Engine, or MSBuild, is a set of free and open-source build tools for managed code under the Common Language Infrastructure as well as native C and C++ code. It was first released in 2003 and was a part of .NET Framework. MSBuild is included with Visual Studio, but can also be run independently through MSBuild's command-line interface.

Comparison of the Java and .NET platforms.

ASP.NET MVC is a web application framework developed by Microsoft that implements the model–view–controller (MVC) pattern. It is no longer in active development. It is open-source software, apart from the ASP.NET Web Forms component, which is proprietary.

<span class="mw-page-title-main">Visual Studio</span> Code editor and IDE

Visual Studio is an integrated development environment (IDE) developed by Microsoft. It is used to develop computer programs including websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platforms including Windows API, Windows Forms, Windows Presentation Foundation (WPF), Windows Store and Microsoft Silverlight. It can produce both native code and managed code.

Windows Assessment and Deployment Kit, formerly Windows Automated Installation Kit, is a collection of tools and technologies produced by Microsoft designed to help deploy Microsoft Windows operating system images to target computers or to a virtual hard disk image in VHD format. It was first introduced with Windows Vista. WAIK is a required component of Microsoft Deployment Toolkit.

StyleCop is an open-source static code analysis tool from Microsoft that checks C# code for conformance to StyleCop's recommended coding styles and a subset of Microsoft's .NET Framework Design Guidelines. StyleCop analyses the source code, allowing it to enforce a different set of rules from FxCop. The rules are classified into the following categories:

<span class="mw-page-title-main">.NET Framework</span> Software platform developed by Microsoft

The .NET Framework is a proprietary software framework developed by Microsoft that runs primarily on Microsoft Windows. It was the predominant implementation of the Common Language Infrastructure (CLI) until being superseded by the cross-platform .NET project. It includes a large class library called Framework Class Library (FCL) and provides language interoperability across several programming languages. Programs written for .NET Framework execute in a software environment named the Common Language Runtime (CLR). The CLR is an application virtual machine that provides services such as security, memory management, and exception handling. As such, computer code written using .NET Framework is called "managed code". FCL and CLR together constitute the .NET Framework.

C1 CMS

C1 CMS is a free open source .NET-based web content management system.

<span class="mw-page-title-main">XML Notepad</span> XML editor developed by Microsoft

XML Notepad is an open-source XML editor written by Chris Lovett and published by Microsoft. The editor features incremental search in both tree and text views, drag/drop support, IntelliSense, find/replace with regular expressions and XPath expressions, and support for XInclude. The editor has good performance on large XML documents and has real time XML schema validation. The editor also features an HTML viewer for displaying XSLT transformation results and a built-in XML comparison tool.

<span class="mw-page-title-main">Xamarin</span> American software company

Xamarin is a Microsoft-owned San Francisco-based software company founded in May 2011 by the engineers that created Mono, Xamarin.Android and Xamarin.iOS, which are cross-platform implementations of the Common Language Infrastructure (CLI) and Common Language Specifications.

<span class="mw-page-title-main">Roslyn (compiler)</span> Set of open-source compilers

.NET Compiler Platform, also known by its codename Roslyn, is a set of open-source compilers and code analysis APIs for C# and Visual Basic (VB.NET) languages from Microsoft.

<span class="mw-page-title-main">Mono (software)</span> Computer software project

Mono is a free and open-source .NET Framework-compatible software framework. Originally by Ximian, it was later acquired by Novell, and is now being led by Xamarin, a subsidiary of Microsoft and the .NET Foundation. Mono can be run on many software systems.

<span class="mw-page-title-main">.NET</span> Free and open-source software platform developed by Microsoft

The .NET platform is a free and open-source, managed computer software framework for Windows, Linux, and macOS operating systems. The project is mainly developed by Microsoft employees by way of the .NET Foundation and is released under an MIT License.

Microsoft, a technology company historically known for its opposition to the open source software paradigm, turned to embrace the approach in the 2010s. From the 1970s through 2000s under CEOs Bill Gates and Steve Ballmer, Microsoft viewed the community creation and sharing of communal code, later to be known as free and open source software, as a threat to its business, and both executives spoke negatively against it. In the 2010s, as the industry turned towards cloud, embedded, and mobile computing—technologies powered by open source advances—CEO Satya Nadella led Microsoft towards open source adoption although Microsoft's traditional Windows business continued to grow throughout this period generating revenues of 26.8 billion in the third quarter of 2018, while Microsoft's Azure cloud revenues nearly doubled.

References

  1. 1 2 Mensching, Rob (5 April 2004). "Windows Installer XML (WiX) toolset has released as Open Source on SourceForge.net". RobMensching.com /Blog. Archived from the original on 8 April 2023. Retrieved 16 February 2014.
  2. 1 2 3 4 5 "Microsoft goes open source with WiX tool". Computerworld . 6 April 2004. Retrieved 15 April 2024.
  3. Robbins, John (18 October 2007). "WiX: Hints for New Users (Part 1 of 3)". Wintellect. Archived from the original on 22 February 2014. Retrieved 16 February 2014.
  4. Mensching, Rob (6 June 2010). "WiX toolset source and releases move to CodePlex". RobMensching.com /Blog. Retrieved 16 February 2014.
  5. Mensching, Rob (14 August 2012). "Outercurve Foundation and WiX toolset together, at last". RobMensching.com /Blog. Retrieved 16 February 2014.
  6. Mensching, Rob (4 May 2016). "WiX toolset joins the .NET Foundation" . Retrieved 15 March 2020.
  7. Hodges, Buck (17 March 2011). "Visual Studio setup projects (vdproj) will not ship with future versions of VS" . Retrieved 22 September 2021.
  8. "Compiler". WiX Toolset. Retrieved 16 February 2014.
  9. "Linker (light)". WiX Toolset. Retrieved 16 February 2014.
  10. "Library Tool (lit)".
  11. 1 2 "List of Tools". WiX Toolset. Retrieved 16 February 2014.
  12. "Harvest Tool (Heat)". WiX Toolset. Retrieved 16 February 2014.
  13. Halvorson, Loren (29 July 2004). "New "tallow" tool included in latest WiX". Loren Halvorson's Blog. Retrieved 16 February 2014.
  14. Robbins, John (14 November 2012). "Wintellect/Paraffin". GitHub . Retrieved 16 February 2014.
  15. Mensching, Rob (3 September 2012). "WiX v3.6 released". RobMensching.com /Blog. Retrieved 16 February 2014.
  16. Mensching, Rob (15 January 2010). "Burn moves to a new foundation". RobMensching.com /Blog. Retrieved 16 February 2014.
  17. "WiX v4 RC4 and next HeatWave Preview Available". FireGiant. Retrieved 29 March 2023.
  18. "WiX v4.0.1 Released". FireGiant. Retrieved 29 September 2023.
  19. "WiX v4.0.2 Released". FireGiant. Retrieved 29 September 2023.
  20. "WiX Toolset v5.0.0 available | WiX Toolset". wixtoolset.org. 5 April 2024. Retrieved 10 April 2024.