view contrib/win32/win32-build.txt @ 4401:d1dd16256114

Update Windows build instructions.
author Lee Cantey <>
date Thu, 03 May 2007 14:09:09 -0700
parents 068b32d06873
line wrap: on
line source

The standalone Windows installer for Mercurial is built in a somewhat
jury-rigged fashion.

It has the following prerequisites, at least as I build it:

  Python for Windows


  Python for Windows Extensions

  mfc71.dll (just download, don't install)

  The py2exe distutils extension

  Inno Setup

  ISTool - optional

  add_path (you need only add_path.exe in the zip file)

And, of course, Mercurial itself.

Once you have all this installed and built, clone a copy of the
Mercurial repository you want to package, and name the repo

In a shell, build a standalone copy of the hg.exe program:

  python build -c mingw32 
  python py2exe -b 1

Note: the previously suggested combined command of "python build -c
mingw32 py2exe -b 1" doesn't work correctly anymore as it doesn't include the
extensions in the mercurial subdirectory.

If you want to create a file named setup.cfg with the contents:


you can skip the first build step.

Copy mfc71.dll and add_path.exe into the dist directory that just got created.

If you use ISTool, you open the C:\hg\hg-release\contrib\win32\mercurial.iss
file and type Ctrl-F9 to compile the installer file.

Otherwise you run the Inno Setup compiler.  Assuming it's on the path you run:

  iscc contrib\win32\mercurial.iss

The actual installer will be in the C:\hg\hg-release\Output directory.

To automate the steps above you may want to create a batchfile based on the

  echo [build] > setup.cfg
  echo compiler=mingw32 >> setup.cfg
  python py2exe -b 1
  iscc contrib\win32\mercurial.iss

and run it from the root of the hg repository (c:\hg\hg-release).