Differences between revisions 6 and 7
Revision 6 as of 2009-05-19 19:31:00
Size: 2595
Editor: localhost
Comment: converted to 1.6 markup
Revision 7 as of 2010-01-25 10:27:07
Size: 2675
Editor: techtonik
Comment: update
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
your path. For brevity, I'll call this the "Windows" approach, as this your PATH. For brevity, I'll call this the "Windows" approach, as this
Line 8: Line 8:
There are three installers available that follow the Windows approach.
These are the de-facto
[[http://mercurial.berkwood.com/|official installers]] built by Lee Cantey, a similar
[[http://code.google.com/p/i18n-zh/wiki/Mercurial|unofficial installer]], and an unofficial
There are several installers available that follow the Windows approach.
They are listed in [[Download#Windows]] section. Among them de-facto
[[http://mercurial.berkwood.com/|official installers]] built by Lee Cantey,
but unlisted there is an unofficial
Line 13: Line 13:
appends many extras that are needed to generate a fully appends many extras needed to generate a fully
Line 21: Line 21:
 * Main hg.exe executable like in other cmdline tools
Line 24: Line 25:
 * You have no access to python libs not packaged
 * It is difficult to "add" features after install
 * It is is difficult to debug, should you find problems
 * No access to PYTHONPATH
   * Unable to install new Python extensions
   * No access to python libs to provide required modules
   (e.g. bzr for convert extension)
 * Difficult to debug in case of problems

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 several installers available that follow the Windows approach. They are listed in Download#Windows section. Among them de-facto official installers built by Lee Cantey, but unlisted there is an unofficial "Batteries Included" installer that appends many extras 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:

  • Single installer, everything under a single directory
  • Predictable directory layout for Windows users
  • Main hg.exe executable like in other cmdline tools
  • Single application to manage/uninstall

Cons for the Windows approach:

  • No access to PYTHONPATH
    • Unable to install new Python extensions
    • No access to python libs to provide required modules (e.g. bzr for convert extension)
  • Difficult to debug in case of problems
  • Every py2exe app gets it's own copy of python.dll, libs

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 call 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 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 just those parts and then assembles everything together into a coherent system.

Pros for the Python approach:

  • Installer only needs to download missing pieces
  • End-user has a fully functional python development environment
  • It's easier to upgrade individual components

Cons for the Python approach:

  • You end up with many apps installed (python, setuptools, pywin32, pyqt, mercurial, qct, kdiff3, etc)
  • Less control over the entire install (users may modify/upgrade parts)
  • Directory structure is unfamiliar to Windows users
  • Will occupy more disk space than py2exe approach if Mercurial is your only Python-based app


CategoryWindows

WindowsInstallers (last edited 2010-01-25 10:27:07 by techtonik)