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 | <!-- |
---|
42 | Not in 5.1.2, pick another one |
---|
43 | https://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 | <!-- XInfoConsolePanel --> |
---|
140 | <jar src="installer/lib/izpack5/patches/java/build/izpack-i2p.jar" /> |
---|
141 | |
---|
142 | <panels> |
---|
143 | <panel classname="HelloPanel"/> |
---|
144 | <panel classname="InfoPanel"/> |
---|
145 | <panel classname="TargetPanel"/> |
---|
146 | <!-- In 5.1.2, PacksPanel will NPE at install time if before TargetPanel --> |
---|
147 | <panel classname="PacksPanel"><os family="windows" /></panel> |
---|
148 | <panel classname="InstallPanel"/> |
---|
149 | <!-- In 5.1.2, ShortcutPanel must be after InstallPanel, so the .ico files will be there, |
---|
150 | unless <lateShortcutInstall/> is set in shorcutSpec.xml. |
---|
151 | If you don't do this right, the shortcuts won't have our icons. |
---|
152 | --> |
---|
153 | <panel classname="ShortcutPanel"><os family="windows" /></panel> |
---|
154 | <!-- |
---|
155 | Using the condition this way, the panel is shown on everything *but* Windows. |
---|
156 | Fails in console mode: Installer says: |
---|
157 | No console mode helper found for class com.izforge.izpack.panels.xinfo.XInfoPanel, panel type will be skipped in console mode installation |
---|
158 | No automation helper found for class com.izforge.izpack.panels.xinfo.XInfoPanel, panel type will be skipped in automated installation |
---|
159 | But isn't actually skipped when installing with -console: |
---|
160 | SEVERE: com.izforge.izpack.api.exception.IzPackException: Console implementation not found for panel: com.izforge.izpack.panels.xinfo.XInfoPanel |
---|
161 | --> |
---|
162 | <panel classname="XInfoPanel" condition="!izpack.windowsinstall" /> |
---|
163 | <panel classname="SimpleFinishPanel"/> |
---|
164 | </panels> |
---|
165 | |
---|
166 | <packs> |
---|
167 | <pack name="Base" required="yes"> |
---|
168 | <description>Base installation files</description> |
---|
169 | <!-- non-jars --> |
---|
170 | <fileset dir="pkg-temp" excludes="**/*.jar" targetdir="$INSTALL_PATH"/> |
---|
171 | <!-- pack200 jars --> |
---|
172 | <fileset dir="pkg-temp" includes="**/*.jar" |
---|
173 | excludes="lib/commons-logging.jar lib/jasper-compiler.jar lib/jetty-java5-threadpool.jar lib/jetty-sslengine.jar lib/jbigi.jar" |
---|
174 | targetdir="$INSTALL_PATH"> |
---|
175 | <pack200/> |
---|
176 | </fileset> |
---|
177 | <!-- non-pack200 jars --> |
---|
178 | <fileset dir="pkg-temp" |
---|
179 | includes="lib/commons-logging.jar lib/jasper-compiler.jar lib/jetty-java5-threadpool.jar lib/jetty-sslengine.jar lib/jbigi.jar" |
---|
180 | targetdir="$INSTALL_PATH"> |
---|
181 | </fileset> |
---|
182 | <!-- |
---|
183 | Do variable substitution in these files. See: |
---|
184 | http://www.javalobby.org/forums/thread.jspa?threadID=15967&tstart=0 |
---|
185 | and the izpack docs for some guidance. |
---|
186 | --> |
---|
187 | <parsable targetfile="$INSTALL_PATH/wrapper.config" type="plain" /> |
---|
188 | <parsable targetfile="$INSTALL_PATH/i2prouter" type="shell"> <os family="unix" /> </parsable> |
---|
189 | <parsable targetfile="$INSTALL_PATH/eepget" type="shell"> <os family="unix" /> </parsable> |
---|
190 | <parsable targetfile="$INSTALL_PATH/eepget.bat" type="shell"><os family="windows" /></parsable> |
---|
191 | <parsable targetfile="$INSTALL_PATH/runplain.sh" type="shell"> <os family="unix" /> </parsable> |
---|
192 | <parsable targetfile="$INSTALL_PATH/Start I2P Router.app/Contents/MacOS/i2prouter" type="shell"><os family="mac" /></parsable> |
---|
193 | |
---|
194 | <!-- postinstall stuff for windows --> |
---|
195 | <!-- Wrapper for 32bit Windows JVM --> |
---|
196 | <executable targetfile="$INSTALL_PATH/utility.jar" |
---|
197 | type="jar" |
---|
198 | class="net.i2p.installer.Main" |
---|
199 | stage="postinstall" |
---|
200 | keep="true" |
---|
201 | failure="warn" |
---|
202 | condition="!is64bit"> |
---|
203 | <os family="windows" /> |
---|
204 | <args> |
---|
205 | <arg value="copy" /> |
---|
206 | <arg value="$INSTALL_PATH\lib\wrapper\win32\I2Psvc.exe" /> |
---|
207 | <arg value="$INSTALL_PATH" /> |
---|
208 | </args> |
---|
209 | </executable> |
---|
210 | |
---|
211 | <executable targetfile="$INSTALL_PATH/utility.jar" |
---|
212 | type="jar" |
---|
213 | class="net.i2p.installer.Main" |
---|
214 | stage="postinstall" |
---|
215 | keep="true" |
---|
216 | failure="warn" |
---|
217 | condition="!is64bit"> |
---|
218 | <os family="windows" /> |
---|
219 | <args> |
---|
220 | <arg value="copy" /> |
---|
221 | <arg value="$INSTALL_PATH\lib\wrapper\win32\wrapper.dll" /> |
---|
222 | <arg value="$INSTALL_PATH\lib" /> |
---|
223 | </args> |
---|
224 | </executable> |
---|
225 | |
---|
226 | <!-- wrapper for 64bit Windows JVM --> |
---|
227 | <executable targetfile="$INSTALL_PATH/utility.jar" |
---|
228 | type="jar" |
---|
229 | class="net.i2p.installer.Main" |
---|
230 | stage="postinstall" |
---|
231 | keep="true" |
---|
232 | failure="warn" |
---|
233 | condition="is64bit"> |
---|
234 | <os family="windows" /> |
---|
235 | <args> |
---|
236 | <arg value="copy" /> |
---|
237 | <arg value="$INSTALL_PATH\lib\wrapper\win64\I2Psvc.exe" /> |
---|
238 | <arg value="$INSTALL_PATH" /> |
---|
239 | </args> |
---|
240 | </executable> |
---|
241 | |
---|
242 | <executable targetfile="$INSTALL_PATH/utility.jar" |
---|
243 | type="jar" |
---|
244 | class="net.i2p.installer.Main" |
---|
245 | stage="postinstall" |
---|
246 | keep="true" |
---|
247 | failure="warn" |
---|
248 | condition="is64bit"> |
---|
249 | <os family="windows" /> |
---|
250 | <args> |
---|
251 | <arg value="copy" /> |
---|
252 | <arg value="$INSTALL_PATH\lib\wrapper\win64\wrapper.dll" /> |
---|
253 | <arg value="$INSTALL_PATH\lib" /> |
---|
254 | </args> |
---|
255 | </executable> |
---|
256 | |
---|
257 | <!-- |
---|
258 | We still copy the 32 bit version of wrapper.dll (even with a |
---|
259 | 64bit jvm) so that if a 32 bit jvm is installed in the future, |
---|
260 | nothing breaks. |
---|
261 | --> |
---|
262 | <executable targetfile="$INSTALL_PATH/utility.jar" |
---|
263 | type="jar" |
---|
264 | class="net.i2p.installer.Main" |
---|
265 | stage="postinstall" |
---|
266 | keep="true" |
---|
267 | failure="warn" |
---|
268 | condition="is64bit"> |
---|
269 | <os family="windows" /> |
---|
270 | <args> |
---|
271 | <arg value="copy" /> |
---|
272 | <arg value="$INSTALL_PATH\lib\wrapper\win32\wrapper.dll" /> |
---|
273 | <arg value="$INSTALL_PATH\lib\wrapper-windows-x86-32.dll" /> |
---|
274 | </args> |
---|
275 | </executable> |
---|
276 | |
---|
277 | <!-- workaround for bad default path for wrapper.log in Windows. --> |
---|
278 | <executable targetfile="$INSTALL_PATH/utility.jar" |
---|
279 | type="jar" |
---|
280 | class="net.i2p.installer.Main" |
---|
281 | stage="postinstall" keep="true"> |
---|
282 | <os family="windows" /> |
---|
283 | <args> |
---|
284 | <arg value="fixwinpaths" /> |
---|
285 | <arg value="$INSTALL_PATH\wrapper.config" /> |
---|
286 | </args> |
---|
287 | </executable> |
---|
288 | |
---|
289 | <!-- Now we'll get rid of the UNIX-only stuff --> |
---|
290 | <executable targetfile="$INSTALL_PATH/utility.jar" |
---|
291 | type="jar" |
---|
292 | class="net.i2p.installer.Main" |
---|
293 | stage="postinstall" keep="true" failure="warn"> |
---|
294 | <os family="windows" /> |
---|
295 | <args> |
---|
296 | <arg value="delete" /> |
---|
297 | <arg value="$INSTALL_PATH\i2prouter" /> |
---|
298 | <arg value="$INSTALL_PATH\install_i2p_service_unix" /> |
---|
299 | <arg value="$INSTALL_PATH\install-headless.txt" /> |
---|
300 | <arg value="$INSTALL_PATH\runplain.sh" /> |
---|
301 | <arg value="$INSTALL_PATH\osid" /> |
---|
302 | <arg value="$INSTALL_PATH\postinstall.sh" /> |
---|
303 | <arg value="$INSTALL_PATH\uninstall_i2p_service_unix" /> |
---|
304 | <arg value="$INSTALL_PATH\lib\wrapper" /> |
---|
305 | <arg value="$INSTALL_PATH\eepget" /> |
---|
306 | <arg value="$INSTALL_PATH/Start I2P Router.app" /> |
---|
307 | <arg value="$INSTALL_PATH/net.i2p.router.plist.template" /> |
---|
308 | <arg value="$INSTALL_PATH/install_i2p_service_osx.command" /> |
---|
309 | <arg value="$INSTALL_PATH/uninstall_i2p_service_osx.command" /> |
---|
310 | <arg value="$INSTALL_PATH/man" /> |
---|
311 | <arg value="$INSTALL_PATH/locale" /> |
---|
312 | <!-- Placeholder for an OSX 'shortcut' to the router console |
---|
313 | <arg value="$INSTALL_PATH/I2P Router Console.webloc" /> |
---|
314 | --> |
---|
315 | </args> |
---|
316 | </executable> |
---|
317 | |
---|
318 | <!-- workaround for vista permission problems - see comments above --> |
---|
319 | <executable targetfile="$INSTALL_PATH/fixperms.bat" type="bin" stage="postinstall" keep="true" failure="warn" |
---|
320 | condition="!izpack.windowsinstall.xp+!izpack.windowsinstall.2003" > |
---|
321 | <os family="windows" /> |
---|
322 | <args> |
---|
323 | <arg value="$INSTALL_PATH" /> |
---|
324 | </args> |
---|
325 | </executable> |
---|
326 | <!-- else delete it --> |
---|
327 | <executable targetfile="$INSTALL_PATH/utility.jar" |
---|
328 | type="jar" |
---|
329 | class="net.i2p.installer.Main" |
---|
330 | stage="postinstall" keep="true" failure="warn" condition="izpack.windowsinstall.xp|izpack.windowsinstall.2003"> |
---|
331 | <os family="windows" /> |
---|
332 | <args> |
---|
333 | <arg value="delete" /> |
---|
334 | <arg value="$INSTALL_PATH\fixperms.bat" /> |
---|
335 | </args> |
---|
336 | </executable> |
---|
337 | |
---|
338 | <!-- |
---|
339 | <executable targetfile="$INSTALL_PATH/utility.jar" |
---|
340 | type="jar" |
---|
341 | class="net.i2p.installer.Main" |
---|
342 | stage="postinstall" keep="true" failure="warn"> |
---|
343 | <os family="windows" /> |
---|
344 | <args> |
---|
345 | <arg value="exec" /> |
---|
346 | <arg value="$INSTALL_PATH" /> |
---|
347 | <arg value="$INSTALL_PATH\I2Psvc.exe" /> |
---|
348 | <arg value="-c" /> |
---|
349 | <arg value="$INSTALL_PATH\wrapper.config" /> |
---|
350 | </args> |
---|
351 | </executable> |
---|
352 | --> |
---|
353 | |
---|
354 | <!-- |
---|
355 | and now we delete the installer utility jar. |
---|
356 | I moved this out of installer/ because the directory |
---|
357 | couldn't be deleted while the jar was active and would |
---|
358 | remain on the system. |
---|
359 | |
---|
360 | This, however, works fine. |
---|
361 | --> |
---|
362 | <executable targetfile="$INSTALL_PATH/utility.jar" |
---|
363 | type="jar" |
---|
364 | class="net.i2p.installer.Main" |
---|
365 | stage="postinstall" keep="false" failure="warn"> |
---|
366 | <os family="windows" /> |
---|
367 | <args> |
---|
368 | <arg value="delete" /> |
---|
369 | <arg value="$INSTALL_PATH/utility.jar" /> |
---|
370 | </args> |
---|
371 | </executable> |
---|
372 | |
---|
373 | <!-- postinstall stuff for *nix --> |
---|
374 | <!-- stage=never means chmod a+x --> |
---|
375 | <executable targetfile="$INSTALL_PATH/postinstall.sh" type="bin" stage="never" keep="true" failure="warn"><os family="unix" /></executable> |
---|
376 | <executable targetfile="$INSTALL_PATH/postinstall.sh" type="bin" stage="postinstall" keep="true" failure="warn"><os family="unix" /> |
---|
377 | <args><arg value="$INSTALL_PATH" /></args></executable> |
---|
378 | <!-- |
---|
379 | Removal of the I2P service in Windows should be done in the base pack |
---|
380 | so that even if a user installed the service manually it will still be |
---|
381 | removed when uninstalling. |
---|
382 | --> |
---|
383 | <executable targetfile="$INSTALL_PATH/uninstall_i2p_service_winnt.bat" stage="uninstall"><os family="windows" /></executable> |
---|
384 | </pack> |
---|
385 | |
---|
386 | <!-- to disable by default, add preselected="no" --> |
---|
387 | <pack name="Windows Service" required="no" preselected="no"> |
---|
388 | <description>Automatically start I2P in the background</description> |
---|
389 | <os family="windows" /> |
---|
390 | <executable targetfile="$INSTALL_PATH/set_config_dir_for_nt_service.bat" stage="postinstall" failure="warn" keep="true" /> |
---|
391 | <executable targetfile="$INSTALL_PATH/install_i2p_service_winnt.bat" stage="postinstall" failure="warn" keep="true" /> |
---|
392 | <executable targetfile="$INSTALL_PATH/I2Psvc.exe" stage="postinstall" failure="warn" keep="true"> |
---|
393 | <args> |
---|
394 | <arg value="-t" /> |
---|
395 | <arg value="$INSTALL_PATH\wrapper.config" /> |
---|
396 | </args> |
---|
397 | </executable> |
---|
398 | </pack> |
---|
399 | </packs> |
---|
400 | |
---|
401 | </izpack:installation> |
---|