source: installer/install5.xml @ 16d2bdc

i2p-0.9.40
Last change on this file since 16d2bdc was 16d2bdc, checked in by zzz <zzz@…>, 19 months ago

0.9.40

  • Property mode set to 100644
File size: 17.4 KB
Line 
1<?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
2<!--
3   This is for izpack 5.
4   See install.xml for izpack 4.
5-->
6<izpack:installation version="5.0"
7                     xmlns:izpack="http://izpack.org/schema/installation"
8                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9                     xsi:schemaLocation="http://izpack.org/schema/installation http://izpack.org/schema/5.0/izpack-installation-5.0.xsd">
10
11    <info>
12        <appname>i2p</appname>
13        <appversion>0.9.40</appversion>
14        <authors>
15            <author name="I2P" email="https://geti2p.net/"/>
16        </authors>
17        <url>https://geti2p.net/</url>
18        <javaversion>1.7</javaversion>
19
20        <!-- adding this element will make the installer attempt to launch itself with administrator permissions,
21             but see http://www.nabble.com/Classpath-security-issues-on-Vista-td22456230.html
22             which says it isn't sufficient:
23
24                Just to let you know that I managed to identify and resolve the problem (in
25                case anyone else has it).  The default installation directory for Vista is
26                under "Program Files" which is a "special" directory which can only be
27                written to (create sub-directories) by administrators.  However, stupid
28                Vista downgrades an administrator to a normal user when the program is run
29                via the application shortcut menu.  As you suggested, I added a script which
30                runs ICACLS which resolved the problem, i.e.
31
32                icacls %1 /grant Users:F /T > priv.log
33
34                The command needs to be run as a Process rather than as an executable tag in
35                order to pass $INSTALL_PATH as a parameter.
36         -->
37        <run-privileged condition="izpack.windowsinstall.vista|izpack.windowsinstall.7"/>
38    </info>
39
40    <guiprefs width="590" height="356" resizable="yes">
41<!--
42Not in 5.1.2, pick another one
43https://izpack.atlassian.net/wiki/spaces/IZPACK/pages/491730/GUI+Preferences
44        <laf name="liquid">
45            <os family="unix"/>
46        </laf>
47-->
48        <!-- full names, not iso3 codes -->
49        <modifier key="langDisplayType" value="native" />
50    </guiprefs>
51
52    <locale>
53        <langpack iso3="eng"/>
54        <langpack iso3="bra"/>
55        <langpack iso3="cat"/>
56        <langpack iso3="ces"/>
57        <langpack iso3="chn"/>
58        <langpack iso3="dan"/>
59        <langpack iso3="deu"/>
60        <langpack iso3="ell"/>
61        <langpack iso3="fin"/>
62        <langpack iso3="fra"/>
63        <langpack iso3="hun"/>
64        <langpack iso3="idn"/>
65        <langpack iso3="ita"/>
66        <langpack iso3="jpn"/>
67        <langpack iso3="kor"/>
68        <langpack iso3="msa"/>
69        <langpack iso3="nld"/>
70        <langpack iso3="nor"/>
71        <langpack iso3="pol"/>
72        <langpack iso3="prt"/>
73        <langpack iso3="ron"/>
74        <langpack iso3="rus"/>
75        <langpack iso3="slk"/>
76        <langpack iso3="spa"/>
77        <langpack iso3="srp"/>
78        <langpack iso3="swe"/>
79        <langpack iso3="tur"/>
80        <langpack iso3="twn"/>
81        <langpack iso3="ukr"/>
82<!--
83"WARNING: No locale for:"
84        <langpack iso3="eus"/>
85        <langpack iso3="fa"/>
86        <langpack iso3="glg"/>
87-->
88    </locale>
89
90    <!--
91        The <os> tag can be used to restrict the inclusion into the uninstaller
92        to a specific operating system family, architecture or version.
93        The inclusion into the installer will be always done.
94        Here's a sample :
95
96        <native type="izpack" name="ShellLink.dll">
97            <os family="windows"/>
98        </native>
99
100        This doesn't appear to be necessary, the dlls don't get put in Uninstaller/uninstaller.jar on linux
101     -->
102    <natives>
103        <native type="izpack" name="ShellLink.dll" />
104        <native type="izpack" name="ShellLink_x64.dll" />
105      <!--
106        https://izpack.atlassian.net/wiki/spaces/IZPACK/pages/491532/Advanced+Features
107        <native type="izpack" name="WinSetupAPI.dll" />
108        <native type="izpack" name="WinSetupAPI_x64.dll" />
109        https://izpack.atlassian.net/wiki/spaces/IZPACK/pages/491676/RegistryInstallerListener+RegistryUninstallerListener
110        <native type="3rdparty" name="COIOSHelper.dll" />
111        <native type="3rdparty" name="COIOSHelper_x64.dll" />
112       -->
113    </natives>
114
115    <resources>
116        <res id="Installer.image" src="installer/resources/i2plogo.png" />
117        <res id="InfoPanel.info" src="installer/resources/readme.license.txt"/>
118        <!-- <res id="ProcessPanel.Spec.xml" src="installer/resources/ProcessPanel.Spec.xml"/> -->
119        <res id="shortcutSpec.xml" src="installer/resources/shortcutSpec.xml" />
120        <res id="XInfoPanel.info" src="installer/resources/start-i2p.txt" />
121    </resources>
122
123    <variables>
124        <!-- desktop shortcuts enabled by default in ShortcutPanel -->
125        <variable name="DesktopShortcutCheckboxEnabled" value="true" />
126    </variables>
127
128    <dynamicvariables>
129        <variable name="datamodel" value="${SYSTEM[sun.arch.data.model]}"/>
130    </dynamicvariables>
131
132    <conditions>
133        <condition type="variable" id="is64bit">
134            <name>datamodel</name>
135            <value>64</value>
136        </condition>
137    </conditions>
138
139    <panels>
140        <panel classname="HelloPanel"/>
141        <panel classname="InfoPanel"/>
142        <panel classname="TargetPanel"/>
143        <!-- In 5.1.2, PacksPanel will NPE at install time if before TargetPanel -->
144        <panel classname="PacksPanel"><os family="windows" /></panel>
145        <panel classname="InstallPanel"/>
146        <!-- In 5.1.2, ShortcutPanel must be after InstallPanel, so the .ico files will be there,
147             unless <lateShortcutInstall/> is set in shorcutSpec.xml.
148             If you don't do this right, the shortcuts won't have our icons.
149         -->
150        <panel classname="ShortcutPanel"><os family="windows" /></panel>
151        <!--
152         Using the condition this way, the panel is shown on everything *but* Windows.
153         Fails in console mode: Installer says:
154           No console mode helper found for class com.izforge.izpack.panels.xinfo.XInfoPanel, panel type will be skipped in console mode installation
155           No automation helper found for class com.izforge.izpack.panels.xinfo.XInfoPanel, panel type will be skipped in automated installation
156         But isn't actually skipped when installing with -console:
157           SEVERE: com.izforge.izpack.api.exception.IzPackException: Console implementation not found for panel: com.izforge.izpack.panels.xinfo.XInfoPanel
158         -->
159        <panel classname="XInfoPanel" condition="!izpack.windowsinstall" />
160        <panel classname="SimpleFinishPanel"/>
161    </panels>
162
163    <packs>
164        <pack name="Base" required="yes">
165            <description>Base installation files</description>
166            <!-- non-jars -->
167            <fileset dir="pkg-temp" excludes="**/*.jar" targetdir="$INSTALL_PATH"/>
168            <!-- pack200 jars -->
169            <fileset dir="pkg-temp" includes="**/*.jar"
170                     excludes="lib/commons-logging.jar lib/jasper-compiler.jar lib/jetty-java5-threadpool.jar lib/jetty-sslengine.jar lib/jbigi.jar"
171                     targetdir="$INSTALL_PATH">
172                <pack200/>
173            </fileset>
174            <!-- non-pack200 jars -->
175            <fileset dir="pkg-temp"
176                     includes="lib/commons-logging.jar lib/jasper-compiler.jar lib/jetty-java5-threadpool.jar lib/jetty-sslengine.jar lib/jbigi.jar"
177                     targetdir="$INSTALL_PATH">
178            </fileset>
179            <!--
180              Do variable substitution in these files. See:
181              http://www.javalobby.org/forums/thread.jspa?threadID=15967&tstart=0
182              and the izpack docs for some guidance.
183             -->
184            <parsable targetfile="$INSTALL_PATH/wrapper.config" type="plain" />
185            <parsable targetfile="$INSTALL_PATH/i2prouter" type="shell"> <os family="unix" /> </parsable>
186            <parsable targetfile="$INSTALL_PATH/eepget" type="shell"> <os family="unix" /> </parsable>
187            <parsable targetfile="$INSTALL_PATH/eepget.bat" type="shell"><os family="windows" /></parsable>
188            <parsable targetfile="$INSTALL_PATH/runplain.sh" type="shell"> <os family="unix" /> </parsable>
189            <parsable targetfile="$INSTALL_PATH/Start I2P Router.app/Contents/MacOS/i2prouter" type="shell"><os family="mac" /></parsable>
190
191            <!-- postinstall stuff for windows -->
192            <!-- Wrapper for 32bit Windows JVM -->
193            <executable targetfile="$INSTALL_PATH/utility.jar"
194                type="jar"
195                class="net.i2p.installer.Main"
196                stage="postinstall"
197                keep="true"
198                failure="warn"
199                condition="!is64bit">
200                <os family="windows" />
201                <args>
202                    <arg value="copy" />
203                    <arg value="$INSTALL_PATH\lib\wrapper\win32\I2Psvc.exe" />
204                    <arg value="$INSTALL_PATH" />
205                </args>
206            </executable>
207
208            <executable targetfile="$INSTALL_PATH/utility.jar"
209                type="jar"
210                class="net.i2p.installer.Main"
211                stage="postinstall"
212                keep="true"
213                failure="warn"
214                condition="!is64bit">
215                <os family="windows" />
216                <args>
217                    <arg value="copy" />
218                    <arg value="$INSTALL_PATH\lib\wrapper\win32\wrapper.dll" />
219                    <arg value="$INSTALL_PATH\lib" />
220                </args>
221            </executable>
222
223            <!-- wrapper for 64bit Windows JVM -->
224            <executable targetfile="$INSTALL_PATH/utility.jar"
225                type="jar"
226                class="net.i2p.installer.Main"
227                stage="postinstall"
228                keep="true"
229                failure="warn"
230                condition="is64bit">
231                <os family="windows" />
232                <args>
233                    <arg value="copy" />
234                    <arg value="$INSTALL_PATH\lib\wrapper\win64\I2Psvc.exe" />
235                    <arg value="$INSTALL_PATH" />
236                </args>
237            </executable>
238
239            <executable targetfile="$INSTALL_PATH/utility.jar"
240                type="jar"
241                class="net.i2p.installer.Main"
242                stage="postinstall"
243                keep="true"
244                failure="warn"
245                condition="is64bit">
246                <os family="windows" />
247                <args>
248                    <arg value="copy" />
249                    <arg value="$INSTALL_PATH\lib\wrapper\win64\wrapper.dll" />
250                    <arg value="$INSTALL_PATH\lib" />
251                </args>
252            </executable>
253
254            <!--
255             We still copy the 32 bit version of wrapper.dll (even with a
256             64bit jvm) so that if a 32 bit jvm is installed in the future,
257             nothing breaks.
258            -->
259             <executable targetfile="$INSTALL_PATH/utility.jar"
260                 type="jar"
261                 class="net.i2p.installer.Main"
262                 stage="postinstall"
263                 keep="true"
264                 failure="warn"
265                 condition="is64bit">
266                 <os family="windows" />
267                 <args>
268                     <arg value="copy" />
269                     <arg value="$INSTALL_PATH\lib\wrapper\win32\wrapper.dll" />
270                     <arg value="$INSTALL_PATH\lib\wrapper-windows-x86-32.dll" />
271                 </args>
272             </executable>
273
274             <!-- workaround for bad default path for wrapper.log in Windows. -->
275             <executable targetfile="$INSTALL_PATH/utility.jar"
276                 type="jar"
277                 class="net.i2p.installer.Main"
278                 stage="postinstall" keep="true">
279                 <os family="windows" />
280                 <args>
281                     <arg value="fixwinpaths" />
282                     <arg value="$INSTALL_PATH\wrapper.config" />
283                 </args>
284             </executable>
285
286             <!-- Now we'll get rid of the UNIX-only stuff -->
287             <executable targetfile="$INSTALL_PATH/utility.jar"
288                 type="jar"
289                 class="net.i2p.installer.Main"
290                 stage="postinstall" keep="true" failure="warn">
291                 <os family="windows" />
292                 <args>
293                     <arg value="delete" />
294                     <arg value="$INSTALL_PATH\i2prouter" />
295                     <arg value="$INSTALL_PATH\install_i2p_service_unix" />
296                     <arg value="$INSTALL_PATH\install-headless.txt" />
297                     <arg value="$INSTALL_PATH\runplain.sh" />
298                     <arg value="$INSTALL_PATH\osid" />
299                     <arg value="$INSTALL_PATH\postinstall.sh" />
300                     <arg value="$INSTALL_PATH\uninstall_i2p_service_unix" />
301                     <arg value="$INSTALL_PATH\lib\wrapper" />
302                     <arg value="$INSTALL_PATH\eepget" />
303                     <arg value="$INSTALL_PATH/Start I2P Router.app" />
304                     <arg value="$INSTALL_PATH/net.i2p.router.plist.template" />
305                     <arg value="$INSTALL_PATH/install_i2p_service_osx.command" />
306                     <arg value="$INSTALL_PATH/uninstall_i2p_service_osx.command" />
307                     <arg value="$INSTALL_PATH/man" />
308                     <arg value="$INSTALL_PATH/locale" />
309             <!-- Placeholder for an OSX 'shortcut' to the router console
310                    <arg value="$INSTALL_PATH/I2P Router Console.webloc" />
311            -->
312                </args>
313            </executable>
314
315            <!-- workaround for vista permission problems - see comments above -->
316            <executable targetfile="$INSTALL_PATH/fixperms.bat" type="bin" stage="postinstall" keep="true" failure="warn"
317                condition="!izpack.windowsinstall.xp+!izpack.windowsinstall.2003" >
318                <os family="windows" />
319                <args>
320                    <arg value="$INSTALL_PATH" />
321                </args>
322            </executable>
323            <!-- else delete it -->
324            <executable targetfile="$INSTALL_PATH/utility.jar"
325                type="jar"
326                class="net.i2p.installer.Main"
327                stage="postinstall" keep="true" failure="warn" condition="izpack.windowsinstall.xp|izpack.windowsinstall.2003">
328                <os family="windows" />
329                <args>
330                    <arg value="delete" />
331                    <arg value="$INSTALL_PATH\fixperms.bat" />
332                </args>
333            </executable>
334
335            <!--
336            <executable targetfile="$INSTALL_PATH/utility.jar"
337                type="jar"
338                class="net.i2p.installer.Main"
339                stage="postinstall" keep="true" failure="warn">
340                <os family="windows" />
341                    <args>
342                        <arg value="exec" />
343                        <arg value="$INSTALL_PATH" />
344                        <arg value="$INSTALL_PATH\I2Psvc.exe" />
345                        <arg value="-c" />
346                        <arg value="$INSTALL_PATH\wrapper.config" />
347                    </args>
348            </executable>
349            -->
350
351             <!--
352                  and now we delete the installer utility jar.
353                  I moved this out of installer/ because the directory
354                  couldn't be deleted while the jar was active and would
355                  remain on the system.
356
357                  This, however, works fine.
358             -->
359             <executable targetfile="$INSTALL_PATH/utility.jar"
360                 type="jar"
361                 class="net.i2p.installer.Main"
362                 stage="postinstall" keep="false" failure="warn">
363                 <os family="windows" />
364                 <args>
365                     <arg value="delete" />
366                     <arg value="$INSTALL_PATH/utility.jar" />
367                 </args>
368             </executable>
369
370            <!-- postinstall stuff for *nix -->
371            <!-- stage=never means chmod a+x -->
372            <executable targetfile="$INSTALL_PATH/postinstall.sh" type="bin" stage="never" keep="true" failure="warn"><os family="unix" /></executable>
373            <executable targetfile="$INSTALL_PATH/postinstall.sh" type="bin" stage="postinstall" keep="true" failure="warn"><os family="unix" />
374                <args><arg value="$INSTALL_PATH" /></args></executable>
375            <!--
376             Removal of the I2P service in Windows should be done in the base pack
377             so that even if a user installed the service manually it will still be
378             removed when uninstalling.
379            -->
380            <executable targetfile="$INSTALL_PATH/uninstall_i2p_service_winnt.bat" stage="uninstall"><os family="windows" /></executable>
381        </pack>
382
383        <!-- to disable by default, add preselected="no" -->
384        <pack name="Windows Service" required="no" preselected="no">
385            <description>Automatically start I2P in the background</description>
386            <os family="windows" />
387            <executable targetfile="$INSTALL_PATH/set_config_dir_for_nt_service.bat" stage="postinstall" failure="warn" keep="true" />
388            <executable targetfile="$INSTALL_PATH/install_i2p_service_winnt.bat" stage="postinstall" failure="warn" keep="true" />
389            <executable targetfile="$INSTALL_PATH/I2Psvc.exe" stage="postinstall" failure="warn" keep="true">
390                <args>
391                    <arg value="-t" />
392                    <arg value="$INSTALL_PATH\wrapper.config" />
393                </args>
394            </executable>
395        </pack>
396    </packs>
397
398</izpack:installation>
Note: See TracBrowser for help on using the repository browser.