Differences between revisions 19 and 20
Revision 19 as of 2007-08-26 05:24:46
Size: 1973
Editor: 220
Comment:
Revision 20 as of 2007-08-26 05:26:03
Size: 1557
Editor: 220
Comment:
Deletions are marked like this. Additions are marked like this.
Line 41: Line 41:
Open a command prompt window on C:\hg\hg-release, then build a standalone copy of the hg.exe program: In a shell, build a standalone copy of the hg.exe program:
Line 44: Line 45:
}}}

Alternatively, you can create a file named setup.cfg in the root of the repository (C:\hg\hg-release) with the following contents:
{{{
[build]
compiler=mingw32
}}}

which would allow you to ignore the {{{-c mingw32}}} option:
{{{
python setup.py py2exe -b 1
Line 60: Line 50:
If Inno Setup is in your path you can run:
{{{
iscc contrib\win32\mercurial.iss
}}}

Or you can r
un ISTool, and open the C:\hg\hg-release\contrib\win32\mercurial.iss
Run ISTool, and open the C:\hg\hg-release\contrib\win32\mercurial.iss

[Note: this page has been adapted from contrib/win32/win32-build.txt found in Mercurial's source tree]

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

Prerequisites

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

Python for Windows

MinGW

Python for Windows Extensions

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

The py2exe distutils extension

Inno Setup

ISTool

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

And, of course, Mercurial itself

Building Installer

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.

BuildingWindowsInstaller (last edited 2009-06-01 18:00:25 by PascalQuantin)