← Back to team overview

maria-developers team mailing list archive

Re: Windows installer


Den 10-05-2010 10:51, Peter Laursen skrev:
1) I did not do any work really.  I just commented on the workflow of
such (what conditions should be checked, what files the installer should
copy and where, update registry with service details, uninstallation
information etc. etc.).  But discussion stopped months ago - probably
because something else got focus.

Ok, that's good to know. Then I didn't miss an opportunity to save some work.

2) I understand that this is about getting "binary windows distribution
back on track".  Maybe I misunderstood, but with a binary and
installable version there should not be any need for anything else than
the installer itself (and Windows of course).  Did you only mean that
NSIS shared libraries will need to be installed to build a distro with
installer (ie. developers will need it)?  That is clear of course, but
end users should not need to install anything in advance to installing
MariaDB. It should install as the first program on a fresh Windows

This produces a single exe file with everything in it. Nothing else is needed.

BTW: I think the installer should not replace the zipped distro. It is
not OR - it is AND.  One reason is that you may want to grab a file
without actually installing.

I strongly disagree with this. The zip file installation is something I've never seen outside the MySQL world. IMHO it's just extra work with no benefit.

Also do not forget to test on Vista and Win7.  Do not take for granted
that it will work just be cause it does on XP (or rather it will work,
but Windows may print error messages to user during install).

I have all of these three here and test on all of them.

important every installer will have to register an uninstaller - if not
Vista+ will complain that 'this program was not installed correctly'.
And that is a problem actually when using a NSIS-based installer for
upgrading!  We ourselves had to do a very dirty hack to get rid of those
popup messages (that are very confusing to users) when upgrading SQLyog
and MONyog on those systems.  I can ask Sayan here to provide more
details about this.

The CPack system automatically produces an uninstaller as well, which was a pleasant surprise.

Upgrading is one of two important things I really haven't done any work on yet. (Install as a service being the other.)

I do want to modify the uninstaller later, though. It's not supposed to remove the database files before asking the user if this is really correct or not. I'm sure an update will also just overwrite your database, which is completely wrong. As I said, it's still a work in progress.


On Mon, May 10, 2010 at 13:56, Bo Thorsen <bo@xxxxxxxxxxxx
<mailto:bo@xxxxxxxxxxxx>> wrote:

    Den 10-05-2010 10:23, Peter Laursen skrev:

        3 points/questions:

        1) NSIS should be bundled.

    How do you mean? It's building a standalone installer, nsis is not
    needed for installation. It's only needed if you build the installer

        2) And not installing as a service never was the idea.

    It should be installed as a service, but that's not done yet.

        3) Will this installer handle upgrading too?

    It should :-)

    I know you did a lot of work on an installer as well. How did you do
    it, and how far did you get? It might be that I'd continue with your
    work instead of this.


        On Mon, May 10, 2010 at 12:55, Bo Thorsen <bo@xxxxxxxxxxxx
        <mailto:bo@xxxxxxxxxxxx <mailto:bo@xxxxxxxxxxxx>>> wrote:

            Hi everyone,

            I have been looking at getting our binary windows
        distribution back
            on track. One of the options would be to create the zip file
        like we
            did earlier.

            Another way would be to create a proper windows installer.
        For this,
            there are several options: NSIS, WIX, etc. I spent a bit of time
            investigating the CPack parts of CMake. And during the
            investigation, I managed to pretty much write an entire
            It was quite easy.

            The way this works is to add INSTALL instructions in the
            CMakeFiles.txt, plus a bit of extra information for building the
            installer package. You can see this in the patch I have

            With the patch applied, you have to install NSIS
            (http://nsis.sourceforge.net) and add it to the path. Build
            in release, and run "cpack" in the MariaDB tree. It's NSIS based
            because this seems to be the one cpack works best with.

            The question is what direction to continue in. I'd
        appreciate some
            feedback on this, because I'm not certain if it's the right
        way to
            go. It has been pretty easy so far, so I'm pretty happy to
            with it.

            IMHO, the most important thing not implemented in this
        installer yet
            is to set up MariaDB as a service.

            I'm going to focus on getting Windows running in KVM for our
            buildbot system now. And then I'll get back to this later.


            Bo Thorsen.

            Mailing list: https://launchpad.net/~maria-developers
            Post to     : maria-developers@xxxxxxxxxxxxxxxxxxx

            Unsubscribe : https://launchpad.net/~maria-developers
            More help   : https://help.launchpad.net/ListHelp

Follow ups