1973
Comment:
|
1557
|
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 run 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.