WiX: A Developer's Guide to Windows Installer XML

Author: Nick Ramirez
All Stack Overflow 8
This Month Stack Overflow 2


by anonymous   2019-07-21

Yes, they are scattered all over. I am using Visual Studio 2010 to maintain my Product.wxs with a separate WXS file for the UI. Basically I've downloaded WiX Edit to design the UI.

A good start is to download the WiX source which has WXS UI files you can load into WiX Edit to see how they work. You can download the source from here.

What I did was to copy one of the WixUI files to my project in Visual Studio 2010. When you download the source they can be found under wix36-sources\src\ext\UIExtension\wixlib. In here you will find:

  • WixUI_FeatureTree.wxs
  • WixUI_InstallDir.wxs
  • WixUI_Advanced.wxs
  • WixUI_InstallDir.wxs
  • WixUI_Minimal.wxs
  • WixUI_Mondo.wxs

You can tell from this the dialog flows. However there are the individual dialog files in here such as:

  • CancelDlg.wxs
  • BrowseDlg.wxs

You can load these into the Wix Edit to preview the dialog. You should get a better understanding.

Additionally, the main Wix Page can be found at Wix Toolset.

I have ordered the Wix book, WiX: A Developer's Guide to Windows Installer XML, from Amazon which I hope will help me understand this more. £30.99 in the UK. Hopefully, this book will be money well spent. There is one review with five stars so fingers crossed.

by anonymous   2019-07-21

I found a great WiX book on amazon recently and bought it. So far, very straightforward and useful.


by anonymous   2017-08-20

SharpDevelop is one of the bigger ones that I know that uses WiX. I also have a project called IsWiX that sits on top of WiX to author Merge Modules. IsWiX uses WiX/IsWiX itself to do it's own installer so there are some examples there. Finally there is a new WiX book out that you might want to purchase and read through.

WiX: A Developer's Guide to Windows Installer XML

by anonymous   2017-08-20

Yes! A Developers Guide to Windows Installer XML (I've got it, but haven't read it yet so can't comment on the quality of the book)

However I would first say, forget about WiX initially. Your concern is Windows Installer - WiX is simply a tool to define Windows Installer databases (MSI files). WiX is no different than many other products out there, except for the fact that it doesn't try to mask any Windows Installer concepts for you. InstallShield transparently does a bunch of things that Windows Installer doesn't support via custom actions and the like, WiX forces you to think more about the Windows Installer methodology and way of doing stuff. Windows Installer is what you want to understand, WiX comes afterwards.

Second, get a copy of The Definitive Guide to Windows Installer. This book is an invaluable resource for anyone looking to understand how Windows Installer (MSI) works.

Third, start with the first entry in the UAC in MSI blog posts and you should be able to get a better grip on things. Best documentation I ever read in trying to understand elevation, permissions and all the other stuff that goes with UAC.

Once you understand Windows Installer, WiX is extremely straightforward. It's just a new language to express the Windows Installer concepts - trying to learn them at the same time can get very confusing, but if you learn MSI first then WiX it's simple!

by anonymous   2017-08-20

When using Wix to generate an installer for your project, you can use it to also generate a patch file which will update only changed files.

Visual Studio 2005 setup projects don't really support Patch building and such. It's meant as a rudimentary solution for building installers. Wix, however, is what Microsoft uses internally to build the setup experience for Visual Studio 2012 and other products. There is a very extensive walk-through available here.

Wix does come with a steep learning curve. Would you have been using Visual Studio 2010 or 2012, then you could take advantage of a couple of templates that make it much easier to build a setup for a given type of application. I don't believe these will work with Visual Studio 2005.

This book might also guide you.