There are two installation approaches for Mercurial on Windows.

One approach is to bundle Mercurial (using py2exe) into a tight package which can be installed under C:\Program Files\Mercurial and added to your path. For brevity, I'll call this the "Windows" approach, as this is the standard way to distribute Windows applications.

There are three installers available that follow the Windows approach. These are the de-facto [http://mercurial.berkwood.com/ official installers] built by Lee Canty, a similar [http://code.google.com/p/i18n-zh/wiki/Mercurial unofficial installer], and an unofficial [http://qct.borho.org/ Batteries Included Installer] that appends many necessary extras that are needed to generate a fully functional first-time install (a diff and merge tool, a tcl interpreter for hgk, and a GUI commit tool).

Pros for the Windows approach:

Cons for the Windows approach:

The other approach is to install Mercurial as a python application. This means installing the full Python interpreter and it's libraries, and then installing Mercurial and it's dependencies as site-packages. We'll all this the "Python" approach. On most Unix/Linux systems, this is the recommended method for installing python applications.

An example of an installer which follows the Python approach can be found [http://qct.sourceforge.net/Mercurial-NSI.html here]. This installer does not include any software inside it. Instead, it scans your machine to figure out what it needs and then downloads and installs all those parts and then assembles everything together into a coherent system.

Pros for the Python approach:

Cons for the Python approach: