view contrib/win32/win32-build.txt @ 3343:ab406cfa1b99

ui.py: don't query parentui.cdata when looking up config items. We copied the contents of parentui.cdata on initialization.
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Tue, 10 Oct 2006 18:43:20 -0300
parents 068b32d06873
children d1dd16256114
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
      http://www.python.org/ftp/python/2.4.1/python-2.4.1.msi

  MinGW
      http://www.mingw.org/

  Python for Windows Extensions
      http://sourceforge.net/projects/pywin32/

  mfc71.dll (just download, don't install)
      http://starship.python.net/crew/mhammond/win32/

  The py2exe distutils extension
      http://sourceforge.net/projects/py2exe/

  Inno Setup
      http://www.jrsoftware.org/isinfo.php

  ISTool
      http://www.istool.org/default.aspx/

  add_path (you need only add_path.exe in the zip file)
      http://www.barisione.org/apps.html#add_path

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
C:\hg\hg-release.

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

  python setup.py build -c mingw32 py2exe -b 1

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

Run ISTool, and open the C:\hg\hg-release\contrib\win32\mercurial.iss
file.

In ISTool, type Ctrl-F9 to compile the installer file.  The actual
installer will be in the C:\hg\hg-release\Output directory.