source: installer/install.xml @ f200d5c

Last change on this file since f200d5c was 9ce8fce, checked in by zzz <zzz@…>, 5 years ago

propagate from branch 'i2p.i2p.zzz.sam' (head b328f0edb961263d7606ea964ecb3f7c319ca1cf)

to branch 'i2p.i2p' (head 7b4c0525be182722ef2cc7b564691f27d997da3b)

  • Property mode set to 100644
File size: 14.6 KB
Line 
1<?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
2
3<installation version="1.0">
4
5    <info>
6        <appname>i2p</appname>
7        <appversion>0.9.23</appversion>
8        <authors>
9            <author name="I2P" email="https://geti2p.net/"/>
10        </authors>
11        <url>https://geti2p.net/</url>
12        <javaversion>1.7</javaversion>
13
14        <!-- use pack200 compression, saves about 33%
15             see http://java.sun.com/j2se/1.5.0/docs/guide/deployment/deployment-guide/pack200.html
16             Unpack fails on java 1.5
17             see http://jira.codehaus.org/browse/IZPACK-404
18             <pack200 />
19         -->
20
21        <!-- adding this element will make the installer attempt to launch itself with administrator permissions,
22             but see http://www.nabble.com/Classpath-security-issues-on-Vista-td22456230.html
23             which says it isn't sufficient:
24
25                Just to let you know that I managed to identify and resolve the problem (in
26                case anyone else has it).  The default installation directory for Vista is
27                under "Program Files" which is a "special" directory which can only be
28                written to (create sub-directories) by administrators.  However, stupid
29                Vista downgrades an administrator to a normal user when the program is run
30                via the application shortcut menu.  As you suggested, I added a script which
31                runs ICACLS which resolved the problem, i.e.
32
33                icacls %1 /grant Users:F /T > priv.log
34
35                The command needs to be run as a Process rather than as an executable tag in
36                order to pass $INSTALL_PATH as a parameter.
37         -->
38        <run-privileged condition="izpack.windowsinstall.vista|izpack.windowsinstall.7"/>
39    </info>
40
41    <guiprefs width="590" height="356" resizable="yes">
42        <laf name="liquid">
43            <os family="unix"/>
44        </laf>
45        <!-- full names, not iso3 codes -->
46        <modifier key="langDisplayType" value="native" />
47    </guiprefs>
48
49    <locale>
50        <langpack iso3="eng"/>
51        <langpack iso3="cat"/>
52        <langpack iso3="chn"/>
53        <langpack iso3="cze"/>
54        <langpack iso3="dan"/>
55        <langpack iso3="deu"/>
56        <langpack iso3="ell"/>
57        <langpack iso3="fa"/>
58        <langpack iso3="fin"/>
59        <langpack iso3="fra"/>
60        <langpack iso3="glg"/>
61        <langpack iso3="hun"/>
62        <langpack iso3="ind"/>
63        <langpack iso3="ita"/>
64        <langpack iso3="jpn"/>
65        <langpack iso3="kor"/>
66        <langpack iso3="mys"/>
67        <langpack iso3="ned"/>
68        <langpack iso3="nor"/>
69        <langpack iso3="pol"/>
70        <langpack iso3="por"/>
71        <langpack iso3="rom"/>
72        <langpack iso3="rus"/>
73        <langpack iso3="scg"/>
74        <langpack iso3="spa"/>
75        <langpack iso3="svk"/>
76        <langpack iso3="swe"/>
77        <langpack iso3="tur"/>
78        <langpack iso3="twn"/>
79        <langpack iso3="ukr"/>
80    </locale>
81
82    <!--
83        The <os> tag can be used to restrict the inclusion into the uninstaller
84        to a specific operating system family, architecture or version.
85        The inclusion into the installer will be always done.
86        Here's a sample :
87
88        <native type="izpack" name="ShellLink.dll">
89            <os family="windows"/>
90        </native>
91
92        This doesn't appear to be necessary, the dlls don't get put in Uninstaller/uninstaller.jar on linux
93     -->
94    <native type="izpack" name="ShellLink.dll" />
95    <native type="izpack" name="ShellLink_x64.dll" />
96
97    <resources>
98        <res id="Installer.image" src="installer/resources/i2plogo.png" />
99        <res id="InfoPanel.info" src="installer/resources/readme.license.txt"/>
100        <!-- <res id="ProcessPanel.Spec.xml" src="installer/resources/ProcessPanel.Spec.xml"/> -->
101        <res id="shortcutSpec.xml" src="installer/resources/shortcutSpec.xml" />
102        <res id="XInfoPanel.info" src="installer/resources/start-i2p.txt" />
103    </resources>
104
105    <panels>
106        <panel classname="HelloPanel"/>
107        <panel classname="InfoPanel"/>
108        <panel classname="PacksPanel"><os family="windows" /></panel>
109        <panel classname="TargetPanel"/>
110        <panel classname="ShortcutPanel"><os family="windows" /></panel>
111        <panel classname="InstallPanel"/>
112        <!-- <panel classname="ProcessPanel"><os family="windows" /></panel> -->
113        <!-- unix|mac doesn't work, displays for windows too -->
114
115        <!--
116         Using the condition this way, the panel is shown on everything *but* Windows.
117         -->
118    <panel classname="XInfoPanel" condition="!izpack.windowsinstall" />
119    <panel classname="SimpleFinishPanel"/>
120</panels>
121
122    <packs>
123        <pack name="Base" required="yes">
124            <description>Base installation files</description>
125            <fileset dir="pkg-temp" includes="**/*" targetdir="$INSTALL_PATH"/>
126            <!--
127              Do variable substitution in these files. See:
128              http://www.javalobby.org/forums/thread.jspa?threadID=15967&tstart=0
129              and the izpack docs for some guidance.
130             -->
131            <parsable targetfile="$INSTALL_PATH/wrapper.config" type="plain" />
132            <parsable targetfile="$INSTALL_PATH/scripts/home.i2p.i2prouter" type="plain"> <os family="unix" /> </parsable>
133            <parsable targetfile="$INSTALL_PATH/i2prouter" type="shell"> <os family="unix" /> </parsable>
134            <parsable targetfile="$INSTALL_PATH/eepget" type="shell"> <os family="unix" /> </parsable>
135            <parsable targetfile="$INSTALL_PATH/eepget.bat" type="shell" os="windows" />
136            <parsable targetfile="$INSTALL_PATH/runplain.sh" type="shell"> <os family="unix" /> </parsable>
137            <parsable targetfile="$INSTALL_PATH/Start I2P Router.app/Contents/MacOS/i2prouter" type="shell" os="mac" />
138
139            <conditions>
140                <condition type="variable" id="is64bit">
141                    <name>SYSTEM_sun_arch_data_model</name>
142                    <value>64</value>
143                </condition>
144            </conditions>
145
146            <!-- postinstall stuff for windows -->
147            <!-- Wrapper for 32bit Windows JVM -->
148            <executable targetfile="$INSTALL_PATH/utility.jar"
149                type="jar"
150                stage="postinstall"
151                keep="true"
152                failure="warn"
153                condition="!is64bit">
154                <os family="windows" />
155                <args>
156                    <arg value="copy" />
157                    <arg value="$INSTALL_PATH\lib\wrapper\win32\I2Psvc.exe" />
158                    <arg value="$INSTALL_PATH" />
159                </args>
160            </executable>
161
162            <executable targetfile="$INSTALL_PATH/utility.jar"
163                type="jar"
164                stage="postinstall"
165                keep="true"
166                failure="warn"
167                condition="!is64bit">
168                <os family="windows" />
169                <args>
170                    <arg value="copy" />
171                    <arg value="$INSTALL_PATH\lib\wrapper\win32\wrapper.dll" />
172                    <arg value="$INSTALL_PATH\lib" />
173                </args>
174            </executable>
175
176            <!-- wrapper for 64bit Windows JVM -->
177            <executable targetfile="$INSTALL_PATH/utility.jar"
178                type="jar"
179                stage="postinstall"
180                keep="true"
181                failure="warn"
182                condition="is64bit">
183                <os family="windows" />
184                <args>
185                    <arg value="copy" />
186                    <arg value="$INSTALL_PATH\lib\wrapper\win64\I2Psvc.exe" />
187                    <arg value="$INSTALL_PATH" />
188                </args>
189            </executable>
190
191            <executable targetfile="$INSTALL_PATH/utility.jar"
192                type="jar"
193                stage="postinstall"
194                keep="true"
195                failure="warn"
196                condition="is64bit">
197                <os family="windows" />
198                <args>
199                    <arg value="copy" />
200                    <arg value="$INSTALL_PATH\lib\wrapper\win64\wrapper.dll" />
201                    <arg value="$INSTALL_PATH\lib" />
202                </args>
203            </executable>
204
205            <!--
206             We still copy the 32 bit version of wrapper.dll (even with a
207             64bit jvm) so that if a 32 bit jvm is installed in the future,
208             nothing breaks.
209            -->
210             <executable targetfile="$INSTALL_PATH/utility.jar"
211                 type="jar"
212                 stage="postinstall"
213                 keep="true"
214                 failure="warn"
215                 condition="is64bit">
216                 <os family="windows" />
217                 <args>
218                     <arg value="copy" />
219                     <arg value="$INSTALL_PATH\lib\wrapper\win32\wrapper.dll" />
220                     <arg value="$INSTALL_PATH\lib\wrapper-windows-x86-32.dll" />
221                 </args>
222             </executable>
223
224             <!-- workaround for bad default path for wrapper.log in Windows. -->
225             <executable targetfile="$INSTALL_PATH/utility.jar"
226                 type="jar"
227                 stage="postinstall" keep="true">
228                 <os family="windows" />
229                 <args>
230                     <arg value="fixwinpaths" />
231                     <arg value="$INSTALL_PATH\wrapper.config" />
232                 </args>
233             </executable>
234
235             <!-- Now we'll get rid of the UNIX-only stuff -->
236             <executable targetfile="$INSTALL_PATH/utility.jar"
237                 type="jar"
238                 stage="postinstall" keep="true" failure="warn">
239                 <os family="windows" />
240                 <args>
241                     <arg value="delete" />
242                     <arg value="$INSTALL_PATH\i2prouter" />
243                     <arg value="$INSTALL_PATH\install_i2p_service_unix" />
244                     <arg value="$INSTALL_PATH\install-headless.txt" />
245                     <arg value="$INSTALL_PATH\runplain.sh" />
246                     <arg value="$INSTALL_PATH\osid" />
247                     <arg value="$INSTALL_PATH\postinstall.sh" />
248                     <arg value="$INSTALL_PATH\uninstall_i2p_service_unix" />
249                     <arg value="$INSTALL_PATH\lib\wrapper" />
250                     <arg value="$INSTALL_PATH\eepget" />
251                     <arg value="$INSTALL_PATH/Start I2P Router.app" />
252                     <arg value="$INSTALL_PATH/net.i2p.router.plist.template" />
253                     <arg value="$INSTALL_PATH/install_i2p_service_osx.command" />
254                     <arg value="$INSTALL_PATH/uninstall_i2p_service_osx.command" />
255                     <arg value="$INSTALL_PATH/man" />
256                     <arg value="$INSTALL_PATH/locale" />
257             <!-- Placeholder for an OSX 'shortcut' to the router console
258                    <arg value="$INSTALL_PATH/I2P Router Console.webloc" />
259            -->
260                </args>
261            </executable>
262
263            <!-- workaround for vista permission problems - see comments above -->
264            <executable targetfile="$INSTALL_PATH/fixperms.bat" type="bin" stage="postinstall" keep="true" failure="warn"
265                condition="!izpack.windowsinstall.xp+!izpack.windowsinstall.2003" >
266                <os family="windows" />
267                <args>
268                    <arg value="$INSTALL_PATH" />
269                </args>
270            </executable>
271            <!-- else delete it -->
272            <executable targetfile="$INSTALL_PATH/utility.jar"
273                type="jar"
274                stage="postinstall" keep="true" failure="warn" condition="izpack.windowsinstall.xp|izpack.windowsinstall.2003">
275                <os family="windows" />
276                <args>
277                    <arg value="delete" />
278                    <arg value="$INSTALL_PATH\fixperms.bat" />
279                </args>
280            </executable>
281
282            <!--
283            <executable targetfile="$INSTALL_PATH/utility.jar"
284                type="jar"
285                stage="postinstall" keep="true" failure="warn">
286                <os family="windows" />
287                    <args>
288                        <arg value="exec" />
289                        <arg value="$INSTALL_PATH" />
290                        <arg value="$INSTALL_PATH\I2Psvc.exe" />
291                        <arg value="-c" />
292                        <arg value="$INSTALL_PATH\wrapper.config" />
293                    </args>
294            </executable>
295            -->
296
297             <!--
298                  and now we delete the installer utility jar.
299                  I moved this out of installer/ because the directory
300                  couldn't be deleted while the jar was active and would
301                  remain on the system.
302
303                  This, however, works fine.
304             -->
305             <executable targetfile="$INSTALL_PATH/utility.jar"
306                 type="jar"
307                 stage="postinstall" keep="false" failure="warn">
308                 <os family="windows" />
309                 <args>
310                     <arg value="delete" />
311                     <arg value="$INSTALL_PATH/utility.jar" />
312                 </args>
313             </executable>
314
315            <!-- postinstall stuff for *nix -->
316            <!-- stage=never means chmod a+x -->
317            <executable targetfile="$INSTALL_PATH/postinstall.sh" type="bin" stage="never" keep="true" failure="warn"><os family="unix" /></executable>
318            <executable targetfile="$INSTALL_PATH/postinstall.sh" type="bin" stage="postinstall" keep="true" failure="warn"><os family="unix" />
319                <args><arg value="$INSTALL_PATH" /></args></executable>
320            <!--
321             Removal of the I2P service in Windows should be done in the base pack
322             so that even if a user installed the service manually it will still be
323             removed when uninstalling.
324            -->
325            <executable targetfile="$INSTALL_PATH/uninstall_i2p_service_winnt.bat" stage="uninstall" os="windows" />
326        </pack>
327
328        <!-- to disable by default, add preselected="no" -->
329        <pack name="Windows Service" required="no" preselected="no">
330            <description>Automatically start I2P in the background</description>
331            <os family="windows" />
332            <executable targetfile="$INSTALL_PATH/set_config_dir_for_nt_service.bat" stage="postinstall" failure="warn" keep="true" />
333            <executable targetfile="$INSTALL_PATH/install_i2p_service_winnt.bat" stage="postinstall" failure="warn" keep="true" />
334            <executable targetfile="$INSTALL_PATH/I2Psvc.exe" stage="postinstall" failure="warn" keep="true">
335                <args>
336                    <arg value="-t" />
337                    <arg value="$INSTALL_PATH\wrapper.config" />
338                </args>
339            </executable>
340        </pack>
341    </packs>
342
343</installation>
344<!--
345vim:fenc=utf-8:ai:si:ts=4:sw=4:et:nu:
346-->
Note: See TracBrowser for help on using the repository browser.