NullSoft installer for Mercurial

Giovanni Bajo rasky at
Mon Sep 3 03:13:59 CDT 2007

On Sun, 02 Sep 2007 23:45:30 -0500, Steve Borho <steve at> wrote:

> There are many drawbacks to
> the py2exe scheme, the two worst of which are the difficulty in adding
> extensions and the various problems you run into when it doesn't pull in
> all the modules you actually need.

The first problem looks like a limit of py2exe. I don't know the details so
I can't comment, but py2exe should allow applications to import external
modules. What is the exact problem?

I'm not sure what it is the second problem you refer to. Are you speaking
of bugs that happen while developing and updated the py2exe installer? If
this is the case, you are speaking of a development problem, not of a user
problem caused by using py2exe (and not fixable without changing
distribution methodology).

> I'm thinking that there will be many people who like the Inno Soft
> approach (in a nutshell, non-programmers), and many people who will like
> the NSIS approach.  I have no idea how to bring the two together.

(calling the two approaches InnoSoft and NSIS is a little confusing as this
has nothing to do with the framework used to generate the installer - in
fact, either approach could be implemented with either framework).

I'm a programmer, but I think I still prefer the py2exe approach, because
it has a value: it allows Mercurial to be installed like a regural Windows
application. It follows the standard guidelines, you find the program
listed in the usual places, and you know how to handle it. It's the
equivalent of using RPM/DEB for distributing it: it's the right thing to

Your approach sounds like a hybrid to me. I think the only people that
might like it are *Mercurial* developers, which might find a quicker way to
setup a development environment. But if I'm not interested in developing
Mercurial, I don't see any serious advantage.

Moreover, if the goal is to install mercurial as a Python library with all
its dependencies, this should probably be achieved through some package
manager (using setuptools with the correct dependency clauses). If this
can't be done, it's the usual "Python misses a package manager", and
nothing more.

-1 from me.
Giovanni Bajo

More information about the Mercurial-devel mailing list