##// END OF EJS Templates
win32: 64-bit Inno Setup installer
Pascal Quantin -
r12263:5f194160 default
parent child Browse files
Show More
@@ -16,10 +16,22 b''
16 #pragma message "Detected Version: " + VERSION
16 #pragma message "Detected Version: " + VERSION
17 #endif
17 #endif
18
18
19 #ifndef ARCH
20 #define ARCH = "x86"
21 #endif
22
19 [Setup]
23 [Setup]
20 AppCopyright=Copyright 2005-2010 Matt Mackall and others
24 AppCopyright=Copyright 2005-2010 Matt Mackall and others
21 AppName=Mercurial
25 AppName=Mercurial
26 #if ARCH == "x64"
27 AppVerName=Mercurial {#VERSION} (64-bit)
28 OutputBaseFilename=Mercurial-{#VERSION}-x64
29 ArchitecturesAllowed=x64
30 ArchitecturesInstallIn64BitMode=x64
31 #else
22 AppVerName=Mercurial {#VERSION}
32 AppVerName=Mercurial {#VERSION}
33 OutputBaseFilename=Mercurial-{#VERSION}
34 #endif
23 InfoAfterFile=contrib/win32/postinstall.txt
35 InfoAfterFile=contrib/win32/postinstall.txt
24 LicenseFile=COPYING
36 LicenseFile=COPYING
25 ShowLanguageDialog=yes
37 ShowLanguageDialog=yes
@@ -29,7 +41,6 b' AppSupportURL=http://mercurial.selenic.c'
29 AppUpdatesURL=http://mercurial.selenic.com/
41 AppUpdatesURL=http://mercurial.selenic.com/
30 AppID={{4B95A5F1-EF59-4B08-BED8-C891C46121B3}
42 AppID={{4B95A5F1-EF59-4B08-BED8-C891C46121B3}
31 AppContact=mercurial@selenic.com
43 AppContact=mercurial@selenic.com
32 OutputBaseFilename=Mercurial-{#VERSION}
33 DefaultDirName={pf}\Mercurial
44 DefaultDirName={pf}\Mercurial
34 SourceDir=..\..
45 SourceDir=..\..
35 VersionInfoDescription=Mercurial distributed SCM (version {#VERSION})
46 VersionInfoDescription=Mercurial distributed SCM (version {#VERSION})
@@ -61,11 +72,16 b' Source: contrib\\mergetools.hgrc; DestDir'
61 Source: contrib\win32\mercurial.ini; DestDir: {app}; DestName: Mercurial.ini; Check: CheckFile; AfterInstall: ConcatenateFiles;
72 Source: contrib\win32\mercurial.ini; DestDir: {app}; DestName: Mercurial.ini; Check: CheckFile; AfterInstall: ConcatenateFiles;
62 Source: contrib\win32\postinstall.txt; DestDir: {app}; DestName: ReleaseNotes.txt
73 Source: contrib\win32\postinstall.txt; DestDir: {app}; DestName: ReleaseNotes.txt
63 Source: dist\hg.exe; DestDir: {app}; AfterInstall: Touch('{app}\hg.exe.local')
74 Source: dist\hg.exe; DestDir: {app}; AfterInstall: Touch('{app}\hg.exe.local')
75 #if ARCH == "x64"
76 Source: dist\*.dll; Destdir: {app}
77 Source: dist\*.pyd; Destdir: {app}
78 #else
64 Source: dist\python*.dll; Destdir: {app}; Flags: skipifsourcedoesntexist
79 Source: dist\python*.dll; Destdir: {app}; Flags: skipifsourcedoesntexist
65 Source: dist\library.zip; DestDir: {app}
66 Source: dist\msvc*.dll; DestDir: {app}; Flags: skipifsourcedoesntexist
80 Source: dist\msvc*.dll; DestDir: {app}; Flags: skipifsourcedoesntexist
81 Source: dist\w9xpopen.exe; DestDir: {app}
82 #endif
67 Source: dist\Microsoft.VC*.CRT.manifest; DestDir: {app}; Flags: skipifsourcedoesntexist
83 Source: dist\Microsoft.VC*.CRT.manifest; DestDir: {app}; Flags: skipifsourcedoesntexist
68 Source: dist\w9xpopen.exe; DestDir: {app}
84 Source: dist\library.zip; DestDir: {app}
69 Source: dist\add_path.exe; DestDir: {app}
85 Source: dist\add_path.exe; DestDir: {app}
70 Source: doc\*.html; DestDir: {app}\Docs
86 Source: doc\*.html; DestDir: {app}\Docs
71 Source: doc\style.css; DestDir: {app}\Docs
87 Source: doc\style.css; DestDir: {app}\Docs
@@ -1,7 +1,8 b''
1 The standalone Windows installer for Mercurial is built in a somewhat
1 The standalone Windows installer for Mercurial is built in a somewhat
2 jury-rigged fashion.
2 jury-rigged fashion.
3
3
4 It has the following prerequisites, at least as I build it:
4 It has the following prerequisites. Ensure to take the packages
5 matching the mercurial version you want to build (32-bit or 64-bit).
5
6
6 Python 2.6 for Windows
7 Python 2.6 for Windows
7 http://www.python.org/download/releases/
8 http://www.python.org/download/releases/
@@ -19,7 +20,10 b' It has the following prerequisites, at l'
19 http://starship.python.net/crew/mhammond/win32/
20 http://starship.python.net/crew/mhammond/win32/
20
21
21 Visual C++ 2008 SP1 redistributable package (needed for >= Python 2.6 or if you compile with MSVC)
22 Visual C++ 2008 SP1 redistributable package (needed for >= Python 2.6 or if you compile with MSVC)
23 for 32-bit:
22 http://www.microsoft.com/downloads/details.aspx?FamilyID=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2
24 http://www.microsoft.com/downloads/details.aspx?FamilyID=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2
25 for 64-bit:
26 http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E
23
27
24 The py2exe distutils extension
28 The py2exe distutils extension
25 http://sourceforge.net/projects/py2exe/
29 http://sourceforge.net/projects/py2exe/
@@ -62,7 +66,12 b' compiler=mingw32'
62 you can skip the first build step.
66 you can skip the first build step.
63
67
64 Building instructions with MSVC 2008 SP1 Express Edition:
68 Building instructions with MSVC 2008 SP1 Express Edition:
69 for 32-bit:
70 "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86
65 python setup.py py2exe -b 2
71 python setup.py py2exe -b 2
72 for 64-bit:
73 "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86_amd64
74 python setup.py py2exe -b 3
66
75
67 Copy add_path.exe into the dist directory that just got created.
76 Copy add_path.exe into the dist directory that just got created.
68
77
@@ -74,11 +83,13 b' mercurial, you must include the C runtim'
74 install the Visual C++ 2008 SP1 redistributable package. Then in your
83 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.
84 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(...).
85 For x86, it should be named like x86_Microsoft.VC90.CRT_(...)_9.0.30729(...).
86 For x64, it should be named like amd64_Microsoft.VC90.CRT_(...)_9.0.30729(...).
77 Copy the files named msvcm90.dll, msvcp90.dll and msvcr90.dll into the dist
87 Copy the files named msvcm90.dll, msvcp90.dll and msvcr90.dll into the dist
78 directory.
88 directory.
79 Then in the windows\winsxs\manifests folder, locate the corresponding manifest
89 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
90 file (x86_Microsoft.VC90.CRT_(...)_9.0.30729(...).manifest for x86,
81 the dist directory and rename it to Microsoft.VC90.CRT.manifest.
91 amd64_Microsoft.VC90.CRT_(...)_9.0.30729(...).manifest for x64), copy it in the
92 dist directory and rename it to Microsoft.VC90.CRT.manifest.
82
93
83 Before building the installer, you have to build Mercurial HTML documentation
94 Before building the installer, you have to build Mercurial HTML documentation
84 (or fix mercurial.iss to not reference the doc directory):
95 (or fix mercurial.iss to not reference the doc directory):
@@ -101,6 +112,10 b' a directory named Output/ at the root of'
101 If the /dVERSION=foo parameter is not given in the command line, the
112 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.
113 installer will retrieve the version information from the __version__.py file.
103
114
115 If you want to build an installer for a 64-bit mercurial, add /dARCH=x64 to
116 your command line:
117 iscc contrib\win32\mercurial.iss /dARCH=x64
118
104 To automate the steps above you may want to create a batchfile based on the
119 To automate the steps above you may want to create a batchfile based on the
105 following (MinGW build chain):
120 following (MinGW build chain):
106
121
General Comments 0
You need to be logged in to leave comments. Login now