1
Information about the installation program for Subversion for Windows
2
=====================================================================
3
$LastChangedDate: 2005-03-07 09:44:12 -0500 (Mon, 07 Mar 2005) $
8
* Introduction (read first!)
10
* Programs used for the Subversion installer and instructions
14
- Packages for converting XML documentation
15
- MS HTML Help Workshop
17
* svn-x.xx.x-setup.exe's command line options
23
This document describes the packages\win32-innosetup directory of the
24
Subversion repository and tells you how you can roll out your own Windows
25
installer for Subversion.
27
If you have trouble, make sure that you use the packages versions that are
28
noted here (if noted) before asking for help.
30
If you haven't done it already: -Please, Check out the subversion sources to
31
a place you like and download the programs and packages from the links below.
32
Reading the "Directory structure" part should be the next.
36
Inno Setup QuickStart Pack 5.0.8. This package gives you Inno Setup (IS)
37
and a sutable version of "Inno Setup Pre Processor" (ISPP):
38
http://www.jrsoftware.org/isdl.php
42
UninsHs-1.6 adds "Modify/Repair/Uninstall" capabilities for the installer.
43
http://www.han-soft.biz/uninshs.php
47
We need the sources of this book in order to make the MS HTML-documentation.
48
Fire up a console window (a so called DOS box) and download the sources via
49
Subversion to a location by your choice:
50
svn co http://svn.red-bean.com/svnbook/trunk svnbook
55
Perl 5.8.0 or better with the libwin32 bundle (included in ActivePerl):
56
http://www.activestate.com/ActivePerl/
57
or make your own (and compile the module libwin32):
59
http://www.cpan.org/modules/by-module/Win32/ (libwin32-X.XXX.zip)
63
Point your browser to:
64
http://www.zlatkovic.com/pub/libxml/
65
and grab the following packages:
73
Point your browser to:
74
http://sourceforge.net/project/showfiles.php?group_id=21935
75
and grab the most recent docbook-xsl-*.**.*.zip file
79
Point your browser to:
80
http://msdn.microsoft.com/library/tools/htmlhelp/chm/hh1start.htm
83
Read in the section named "Programs used for the Subversion Windows
84
installer" below about the packages for notes and info on installing
85
and using the downloaded packages.
91
The setup system must consider many dynamic data when creating the
92
installation program. This is things such as paths, different makers of the
93
setup (they may have different compilers and paths in their system) and that
94
binarys and contents might vary.
96
All this data are maintained by the file svn_dynamics.iss which has a lot
97
variables that is processed by Inno Setup Pre Processor (ISPP) during the
98
compiling of the setup.
99
A template can be found in the packages\win32-innosetup\templates directory.
100
Copy this file to the packages\win32-innosetup directory and edit it
101
according to the documentation inside it. This file is not under version
102
control (the template is) since the contents will vary depending on the
105
The Inno setup file lives under the packages\win32-innosetup directory
106
of the Subversion repository and are using folders which are both visible
107
and "hidden". The hidden folders have the svn property svn:ignore and only
108
exists on your machine.
110
The setup system gets its files (and have files) from two kinds of places:
111
* Static: This files are always somewhere in the repository.
112
* Dynamic: This files can be picked up anywhere from your computer (even from
115
Visible folders looks like this: [ ] and hidden folders like this: [h].
117
Do you think that is looks complicated? -Dont worry! The programs in the
118
tools folder takes care of copying and preparing files when your
119
svn_dynamics.iss file are edited and set correctly.
121
Static paths (in the Subversion repository):
123
[ ] win32-innosetup (svn.iss, main folder for Inno Setup)
124
+->[ ] images (Various images used by the setup)
125
+->[h] in (you can set your path_setup_in here if you want to, see below)
126
+->[h] out (you can set your path_setup_out here if you want to, see below)
127
+->[ ] templates (misc templates used by various tools and the setup)
128
+->[ ] tools (misc. stuff for making and helping to make a setup)
129
| +->[ ] svnpath (C sources for the svnpath.exe program)
131
Dynamic paths (files from anywhere on your machine)
132
---------------------------------------------------
134
This paths are determined by values in the file svn_dynamics.iss. The value
135
names of this path variables is:
137
Path variables: Setup files:
138
--------------- ---------------------------------------------------------
139
path_setup_out Where svn-X.XX.X-rXXXX-setup.exe is to find after
141
path_setup_in Contains misc. files to include in the setup
142
path_is Path to the Inno Setup executable's directory
143
path_svnclient svn.exe
144
path_svnadmin svnadmin.exe
145
path_svnlook svnlook.exe
146
path_svnserve svnserve.exe
147
path_svnversion svnversion.exe
148
path_svndumpfilter svndumpfilter.exe
149
path_davsvn mod_dav_svn.so
150
path_authzsvn mod_authz_svn.so
151
path_svnpath svnpath.exe
153
path_brkdb_bin db_*.exe, ex_*.exe, excxx_*.exe, libdb4*.dll, libdb4*.exp
154
path_brkdb_lib libdb4*.lib
155
path_brkdb_inc db.h, db_cxx.h)
156
path_brkdb_inc2 cxx_common.h, cxx_except.h
157
path_ssl libeay32.dll, ssleay32.dll
160
Programs used for the Subversion Windows installer
161
==================================================
165
The installation program is the excellent Inno Setup made by Jordan Russell
166
(with a lot of additional code by Martijn Laan, mostly the scripting part).
167
IS and friends are probably all you need for 99% of any Windows installer
168
needs made for the various flavours of Windows and has proven to be extremely
171
The Inno Setup used by Subversion are extended with "Inno Setup Pre
172
Processor" made by Alex Yackimoff. "Inno Setup QuickStart Pack" includes
173
both IS and ISPP so all you need is "Inno Setup QuickStart Pack"
175
Installation notes: None
179
A good installation script for any installation programs are usually very
180
complicated and requires good script editing software.
181
The program used for this is ISTool and it's syntax high-lightning makes it
182
the perfect companion to IS and friends.
184
The author - Bj�rnar Henden are doing a great job by updating his program
185
each time Inno Setup are updated.
187
Installation notes: Can be retrieved by "Inno Setup QuickStart Pack"
191
Inno Setup does not currently edit the systems PATH environment so we need
193
This C program is used for updating the user's path to include/exclude the
194
Subversion path after installing/un-installing Subversion.
195
You can find the sources for this program in the Subversion source tree under
196
packages\win32-innosetup\tools\svnpath.
197
Have a look in the file main.c for info on how to compile the program.
199
If you don't want to compile it then download it from:
200
http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=2728
202
Unzip the file and put the svnpath.exe in the directory
203
packages\win32-innosetup\tools\svnpath
207
Unpack the zipfile and place UninsHs.exe in packages\win32-innosetup
209
libxml, libxslt and iconv
210
-------------------------
211
We need to include some documentation and this tools will help us to convert
212
the XML files in the doc directory in the repository to a Windows HTML help
216
Unpack the zip-files and place the contents of the 'lib' and 'util' folders
217
from each unzipped packages in a folder which is mentioned in your PATH
218
environment variable.
222
This package is needed for making documentation.
224
Unzip the files inside docbook-xsl-*.**.*.zip to a folder named xsl which
225
resides under doc\book\tools in your working copy of the svnbook repository.
226
Rename the unpacked top level folder from "docbook-xsl-x.xx.x" to "xsl", the
227
result should be like this:
232
Use a (native Windows) Perl 5.8.0 or better with the libwin32 bundle for
233
automating the setup.
236
If you don't want to use Active Perl, then it's trivial to compile Perl by
237
yourself if you have MS VC5 (or better) or MinGW. Just remember to compile
238
the Perl modules included in libwin32 when Perl itself is done.
244
The programs/scripts in the packages\win32-innosetup\tools folder will take
245
care of making the Subversion documentation (a Windows HTML help file) from
246
the sources in the doc directory of the subversion repository and setting
247
version info on the setup. Just follow the steps below and you're set:
249
1. Make sure that all the programs needed by INNO are installed as described
250
earlier in this file.
252
2. If you haven't done it already: Copy the file "svn_dynamics.iss" from
253
the packages\win32-innosetup\templates folder to packages\win32-innosetup
254
in your WC and edit it according to the documentation inside it.
256
3. Copy the file svn_version.iss from packages\win32-innosetup\templates to
257
packages\win32-innosetup and edit it according to the documentation
260
4. Make sure that all the files to include in the setup are where they are
261
supposed to be according to the svn_dynamics.iss file.
263
5. Now, you have two different ways of making the documentation and the
265
A. Change directory (cd) to the packages\win32-innosetup\tools folder on
266
your working Subversion repository and run the following command and
267
follow the instructions:
270
B. You may want to make an automatic setup (nightly build, anything else),
271
just run the packages\win32-innosetup\tools\mk_distro file:
272
path\to\packages\win32-innosetup\tools\mk_distro -a
274
A shiny new svn-x.xx.x-setup.exe should now be in your path_setup_out
275
folder if you have done everything right.
279
svn-x.xx.x-setup.exe's command line options
280
===========================================
282
The text below are more or less copied directly from the Inno Setup Help file
283
and describes the parameters that the Subversion installer Setup file
286
The Setup program accepts optional command line parameters. These can be
287
useful to system administrators, and to other programs calling the Setup
291
Disables the This will install... Do you wish to continue? prompt at the
292
beginning of Setup. Of course, this will have no effect if the
293
DisableStartupPrompt [Setup] section directive was set to yes.
296
Instructs Setup to be silent or very silent. When Setup is silent the
297
wizard and the background window are not displayed but the installation
298
progress window is. When a setup is very silent this installation progress
299
window is not displayed. Everything else is normal so for example error
300
messages during installation are displayed and the startup prompt is (if
301
you haven't disabled it with DisableStartupPrompt or the '/SP-' command
302
line option explained above)
304
If a restart is necessary and the '/NORESTART' command isn't used (see
305
below) and Setup is silent, it will display a Reboot now? message box. If
306
it's very silent it will reboot without asking.
309
Prevents the user from cancelling during the installation process, by
310
disabling the Cancel button and ignoring clicks on the close button. Useful
314
Instructs Setup not to reboot even if it's necessary.
317
Instructs Setup to load the settings from the specified file after having
318
checked the command line. This file can be prepared using the '/SAVEINF='
319
command as explained below.
321
Don't forget to use quotes if the filename contains spaces.
324
Instructs Setup to save installation settings to the specified file.
326
Don't forget to use quotes if the filename contains spaces.
329
Overrides the default directory name displayed on the Select Destination
330
Location wizard page. A fully qualified pathname must be specified.
333
Overrides the default folder name displayed on the Select Start Menu Folder
334
wizard page. If the [Setup] section directive DisableProgramGroupPage was
335
set to yes, this command line parameter is ignored.
338
Instructs Setup to initially check the Don't create any icons check box on
339
the Select Start Menu Folder wizard page.
341
/COMPONENTS="comma separated list of component names"
342
Overrides the default components settings. Using this command line
343
parameter causes Setup to automatically select a custom type.