# WiX

> toolset that builds Windows Installer packages from XML

**Wikidata**: [Q1134554](https://www.wikidata.org/wiki/Q1134554)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/WiX)  
**Source**: https://4ort.xyz/entity/wix

## Summary
WiX is a free software toolset used to build Windows Installer packages from XML elements. It allows developers to create installation packages for Windows applications using an XML-based syntax, simplifying the process of software distribution. Initially developed by Microsoft, WiX is now maintained by the .NET Foundation.

## Key Facts
- WiX generates Windows Installer packages (.msi) using XML-based definitions.
- Licensed under the Microsoft Reciprocal License (MSRL) since August 14, 2012, previously under the Common Public License (CPL).
- Runs exclusively on Microsoft Windows operating systems.
- Developed by the .NET Foundation, with source code hosted on GitHub.
- Supports programming languages including C++ and C#.
- Uses XML namespaces such as `http://schemas.microsoft.com/wix/2006/wi` for package definitions.
- Handles file formats like Windows Installer XML Source (UTF-8) and WiX Project files.
- Website: https://wixtoolset.org/.
- Migrated from SourceForge to GitHub for source code management.

## FAQs
### Q: What is WiX primarily used for?
A: WiX is used to create Windows Installer packages (.msi) for software distribution, enabling developers to define installation processes through XML.

### Q: Is WiX free to use?
A: Yes, WiX is free software, currently licensed under the Microsoft Reciprocal License (MSRL), which requires source code sharing for modifications.

### Q: Does WiX work on non-Windows systems?
A: No, WiX is designed specifically for Microsoft Windows and does not support other operating systems.

## Why It Matters
WiX plays a critical role in streamlining the creation of Windows Installer packages, a essential step in software deployment. By using XML, it provides a human-readable and version-controllable format for defining installation logic, contrasting with proprietary or binary tools. Its open-source nature and backing by the .NET Foundation ensure ongoing community support and development. WiX addresses the complexity of Windows Installer technology, offering a flexible and extensible solution for developers. Its ability to integrate with build automation tools (e.g., MSBuild) and support for modern Windows features makes it indispensable for both small and large-scale software projects.

## Notable For
- **Open-Source Foundation**: Transitioned from Microsoft to the .NET Foundation, ensuring community-driven development.
- **XML-Driven Syntax**: Provides a declarative, human-readable format for defining installer behavior.
- **Customization Flexibility**: Supports extensions and integration with third-party tools for complex installation scenarios.
- **Active Maintenance**: Continuously updated to align with Windows Installer and .NET ecosystem advancements.
- **Cross-Platform Build Compatibility**: While running on Windows, it can be used within cross-platform build pipelines (e.g., via Wine).

## Body
### History and Development
- **Origins**: Initially created by Microsoft, WiX was open-sourced in 2004 under the Common Public License (CPL).
- **Transition**: Moved to the .NET Foundation in 2014, with licensing updated to MSRL in 2012 to clarify reciprocal terms.
- **Repository**: Hosted on GitHub (https://github.com/wixtoolset) since 2016, replacing earlier SourceForge hosting.

### Technical Features
- **XML Schemas**: Utilizes namespaces like `http://schemas.microsoft.com/wix/2006/wi` for package structure and `http://schemas.microsoft.com/wix/2006/localization` for multilingual support.
- **File Formats**: Processes WiX Project (`.wxs`), WiX Library (`.wixlib`), and localization files, generating `.msi` or `.msm` packages.
- **Integration**: Compatible with MSBuild, Visual Studio, and command-line build systems for automated workflows.
- **Programming Languages**: Primarily developed in C++ and C#, with community contributions in other .NET languages.

### Licensing and Governance
- **Current License**: Microsoft Reciprocal License (MSRL) applies to code modifications, requiring distribution of source changes.
- **Previous License**: Common Public License (CPL) used prior to August 14, 2012.
- **Governance**: Overseen by the .NET Foundation, ensuring alignment with open-source principles and .NET ecosystem standards.

### Ecosystem and Tools
- **Documentation**: Maintains extensive guides and XSD references at https://wixtoolset.org/.
- **Community**: Supported through GitHub issues, Stack Overflow, and Windows Installer developer forums.
- **Extensions**: Supports third-party tools like WiX Toolset Visual Studio Extension for IDE integration.

## References

1. [The wix Open Source Project on Open Hub: Licenses Page. Open Hub](https://www.openhub.net/p/wix/licenses)
2. [The wix Open Source Project on Open Hub: Languages Page. Open Hub](https://www.openhub.net/p/wix/analyses/latest/languages_summary)
3. Freebase Data Dumps. 2013
4. Quora
5. [Wix Schema](https://wixtoolset.org/documentation/manual/v3/xsd/wix/)
6. [Wixloc Schema](https://wixtoolset.org/documentation/manual/v3/xsd/wixloc/)