← Back to team overview

maria-developers team mailing list archive

Windows installer, WiX version


Hi again,

The other contender for installer system of MariaDB 2010, is CPack + WiX. This is a much more powerful solution, but also one that will take a lot longer to implement.

CPack doesn't actually support WiX yet, but there is a patch out there to implement the support. This patch is so simple, I don't understand why they didn't just add it already. All it does is copy the built files into a directory structure, and call the WiX binaries. It doesn't output a specification file for the installer, like the CPack NSIS integration does.

Instead, the implementor has to supply a .xsl file which the WiX binaries takes as input for creating a .xml file, which another WiX binary uses to build the package.

The actual package is a single .msi file which runs like any other graphical Windows installer.

Without CPack, the implementor writes the .xml file by hand. The CPack integration makes it simpler to identify the files that will be installed. If the implementor writes the .xml file manually, we have to always keep the cmake built files and the WiX spec in sync. So even though the CPack integration is really small, it does make sense.

WiX is capable of very powerful installers that would work exactly like I'd hope to achieve. This means seamless upgrading, user account creation (for setting MariaDB up as a service), service installation etc. These are all things that NSIS just can't do directly, where we'd be trying to bend the system to support what we want.

The downside of using WiX is that it's going to take a lot longer to implement a good installer than it is to implement a simple installer with NSIS. I already have a patch for a complete installer with NSIS, albeit one that doesn't ask about deleting database files or with the ability to set up as a service. Making it to this point with WiX is not that easy.

I'm convinced that once the WiX installer is done, it's going to be easy to maintain it. Probably as easy as maintaining the NSIS system. And implementing features in the installer will be a lot simpler with WiX, because the system is designed to be powerful.

I would like to hear some discussion about this. Should I start spending the longer time on this, or go with the simple NSIS solution for now?

Bo Thorsen.
Monty Program AB.


MariaDB: MySQL replacement
Community developed. Feature enhanced. Backward compatible.

Follow ups