source: installer/install.xml @ f2e00ca

Last change on this file since f2e00ca was 30fc954, checked in by zzz <zzz@…>, 2 years ago

Installer: Fix Windows 10 64-bit install for IzPack? 4/5 (ticket #1864)
Add more IzPack? 5 build targets

  • Property mode set to 100644
File size: 14.7 KB
RevLine 
[8bd99f6]1<?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
2
3<installation version="1.0">
4
5    <info>
6        <appname>i2p</appname>
[3d21ad0]7        <appversion>0.9.35</appversion>
[8bd99f6]8        <authors>
[5d2ff5e6]9            <author name="I2P" email="https://geti2p.net/"/>
[8bd99f6]10        </authors>
[5d2ff5e6]11        <url>https://geti2p.net/</url>
[5d07294]12        <javaversion>1.7</javaversion>
[ce50a9ca]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
[24264548]16             Unpack fails on java 1.5
17             see http://jira.codehaus.org/browse/IZPACK-404
[5d22d41]18             <pack200 />
[24264548]19         -->
[ce50a9ca]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"/>
[8bd99f6]39    </info>
40
41    <guiprefs width="590" height="356" resizable="yes">
42        <laf name="liquid">
43            <os family="unix"/>
44        </laf>
[ce50a9ca]45        <!-- full names, not iso3 codes -->
46        <modifier key="langDisplayType" value="native" />
[8bd99f6]47    </guiprefs>
48
49    <locale>
50        <langpack iso3="eng"/>
[9b6abc1]51        <langpack iso3="cat"/>
52        <langpack iso3="chn"/>
53        <langpack iso3="cze"/>
54        <langpack iso3="dan"/>
55        <langpack iso3="deu"/>
[ce50a9ca]56        <langpack iso3="ell"/>
57        <langpack iso3="fa"/>
[9b6abc1]58        <langpack iso3="fin"/>
59        <langpack iso3="fra"/>
[ce50a9ca]60        <langpack iso3="glg"/>
[9b6abc1]61        <langpack iso3="hun"/>
[ce50a9ca]62        <langpack iso3="ind"/>
[9b6abc1]63        <langpack iso3="ita"/>
64        <langpack iso3="jpn"/>
[ce50a9ca]65        <langpack iso3="kor"/>
[9b6abc1]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"/>
[ce50a9ca]78        <langpack iso3="twn"/>
[9b6abc1]79        <langpack iso3="ukr"/>
[8bd99f6]80    </locale>
81
[05d22344]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     -->
[8bd99f6]94    <native type="izpack" name="ShellLink.dll" />
[05d22344]95    <native type="izpack" name="ShellLink_x64.dll" />
96
[8bd99f6]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"/> -->
[4389f27]101        <res id="shortcutSpec.xml" src="installer/resources/shortcutSpec.xml" />
102        <res id="XInfoPanel.info" src="installer/resources/start-i2p.txt" />
[8bd99f6]103    </resources>
104
[30fc954]105    <dynamicvariables>
106        <variable name="datamodel" value="${SYSTEM_sun_arch_data_model}"/>
107    </dynamicvariables>
108
109    <conditions>
110        <condition type="variable" id="is64bit">
111            <name>datamodel</name>
112            <value>64</value>
113        </condition>
114    </conditions>
115
[8bd99f6]116    <panels>
117        <panel classname="HelloPanel"/>
118        <panel classname="InfoPanel"/>
[21a3657]119        <panel classname="PacksPanel"><os family="windows" /></panel>
[8bd99f6]120        <panel classname="TargetPanel"/>
121        <panel classname="ShortcutPanel"><os family="windows" /></panel>
[c76b098]122        <panel classname="InstallPanel"/>
[8bd99f6]123        <!-- <panel classname="ProcessPanel"><os family="windows" /></panel> -->
[7ffb3f4]124        <!-- unix|mac doesn't work, displays for windows too -->
[163e748]125
[4389f27]126        <!--
127         Using the condition this way, the panel is shown on everything *but* Windows.
128         -->
[30fc954]129        <panel classname="XInfoPanel" condition="!izpack.windowsinstall" />
130        <panel classname="SimpleFinishPanel"/>
131    </panels>
[8bd99f6]132
133    <packs>
134        <pack name="Base" required="yes">
135            <description>Base installation files</description>
136            <fileset dir="pkg-temp" includes="**/*" targetdir="$INSTALL_PATH"/>
[daf078d]137            <!--
[5c28125]138              Do variable substitution in these files. See:
[daf078d]139              http://www.javalobby.org/forums/thread.jspa?threadID=15967&tstart=0
140              and the izpack docs for some guidance.
141             -->
[71f3cd6]142            <parsable targetfile="$INSTALL_PATH/wrapper.config" type="plain" />
[bb9cef1]143            <parsable targetfile="$INSTALL_PATH/scripts/home.i2p.i2prouter" type="plain"> <os family="unix" /> </parsable>
[c61b73c]144            <parsable targetfile="$INSTALL_PATH/i2prouter" type="shell"> <os family="unix" /> </parsable>
145            <parsable targetfile="$INSTALL_PATH/eepget" type="shell"> <os family="unix" /> </parsable>
[fd2c83f]146            <parsable targetfile="$INSTALL_PATH/eepget.bat" type="shell" os="windows" />
[c61b73c]147            <parsable targetfile="$INSTALL_PATH/runplain.sh" type="shell"> <os family="unix" /> </parsable>
[5a64a86]148            <parsable targetfile="$INSTALL_PATH/Start I2P Router.app/Contents/MacOS/i2prouter" type="shell" os="mac" />
[cb39006]149
[8bd99f6]150            <!-- postinstall stuff for windows -->
[4389f27]151            <!-- Wrapper for 32bit Windows JVM -->
152            <executable targetfile="$INSTALL_PATH/utility.jar"
[0c22af9]153                type="jar"
[4389f27]154                stage="postinstall"
155                keep="true"
156                failure="warn"
157                condition="!is64bit">
158                <os family="windows" />
159                <args>
[0c22af9]160                    <arg value="copy" />
[4389f27]161                    <arg value="$INSTALL_PATH\lib\wrapper\win32\I2Psvc.exe" />
162                    <arg value="$INSTALL_PATH" />
163                </args>
164            </executable>
165
166            <executable targetfile="$INSTALL_PATH/utility.jar"
[0c22af9]167                type="jar"
[4389f27]168                stage="postinstall"
169                keep="true"
170                failure="warn"
171                condition="!is64bit">
172                <os family="windows" />
173                <args>
[0c22af9]174                    <arg value="copy" />
[4389f27]175                    <arg value="$INSTALL_PATH\lib\wrapper\win32\wrapper.dll" />
176                    <arg value="$INSTALL_PATH\lib" />
177                </args>
178            </executable>
179
180            <!-- wrapper for 64bit Windows JVM -->
181            <executable targetfile="$INSTALL_PATH/utility.jar"
[0c22af9]182                type="jar"
[4389f27]183                stage="postinstall"
184                keep="true"
185                failure="warn"
186                condition="is64bit">
187                <os family="windows" />
188                <args>
[0c22af9]189                    <arg value="copy" />
[4389f27]190                    <arg value="$INSTALL_PATH\lib\wrapper\win64\I2Psvc.exe" />
191                    <arg value="$INSTALL_PATH" />
192                </args>
193            </executable>
194
195            <executable targetfile="$INSTALL_PATH/utility.jar"
[0c22af9]196                type="jar"
[4389f27]197                stage="postinstall"
198                keep="true"
199                failure="warn"
200                condition="is64bit">
201                <os family="windows" />
202                <args>
[0c22af9]203                    <arg value="copy" />
[4389f27]204                    <arg value="$INSTALL_PATH\lib\wrapper\win64\wrapper.dll" />
205                    <arg value="$INSTALL_PATH\lib" />
206                </args>
207            </executable>
208
209            <!--
210             We still copy the 32 bit version of wrapper.dll (even with a
211             64bit jvm) so that if a 32 bit jvm is installed in the future,
212             nothing breaks.
213            -->
214             <executable targetfile="$INSTALL_PATH/utility.jar"
[0c22af9]215                 type="jar"
[4389f27]216                 stage="postinstall"
217                 keep="true"
218                 failure="warn"
219                 condition="is64bit">
220                 <os family="windows" />
221                 <args>
[0c22af9]222                     <arg value="copy" />
[4389f27]223                     <arg value="$INSTALL_PATH\lib\wrapper\win32\wrapper.dll" />
224                     <arg value="$INSTALL_PATH\lib\wrapper-windows-x86-32.dll" />
225                 </args>
226             </executable>
227
228             <!-- workaround for bad default path for wrapper.log in Windows. -->
229             <executable targetfile="$INSTALL_PATH/utility.jar"
[0c22af9]230                 type="jar"
[4389f27]231                 stage="postinstall" keep="true">
232                 <os family="windows" />
233                 <args>
[0c22af9]234                     <arg value="fixwinpaths" />
[4389f27]235                     <arg value="$INSTALL_PATH\wrapper.config" />
236                 </args>
237             </executable>
238
239             <!-- Now we'll get rid of the UNIX-only stuff -->
240             <executable targetfile="$INSTALL_PATH/utility.jar"
[0c22af9]241                 type="jar"
[4389f27]242                 stage="postinstall" keep="true" failure="warn">
243                 <os family="windows" />
244                 <args>
[0c22af9]245                     <arg value="delete" />
[4389f27]246                     <arg value="$INSTALL_PATH\i2prouter" />
247                     <arg value="$INSTALL_PATH\install_i2p_service_unix" />
248                     <arg value="$INSTALL_PATH\install-headless.txt" />
249                     <arg value="$INSTALL_PATH\runplain.sh" />
250                     <arg value="$INSTALL_PATH\osid" />
251                     <arg value="$INSTALL_PATH\postinstall.sh" />
252                     <arg value="$INSTALL_PATH\uninstall_i2p_service_unix" />
253                     <arg value="$INSTALL_PATH\lib\wrapper" />
254                     <arg value="$INSTALL_PATH\eepget" />
255                     <arg value="$INSTALL_PATH/Start I2P Router.app" />
256                     <arg value="$INSTALL_PATH/net.i2p.router.plist.template" />
257                     <arg value="$INSTALL_PATH/install_i2p_service_osx.command" />
258                     <arg value="$INSTALL_PATH/uninstall_i2p_service_osx.command" />
259                     <arg value="$INSTALL_PATH/man" />
260                     <arg value="$INSTALL_PATH/locale" />
261             <!-- Placeholder for an OSX 'shortcut' to the router console
262                    <arg value="$INSTALL_PATH/I2P Router Console.webloc" />
263            -->
264                </args>
[f428a37]265            </executable>
[ce50a9ca]266
267            <!-- workaround for vista permission problems - see comments above -->
268            <executable targetfile="$INSTALL_PATH/fixperms.bat" type="bin" stage="postinstall" keep="true" failure="warn"
[88afb23]269                condition="!izpack.windowsinstall.xp+!izpack.windowsinstall.2003" >
270                <os family="windows" />
[4389f27]271                <args>
272                    <arg value="$INSTALL_PATH" />
273                </args>
[ce50a9ca]274            </executable>
275            <!-- else delete it -->
[4389f27]276            <executable targetfile="$INSTALL_PATH/utility.jar"
[0c22af9]277                type="jar"
[4389f27]278                stage="postinstall" keep="true" failure="warn" condition="izpack.windowsinstall.xp|izpack.windowsinstall.2003">
[88afb23]279                <os family="windows" />
[4389f27]280                <args>
[0c22af9]281                    <arg value="delete" />
[4389f27]282                    <arg value="$INSTALL_PATH\fixperms.bat" />
283                </args>
[ce50a9ca]284            </executable>
285
[8bd99f6]286            <!--
[4389f27]287            <executable targetfile="$INSTALL_PATH/utility.jar"
[0c22af9]288                type="jar"
[4389f27]289                stage="postinstall" keep="true" failure="warn">
290                <os family="windows" />
291                    <args>
[0c22af9]292                        <arg value="exec" />
[4389f27]293                        <arg value="$INSTALL_PATH" />
294                        <arg value="$INSTALL_PATH\I2Psvc.exe" />
295                        <arg value="-c" />
296                        <arg value="$INSTALL_PATH\wrapper.config" />
297                    </args>
298            </executable>
[8bd99f6]299            -->
[264df83]300
[4389f27]301             <!--
302                  and now we delete the installer utility jar.
303                  I moved this out of installer/ because the directory
304                  couldn't be deleted while the jar was active and would
305                  remain on the system.
306
307                  This, however, works fine.
308             -->
309             <executable targetfile="$INSTALL_PATH/utility.jar"
[0c22af9]310                 type="jar"
[4389f27]311                 stage="postinstall" keep="false" failure="warn">
312                 <os family="windows" />
313                 <args>
[0c22af9]314                     <arg value="delete" />
[4389f27]315                     <arg value="$INSTALL_PATH/utility.jar" />
316                 </args>
317             </executable>
318
[8bd99f6]319            <!-- postinstall stuff for *nix -->
320            <!-- stage=never means chmod a+x -->
321            <executable targetfile="$INSTALL_PATH/postinstall.sh" type="bin" stage="never" keep="true" failure="warn"><os family="unix" /></executable>
322            <executable targetfile="$INSTALL_PATH/postinstall.sh" type="bin" stage="postinstall" keep="true" failure="warn"><os family="unix" />
323                <args><arg value="$INSTALL_PATH" /></args></executable>
[264df83]324            <!--
325             Removal of the I2P service in Windows should be done in the base pack
326             so that even if a user installed the service manually it will still be
327             removed when uninstalling.
328            -->
329            <executable targetfile="$INSTALL_PATH/uninstall_i2p_service_winnt.bat" stage="uninstall" os="windows" />
[8bd99f6]330        </pack>
[21a3657]331
[2f10cca]332        <!-- to disable by default, add preselected="no" -->
[660be7d5]333        <pack name="Windows Service" required="no" preselected="no">
[21a3657]334            <description>Automatically start I2P in the background</description>
335            <os family="windows" />
[9e6f993]336            <executable targetfile="$INSTALL_PATH/set_config_dir_for_nt_service.bat" stage="postinstall" failure="warn" keep="true" />
[264df83]337            <executable targetfile="$INSTALL_PATH/install_i2p_service_winnt.bat" stage="postinstall" failure="warn" keep="true" />
[21a3657]338            <executable targetfile="$INSTALL_PATH/I2Psvc.exe" stage="postinstall" failure="warn" keep="true">
339                <args>
340                    <arg value="-t" />
341                    <arg value="$INSTALL_PATH\wrapper.config" />
342                </args>
343            </executable>
344        </pack>
[8bd99f6]345    </packs>
346
347</installation>
[4389f27]348<!--
349vim:fenc=utf-8:ai:si:ts=4:sw=4:et:nu:
350-->
Note: See TracBrowser for help on using the repository browser.