19 http://sourceforge.net/projects/py2exe/ |
19 http://sourceforge.net/projects/py2exe/ |
20 |
20 |
21 Inno Setup |
21 Inno Setup |
22 http://www.jrsoftware.org/isinfo.php |
22 http://www.jrsoftware.org/isinfo.php |
23 |
23 |
24 ISTool |
24 ISTool - optional |
25 http://www.istool.org/default.aspx/ |
25 http://www.istool.org/default.aspx/ |
26 |
26 |
27 add_path (you need only add_path.exe in the zip file) |
27 add_path (you need only add_path.exe in the zip file) |
28 http://www.barisione.org/apps.html#add_path |
28 http://www.barisione.org/apps.html#add_path |
29 |
29 |
33 Mercurial repository you want to package, and name the repo |
33 Mercurial repository you want to package, and name the repo |
34 C:\hg\hg-release. |
34 C:\hg\hg-release. |
35 |
35 |
36 In a shell, build a standalone copy of the hg.exe program: |
36 In a shell, build a standalone copy of the hg.exe program: |
37 |
37 |
38 python setup.py build -c mingw32 py2exe -b 1 |
38 python setup.py build -c mingw32 |
|
39 python setup.py py2exe -b 1 |
39 |
40 |
40 Copy mfc71.dll and add_path.exe into the dist directory that just |
41 Note: the previously suggested combined command of "python setup.py build -c |
41 got created. |
42 mingw32 py2exe -b 1" doesn't work correctly anymore as it doesn't include the |
|
43 extensions in the mercurial subdirectory. |
42 |
44 |
43 Run ISTool, and open the C:\hg\hg-release\contrib\win32\mercurial.iss |
45 If you want to create a file named setup.cfg with the contents: |
44 file. |
|
45 |
46 |
46 In ISTool, type Ctrl-F9 to compile the installer file. The actual |
47 [build] |
47 installer will be in the C:\hg\hg-release\Output directory. |
48 compiler=mingw32 |
|
49 |
|
50 you can skip the first build step. |
|
51 |
|
52 Copy mfc71.dll and add_path.exe into the dist directory that just got created. |
|
53 |
|
54 If you use ISTool, you open the C:\hg\hg-release\contrib\win32\mercurial.iss |
|
55 file and type Ctrl-F9 to compile the installer file. |
|
56 |
|
57 Otherwise you run the Inno Setup compiler. Assuming it's on the path you run: |
|
58 |
|
59 iscc contrib\win32\mercurial.iss |
|
60 |
|
61 The actual installer will be in the C:\hg\hg-release\Output directory. |
|
62 |
|
63 To automate the steps above you may want to create a batchfile based on the |
|
64 following: |
|
65 |
|
66 echo [build] > setup.cfg |
|
67 echo compiler=mingw32 >> setup.cfg |
|
68 python setup.py py2exe -b 1 |
|
69 iscc contrib\win32\mercurial.iss |
|
70 |
|
71 and run it from the root of the hg repository (c:\hg\hg-release). |