source: installer/install5.xml @ e662f09

Last change on this file since e662f09 was 88d9f1d, checked in by zzz <zzz@…>, 16 months ago

0.9.38

  • Property mode set to 100644
File size: 17.5 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.38</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/scripts/home.i2p.i2prouter" type="plain"> <os family="unix" /> </parsable>
186            <parsable targetfile="$INSTALL_PATH/i2prouter" type="shell"> <os family="unix" /> </parsable>
187            <parsable targetfile="$INSTALL_PATH/eepget" type="shell"> <os family="unix" /> </parsable>
188            <parsable targetfile="$INSTALL_PATH/eepget.bat" type="shell"><os family="windows" /></parsable>
189            <parsable targetfile="$INSTALL_PATH/runplain.sh" type="shell"> <os family="unix" /> </parsable>
190            <parsable targetfile="$INSTALL_PATH/Start I2P Router.app/Contents/MacOS/i2prouter" type="shell"><os family="mac" /></parsable>
191
192            <!-- postinstall stuff for windows -->
193            <!-- Wrapper for 32bit Windows JVM -->
194            <executable targetfile="$INSTALL_PATH/utility.jar"
195                type="jar"
196                class="net.i2p.installer.Main"
197                stage="postinstall"
198                keep="true"
199                failure="warn"
200                condition="!is64bit">
201                <os family="windows" />
202                <args>
203                    <arg value="copy" />
204                    <arg value="$INSTALL_PATH\lib\wrapper\win32\I2Psvc.exe" />
205                    <arg value="$INSTALL_PATH" />
206                </args>
207            </executable>
208
209            <executable targetfile="$INSTALL_PATH/utility.jar"
210                type="jar"
211                class="net.i2p.installer.Main"
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" />
221                </args>
222            </executable>
223
224            <!-- wrapper for 64bit Windows JVM -->
225            <executable targetfile="$INSTALL_PATH/utility.jar"
226                type="jar"
227                class="net.i2p.installer.Main"
228                stage="postinstall"
229                keep="true"
230                failure="warn"
231                condition="is64bit">
232                <os family="windows" />
233                <args>
234                    <arg value="copy" />
235                    <arg value="$INSTALL_PATH\lib\wrapper\win64\I2Psvc.exe" />
236                    <arg value="$INSTALL_PATH" />
237                </args>
238            </executable>
239
240            <executable targetfile="$INSTALL_PATH/utility.jar"
241                type="jar"
242                class="net.i2p.installer.Main"
243                stage="postinstall"
244                keep="true"
245                failure="warn"
246                condition="is64bit">
247                <os family="windows" />
248                <args>
249                    <arg value="copy" />
250                    <arg value="$INSTALL_PATH\lib\wrapper\win64\wrapper.dll" />
251                    <arg value="$INSTALL_PATH\lib" />
252                </args>
253            </executable>
254
255            <!--
256             We still copy the 32 bit version of wrapper.dll (even with a
257             64bit jvm) so that if a 32 bit jvm is installed in the future,
258             nothing breaks.
259            -->
260             <executable targetfile="$INSTALL_PATH/utility.jar"
261                 type="jar"
262                 class="net.i2p.installer.Main"
263                 stage="postinstall"
264                 keep="true"
265                 failure="warn"
266                 condition="is64bit">
267                 <os family="windows" />
268                 <args>
269                     <arg value="copy" />
270                     <arg value="$INSTALL_PATH\lib\wrapper\win32\wrapper.dll" />
271                     <arg value="$INSTALL_PATH\lib\wrapper-windows-x86-32.dll" />
272                 </args>
273             </executable>
274
275             <!-- workaround for bad default path for wrapper.log in Windows. -->
276             <executable targetfile="$INSTALL_PATH/utility.jar"
277                 type="jar"
278                 class="net.i2p.installer.Main"
279                 stage="postinstall" keep="true">
280                 <os family="windows" />
281                 <args>
282                     <arg value="fixwinpaths" />
283                     <arg value="$INSTALL_PATH\wrapper.config" />
284                 </args>
285             </executable>
286
287             <!-- Now we'll get rid of the UNIX-only stuff -->
288             <executable targetfile="$INSTALL_PATH/utility.jar"
289                 type="jar"
290                 class="net.i2p.installer.Main"
291                 stage="postinstall" keep="true" failure="warn">
292                 <os family="windows" />
293                 <args>
294                     <arg value="delete" />
295                     <arg value="$INSTALL_PATH\i2prouter" />
296                     <arg value="$INSTALL_PATH\install_i2p_service_unix" />
297                     <arg value="$INSTALL_PATH\install-headless.txt" />
298                     <arg value="$INSTALL_PATH\runplain.sh" />
299                     <arg value="$INSTALL_PATH\osid" />
300                     <arg value="$INSTALL_PATH\postinstall.sh" />
301                     <arg value="$INSTALL_PATH\uninstall_i2p_service_unix" />
302                     <arg value="$INSTALL_PATH\lib\wrapper" />
303                     <arg value="$INSTALL_PATH\eepget" />
304                     <arg value="$INSTALL_PATH/Start I2P Router.app" />
305                     <arg value="$INSTALL_PATH/net.i2p.router.plist.template" />
306                     <arg value="$INSTALL_PATH/install_i2p_service_osx.command" />
307                     <arg value="$INSTALL_PATH/uninstall_i2p_service_osx.command" />
308                     <arg value="$INSTALL_PATH/man" />
309                     <arg value="$INSTALL_PATH/locale" />
310             <!-- Placeholder for an OSX 'shortcut' to the router console
311                    <arg value="$INSTALL_PATH/I2P Router Console.webloc" />
312            -->
313                </args>
314            </executable>
315
316            <!-- workaround for vista permission problems - see comments above -->
317            <executable targetfile="$INSTALL_PATH/fixperms.bat" type="bin" stage="postinstall" keep="true" failure="warn"
318                condition="!izpack.windowsinstall.xp+!izpack.windowsinstall.2003" >
319                <os family="windows" />
320                <args>
321                    <arg value="$INSTALL_PATH" />
322                </args>
323            </executable>
324            <!-- else delete it -->
325            <executable targetfile="$INSTALL_PATH/utility.jar"
326                type="jar"
327                class="net.i2p.installer.Main"
328                stage="postinstall" keep="true" failure="warn" condition="izpack.windowsinstall.xp|izpack.windowsinstall.2003">
329                <os family="windows" />
330                <args>
331                    <arg value="delete" />
332                    <arg value="$INSTALL_PATH\fixperms.bat" />
333                </args>
334            </executable>
335
336            <!--
337            <executable targetfile="$INSTALL_PATH/utility.jar"
338                type="jar"
339                class="net.i2p.installer.Main"
340                stage="postinstall" keep="true" failure="warn">
341                <os family="windows" />
342                    <args>
343                        <arg value="exec" />
344                        <arg value="$INSTALL_PATH" />
345                        <arg value="$INSTALL_PATH\I2Psvc.exe" />
346                        <arg value="-c" />
347                        <arg value="$INSTALL_PATH\wrapper.config" />
348                    </args>
349            </executable>
350            -->
351
352             <!--
353                  and now we delete the installer utility jar.
354                  I moved this out of installer/ because the directory
355                  couldn't be deleted while the jar was active and would
356                  remain on the system.
357
358                  This, however, works fine.
359             -->
360             <executable targetfile="$INSTALL_PATH/utility.jar"
361                 type="jar"
362                 class="net.i2p.installer.Main"
363                 stage="postinstall" keep="false" failure="warn">
364                 <os family="windows" />
365                 <args>
366                     <arg value="delete" />
367                     <arg value="$INSTALL_PATH/utility.jar" />
368                 </args>
369             </executable>
370
371            <!-- postinstall stuff for *nix -->
372            <!-- stage=never means chmod a+x -->
373            <executable targetfile="$INSTALL_PATH/postinstall.sh" type="bin" stage="never" keep="true" failure="warn"><os family="unix" /></executable>
374            <executable targetfile="$INSTALL_PATH/postinstall.sh" type="bin" stage="postinstall" keep="true" failure="warn"><os family="unix" />
375                <args><arg value="$INSTALL_PATH" /></args></executable>
376            <!--
377             Removal of the I2P service in Windows should be done in the base pack
378             so that even if a user installed the service manually it will still be
379             removed when uninstalling.
380            -->
381            <executable targetfile="$INSTALL_PATH/uninstall_i2p_service_winnt.bat" stage="uninstall"><os family="windows" /></executable>
382        </pack>
383
384        <!-- to disable by default, add preselected="no" -->
385        <pack name="Windows Service" required="no" preselected="no">
386            <description>Automatically start I2P in the background</description>
387            <os family="windows" />
388            <executable targetfile="$INSTALL_PATH/set_config_dir_for_nt_service.bat" stage="postinstall" failure="warn" keep="true" />
389            <executable targetfile="$INSTALL_PATH/install_i2p_service_winnt.bat" stage="postinstall" failure="warn" keep="true" />
390            <executable targetfile="$INSTALL_PATH/I2Psvc.exe" stage="postinstall" failure="warn" keep="true">
391                <args>
392                    <arg value="-t" />
393                    <arg value="$INSTALL_PATH\wrapper.config" />
394                </args>
395            </executable>
396        </pack>
397    </packs>
398
399</izpack:installation>
Note: See TracBrowser for help on using the repository browser.