comparison contrib/packaging/inno/readme.txt @ 41847:0f49b56d5d74

inno: replace add_path.exe with a Pascal script While attempting to build the Inno installer, I was unable to find a copy of add_path.exe from the source site previously listed in the docs. Some quick Googling revealed that achieving this functionality in native Pascal scripts seems to be preferred these days. This commit vendors "Modify Path" (fetched from https://www.legroom.net/software/modpath) and plugs it into our Inno config file per its instructions. The existing Inno installer appears to only modify PATH for the current user (as opposed to at the system level). I've maintained this behavior with Modify Path. Although it would be trivial to change or add checkboxes to control the behavior. I'll leave this as a follow-up. Differential Revision: https://phab.mercurial-scm.org/D6060
author Gregory Szorc <gregory.szorc@gmail.com>
date Thu, 28 Feb 2019 12:54:48 -0800
parents 765f836a9484
children 27eca52b1874
comparison
equal deleted inserted replaced
41846:765f836a9484 41847:0f49b56d5d74
38 which is necessary to package Mercurial. 38 which is necessary to package Mercurial.
39 39
40 ISTool - optional 40 ISTool - optional
41 http://www.istool.org/default.aspx/ 41 http://www.istool.org/default.aspx/
42 42
43 add_path (you need only add_path.exe in the zip file)
44 http://www.barisione.org/apps.html#add_path
45
46 Docutils 43 Docutils
47 http://docutils.sourceforge.net/ 44 http://docutils.sourceforge.net/
48 45
49 CA Certs file 46 CA Certs file
50 http://curl.haxx.se/ca/cacert.pem 47 http://curl.haxx.se/ca/cacert.pem
74 python setup.py py2exe -b 2 71 python setup.py py2exe -b 2
75 for 64-bit: 72 for 64-bit:
76 "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86_amd64 73 "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86_amd64
77 python setup.py py2exe -b 3 74 python setup.py py2exe -b 3
78 75
79 Copy add_path.exe and cacert.pem files into the dist directory that just got created. 76 Copy cacert.pem files into the dist directory that just got created.
80 77
81 If you are using Python 2.6 or later, or if you are using MSVC 2008 to compile 78 If you are using Python 2.6 or later, or if you are using MSVC 2008 to compile
82 mercurial, you must include the C runtime libraries in the installer. To do so, 79 mercurial, you must include the C runtime libraries in the installer. To do so,
83 install the Visual C++ 2008 redistributable package. Then in your windows\winsxs 80 install the Visual C++ 2008 redistributable package. Then in your windows\winsxs
84 folder, locate the folder containing the dlls version 9.0.21022.8. 81 folder, locate the folder containing the dlls version 9.0.21022.8.
97 cd doc 94 cd doc
98 mingw32-make html 95 mingw32-make html
99 cd .. 96 cd ..
100 97
101 If you use ISTool, you open the 98 If you use ISTool, you open the
102 C:\hg\hg-release\contrib\packaging\inno\mercurial.iss 99 C:\hg\hg-release\contrib\packaging\inno-installer\mercurial.iss
103 file and type Ctrl-F9 to compile the installer file. 100 file and type Ctrl-F9 to compile the installer file.
104 101
105 Otherwise you run the Inno Setup compiler. Assuming it's in the path 102 Otherwise you run the Inno Setup compiler. Assuming it's in the path
106 you should execute: 103 you should execute:
107 104
108 iscc contrib\packaging\inno\mercurial.iss /dVERSION=foo 105 iscc contrib\packaging\inno-installer\mercurial.iss /dVERSION=foo
109 106
110 Where 'foo' is the version number you would like to see in the 107 Where 'foo' is the version number you would like to see in the
111 'Add/Remove Applications' tool. The installer will be placed into 108 'Add/Remove Applications' tool. The installer will be placed into
112 a directory named Output/ at the root of your repository. 109 a directory named Output/ at the root of your repository.
113 If the /dVERSION=foo parameter is not given in the command line, the 110 If the /dVERSION=foo parameter is not given in the command line, the
114 installer will retrieve the version information from the __version__.py file. 111 installer will retrieve the version information from the __version__.py file.
115 112
116 If you want to build an installer for a 64-bit mercurial, add /dARCH=x64 to 113 If you want to build an installer for a 64-bit mercurial, add /dARCH=x64 to
117 your command line: 114 your command line:
118 iscc contrib\packaging\inno\mercurial.iss /dARCH=x64 115 iscc contrib\packaging\inno-installer\mercurial.iss /dARCH=x64
119 116
120 To automate the steps above you may want to create a batchfile based on the 117 To automate the steps above you may want to create a batchfile based on the
121 following (MinGW build chain): 118 following (MinGW build chain):
122 119
123 echo [build] > setup.cfg 120 echo [build] > setup.cfg
124 echo compiler=mingw32 >> setup.cfg 121 echo compiler=mingw32 >> setup.cfg
125 python setup.py py2exe -b 2 122 python setup.py py2exe -b 2
126 cd doc 123 cd doc
127 mingw32-make html 124 mingw32-make html
128 cd .. 125 cd ..
129 iscc contrib\packaging\inno\mercurial.iss /dVERSION=snapshot 126 iscc contrib\packaging\inno-installer\mercurial.iss /dVERSION=snapshot
130 127
131 and run it from the root of the hg repository (c:\hg\hg-release). 128 and run it from the root of the hg repository (c:\hg\hg-release).