##// END OF EJS Templates
win32: update Inno Setup build instructions with up-to-date software
Pascal Quantin -
r12262:df5386ae default
parent child Browse files
Show More
@@ -63,16 +63,14 b' Source: contrib\\win32\\postinstall.txt; D'
63 63 Source: dist\hg.exe; DestDir: {app}; AfterInstall: Touch('{app}\hg.exe.local')
64 64 Source: dist\python*.dll; Destdir: {app}; Flags: skipifsourcedoesntexist
65 65 Source: dist\library.zip; DestDir: {app}
66 Source: dist\mfc*.dll; DestDir: {app}; Flags: skipifsourcedoesntexist
67 66 Source: dist\msvc*.dll; DestDir: {app}; Flags: skipifsourcedoesntexist
68 67 Source: dist\Microsoft.VC*.CRT.manifest; DestDir: {app}; Flags: skipifsourcedoesntexist
69 Source: dist\Microsoft.VC*.MFC.manifest; DestDir: {app}; Flags: skipifsourcedoesntexist
70 68 Source: dist\w9xpopen.exe; DestDir: {app}
71 69 Source: dist\add_path.exe; DestDir: {app}
72 70 Source: doc\*.html; DestDir: {app}\Docs
73 71 Source: doc\style.css; DestDir: {app}\Docs
74 72 Source: mercurial\help\*.txt; DestDir: {app}\help
75 Source: mercurial\locale\*.*; DestDir: {app}\locale; Flags: recursesubdirs createallsubdirs
73 Source: mercurial\locale\*.*; DestDir: {app}\locale; Flags: recursesubdirs createallsubdirs skipifsourcedoesntexist
76 74 Source: mercurial\templates\*.*; DestDir: {app}\Templates; Flags: recursesubdirs createallsubdirs
77 75 Source: CONTRIBUTORS; DestDir: {app}; DestName: Contributors.txt
78 76 Source: COPYING; DestDir: {app}; DestName: Copying.txt
@@ -99,6 +97,7 b' Filename: "{app}\\add_path.exe"; Paramete'
99 97
100 98 [UninstallDelete]
101 99 Type: files; Name: "{app}\hg.exe.local"
100
102 101 [Code]
103 102 var
104 103 WriteFile: Boolean;
@@ -3,11 +3,14 b' jury-rigged fashion.'
3 3
4 4 It has the following prerequisites, at least as I build it:
5 5
6 Python for Windows
7 http://www.python.org/ftp/python/2.4.3/python-2.4.3.msi
6 Python 2.6 for Windows
7 http://www.python.org/download/releases/
8 8
9 MinGW
9 A compiler:
10 either MinGW
10 11 http://www.mingw.org/
12 or Microsoft Visual C++ 2008 SP1 Express Edition
13 http://www.microsoft.com/express/Downloads/Download-2008.aspx
11 14
12 15 Python for Windows Extensions
13 16 http://sourceforge.net/projects/pywin32/
@@ -15,19 +18,19 b' It has the following prerequisites, at l'
15 18 mfc71.dll (just download, don't install; not needed for Python 2.6)
16 19 http://starship.python.net/crew/mhammond/win32/
17 20
18 Visual C++ 2008 redistributable package (needed for Python 2.6)
19 http://www.microsoft.com/downloads/details.aspx?familyid=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en
21 Visual C++ 2008 SP1 redistributable package (needed for >= Python 2.6 or if you compile with MSVC)
22 http://www.microsoft.com/downloads/details.aspx?FamilyID=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2
20 23
21 24 The py2exe distutils extension
22 25 http://sourceforge.net/projects/py2exe/
23 26
24 GnuWin32 gettext utility
27 GnuWin32 gettext utility (if you want to build translations)
25 28 http://gnuwin32.sourceforge.net/packages/gettext.htm
26 29
27 30 Inno Setup
28 31 http://www.jrsoftware.org/isdl.php#qsp
29 32
30 Get and install ispack-5.3.4.exe which includes Inno Setup Processor,
33 Get and install ispack-5.3.10.exe which includes Inno Setup Processor,
31 34 which is necessary to package Mercurial.
32 35
33 36 ISTool - optional
@@ -45,41 +48,37 b' Once you have all this installed and bui'
45 48 Mercurial repository you want to package, and name the repo
46 49 C:\hg\hg-release.
47 50
48 In a shell, build a standalone copy of the hg.exe program:
51 In a shell, build a standalone copy of the hg.exe program.
49 52
53 Building instructions for MinGW:
50 54 python setup.py build -c mingw32
51 python setup.py py2exe -b 1
52
55 python setup.py py2exe -b 2
53 56 Note: the previously suggested combined command of "python setup.py build -c
54 mingw32 py2exe -b 1" doesn't work correctly anymore as it doesn't include the
57 mingw32 py2exe -b 2" doesn't work correctly anymore as it doesn't include the
55 58 extensions in the mercurial subdirectory.
56
57 59 If you want to create a file named setup.cfg with the contents:
58
59 60 [build]
60 61 compiler=mingw32
62 you can skip the first build step.
61 63
62 you can skip the first build step.
64 Building instructions with MSVC 2008 SP1 Express Edition:
65 python setup.py py2exe -b 2
63 66
64 67 Copy add_path.exe into the dist directory that just got created.
65 68
66 69 If you are using Python up to version 2.5.4, copy mfc71.dll into the dist
67 70 directory that just got created.
68 71
69 If you are using Python 2.6 or later, after installing the Visual C++ 2008
70 redistributable package copy into the dist directory that just got created the
71 following files:
72 - from the directory starting with
73 Windows/WinSxS/x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8
74 the files named: msvcm90.dll, msvcp90.dll and msvcr90.dll
75 - from the directory starting with
76 Windows/WinSxS/x86_Microsoft.VC90.MFC_1fc8b3b9a1e18e3b_9.0.21022.8
77 the files named: mfc90.dll, mfc90u.dll, mfcm90.dll and mfcm90u.dll
78 - from the directory named Windows/WinSxS/Manifests, the manifest file
79 starting with x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8
80 (rename it to Microsoft.VC90.CRT.manifest) and the manifest file starting
81 with x86_Microsoft.VC90.MFC_1fc8b3b9a1e18e3b_9.0.21022.8 (rename it to
82 Microsoft.VC90.MFC.manifest)
72 If you are using Python 2.6 or later, or if you are using MSVC 2008 to compile
73 mercurial, you must include the C runtime libraries in the installer. To do so,
74 install the Visual C++ 2008 SP1 redistributable package. Then in your
75 windows\winsxs folder, locate the folder containing the dlls version 9.0.30729.
76 For x86, it should be named like x86_Microsoft.VC90.CRT_(...)_9.0.30729(...).
77 Copy the files named msvcm90.dll, msvcp90.dll and msvcr90.dll into the dist
78 directory.
79 Then in the windows\winsxs\manifests folder, locate the corresponding manifest
80 file (x86_Microsoft.VC90.CRT_(...)_9.0.30729(...).manifest for x86), copy it in
81 the dist directory and rename it to Microsoft.VC90.CRT.manifest.
83 82
84 83 Before building the installer, you have to build Mercurial HTML documentation
85 84 (or fix mercurial.iss to not reference the doc directory):
@@ -94,21 +93,23 b' file and type Ctrl-F9 to compile the ins'
94 93 Otherwise you run the Inno Setup compiler. Assuming it's in the path
95 94 you should execute:
96 95
97 iscc contrib\win32\mercurial.iss /DVERSION=foo
96 iscc contrib\win32\mercurial.iss /dVERSION=foo
98 97
99 98 Where 'foo' is the version number you would like to see in the
100 99 'Add/Remove Applications' tool. The installer will be placed into
101 100 a directory named Output/ at the root of your repository.
101 If the /dVERSION=foo parameter is not given in the command line, the
102 installer will retrieve the version information from the __version__.py file.
102 103
103 104 To automate the steps above you may want to create a batchfile based on the
104 following:
105 following (MinGW build chain):
105 106
106 107 echo [build] > setup.cfg
107 108 echo compiler=mingw32 >> setup.cfg
108 python setup.py py2exe -b 1
109 python setup.py py2exe -b 2
109 110 cd doc
110 111 mingw32-make html
111 112 cd ..
112 iscc contrib\win32\mercurial.iss /DVERSION=snapshot
113 iscc contrib\win32\mercurial.iss /dVERSION=snapshot
113 114
114 115 and run it from the root of the hg repository (c:\hg\hg-release).
General Comments 0
You need to be logged in to leave comments. Login now