These tutorials will walk you through how to build Windows Installer (aka .MSI) setup packages using the WiX Toolset (aka Windows Installer XML aka WiX) and Industrial Strength Windows Installer XML (aka IsWiX) for a variety of application types.
-
Microsoft Visual Studio
- 2022 or 2026 (Sorry, we've dropped support for previous versions of Visual Studio as it's just a testing time sink. VS2022 and VS2026 are awesome! )
- Community Edition or higher.
-
FireGiant HeatWave for VS2022 (supports VS2026 also)
- Install from the Visual Studio Marketplace
-
IsWiX for Visual Studio
- Install from the Visual Studio Marketplace
Windows Installer is a platform service created by Microsoft in 1999. Originally created with the needs of Microsoft Office in mind, it created a standardized way for vendors to package applications for Windows. It was designed to be declarative (in the 90s that meant database driven), transactional, transformable with standardized command line driven installation arguments and logging. Many tools have been created to author MSIs including InstallShield, Advanced Installer, InstallAware, Wise, Visual Studio deployment projects and others.
WiX is an open source project started by former Microsoft employee Rob Mensching while he was still at Microsoft. The first release was back in 2004. WiX is essentially an XSD based Domain Specific Language and related compiler chain tools that allows a developer to generate Windows Installer Databases from XML documents. WiX is a very powerful toolset that serves as a thin abstraction of the underlying Windows Installer and emphasis a 'code-first' strategy. This has the unfortunate drawback of a steep learning curve and hand authoring of many, many lines of XML.
IsWiX is an open source project started by Windows Installer / InstallShield / WiX expert Christopher Painter while he was working at Textron - Overwatch Systems division in 2010. The project was initially funded by Textron OWS as part of a business process transformation effort. Although Textron OWS always wanted to publish the project as open source, the sensitive nature of our business made that difficult. After a very successful pilot, the IP rights were reassigned to Christopher Painter so that he could share it with the world. InstallShield was overall a good product but Textron OWS had strained it way beyond what InstallShield was ever designed to do. InstallShield's binary or DTD base XML project files were not branch/merge friendly and the licensing model did not encourage agile/lean workflows. WiX could solve these problems except that Textron OWS's team of 12 build and release engineers would have had to train 250+ developers how to develop in it. IsWiX was born to give developers an InstallShield like experience for the core installer changes they would need to make. Basically think 'minimum viable product'. All other changes would be done by MSI experts in WiX by hand. Later the product was expanded to include Visual Studio templates to simplify the development of desktop applications, windows services and web applications.
WiX v6.0.2 / HeatWave Modern Samples implemented in .NET 10 and WiX 6.0.2