Files
i2p.i2p/installer/install.xml
zzz 26e5f4c482 Windows: Fix installation directory permissions
For new installs, change owner rather than giving 'F' permission to Users group
For existing installs, change owner and change 'F' permission to 'RX' for Users group
Local privilege escalation vulnerability
Introduced 2009-06-11, released in 0.7.5 2009-06-29
Reported by Juilo Cesar Fort of Blaze Information Security 2020-04-28
2020-05-23 11:28:15 +00:00

335 lines
14 KiB
XML

<?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
<installation version="1.0">
<info>
<appname>i2p</appname>
<appversion>0.9.45</appversion>
<authors>
<author name="I2P" email="https://geti2p.net/"/>
</authors>
<url>https://geti2p.net/</url>
<javaversion>1.7</javaversion>
<!-- use pack200 compression, saves about 33%
see http://java.sun.com/j2se/1.5.0/docs/guide/deployment/deployment-guide/pack200.html
Unpack fails on java 1.5
see http://jira.codehaus.org/browse/IZPACK-404
<pack200 />
-->
<!-- adding this element will make the installer attempt to launch itself with administrator permissions,
-->
<run-privileged condition="izpack.windowsinstall.vista|izpack.windowsinstall.7"/>
</info>
<guiprefs width="590" height="356" resizable="yes">
<laf name="liquid">
<os family="unix"/>
</laf>
<!-- full names, not iso3 codes -->
<modifier key="langDisplayType" value="native" />
</guiprefs>
<locale>
<langpack iso3="eng"/>
<langpack iso3="cat"/>
<langpack iso3="chn"/>
<langpack iso3="cze"/>
<langpack iso3="dan"/>
<langpack iso3="deu"/>
<langpack iso3="ell"/>
<langpack iso3="fa"/>
<langpack iso3="fin"/>
<langpack iso3="fra"/>
<langpack iso3="glg"/>
<langpack iso3="hun"/>
<langpack iso3="ind"/>
<langpack iso3="ita"/>
<langpack iso3="jpn"/>
<langpack iso3="kor"/>
<langpack iso3="mys"/>
<langpack iso3="ned"/>
<langpack iso3="nor"/>
<langpack iso3="pol"/>
<langpack iso3="por"/>
<langpack iso3="rom"/>
<langpack iso3="rus"/>
<langpack iso3="scg"/>
<langpack iso3="spa"/>
<langpack iso3="svk"/>
<langpack iso3="swe"/>
<langpack iso3="tur"/>
<langpack iso3="twn"/>
<langpack iso3="ukr"/>
</locale>
<!--
The <os> tag can be used to restrict the inclusion into the uninstaller
to a specific operating system family, architecture or version.
The inclusion into the installer will be always done.
Here's a sample :
<native type="izpack" name="ShellLink.dll">
<os family="windows"/>
</native>
This doesn't appear to be necessary, the dlls don't get put in Uninstaller/uninstaller.jar on linux
-->
<native type="izpack" name="ShellLink.dll" />
<native type="izpack" name="ShellLink_x64.dll" />
<resources>
<res id="Installer.image" src="installer/resources/i2plogo.png" />
<res id="InfoPanel.info" src="installer/resources/readme.license.txt"/>
<!-- <res id="ProcessPanel.Spec.xml" src="installer/resources/ProcessPanel.Spec.xml"/> -->
<res id="shortcutSpec.xml" src="installer/resources/shortcutSpec.xml" />
<res id="XInfoPanel.info" src="installer/resources/start-i2p.txt" />
</resources>
<dynamicvariables>
<variable name="datamodel" value="${SYSTEM_sun_arch_data_model}"/>
</dynamicvariables>
<conditions>
<condition type="variable" id="is64bit">
<name>datamodel</name>
<value>64</value>
</condition>
</conditions>
<panels>
<panel classname="HelloPanel"/>
<panel classname="InfoPanel"/>
<panel classname="PacksPanel"><os family="windows" /></panel>
<panel classname="TargetPanel"/>
<panel classname="ShortcutPanel"><os family="windows" /></panel>
<panel classname="InstallPanel"/>
<!-- <panel classname="ProcessPanel"><os family="windows" /></panel> -->
<!-- unix|mac doesn't work, displays for windows too -->
<!--
Using the condition this way, the panel is shown on everything *but* Windows.
-->
<panel classname="XInfoPanel" condition="!izpack.windowsinstall" />
<panel classname="SimpleFinishPanel"/>
</panels>
<packs>
<pack name="Base" required="yes">
<description>Base installation files</description>
<fileset dir="pkg-temp" includes="**/*" targetdir="$INSTALL_PATH"/>
<!--
Do variable substitution in these files. See:
http://www.javalobby.org/forums/thread.jspa?threadID=15967&tstart=0
and the izpack docs for some guidance.
-->
<parsable targetfile="$INSTALL_PATH/wrapper.config" type="plain" />
<parsable targetfile="$INSTALL_PATH/i2prouter" type="shell"> <os family="unix" /> </parsable>
<parsable targetfile="$INSTALL_PATH/eepget" type="shell"> <os family="unix" /> </parsable>
<parsable targetfile="$INSTALL_PATH/eepget.bat" type="shell" os="windows" />
<parsable targetfile="$INSTALL_PATH/runplain.sh" type="shell"> <os family="unix" /> </parsable>
<parsable targetfile="$INSTALL_PATH/Start I2P Router.app/Contents/MacOS/i2prouter" type="shell" os="mac" />
<!-- postinstall stuff for windows -->
<!-- Wrapper for 32bit Windows JVM -->
<executable targetfile="$INSTALL_PATH/utility.jar"
type="jar"
stage="postinstall"
keep="true"
failure="warn"
condition="!is64bit">
<os family="windows" />
<args>
<arg value="copy" />
<arg value="$INSTALL_PATH\lib\wrapper\win32\I2Psvc.exe" />
<arg value="$INSTALL_PATH" />
</args>
</executable>
<executable targetfile="$INSTALL_PATH/utility.jar"
type="jar"
stage="postinstall"
keep="true"
failure="warn"
condition="!is64bit">
<os family="windows" />
<args>
<arg value="copy" />
<arg value="$INSTALL_PATH\lib\wrapper\win32\wrapper.dll" />
<arg value="$INSTALL_PATH\lib" />
</args>
</executable>
<!-- wrapper for 64bit Windows JVM -->
<executable targetfile="$INSTALL_PATH/utility.jar"
type="jar"
stage="postinstall"
keep="true"
failure="warn"
condition="is64bit">
<os family="windows" />
<args>
<arg value="copy" />
<arg value="$INSTALL_PATH\lib\wrapper\win64\I2Psvc.exe" />
<arg value="$INSTALL_PATH" />
</args>
</executable>
<executable targetfile="$INSTALL_PATH/utility.jar"
type="jar"
stage="postinstall"
keep="true"
failure="warn"
condition="is64bit">
<os family="windows" />
<args>
<arg value="copy" />
<arg value="$INSTALL_PATH\lib\wrapper\win64\wrapper.dll" />
<arg value="$INSTALL_PATH\lib" />
</args>
</executable>
<!--
We still copy the 32 bit version of wrapper.dll (even with a
64bit jvm) so that if a 32 bit jvm is installed in the future,
nothing breaks.
-->
<executable targetfile="$INSTALL_PATH/utility.jar"
type="jar"
stage="postinstall"
keep="true"
failure="warn"
condition="is64bit">
<os family="windows" />
<args>
<arg value="copy" />
<arg value="$INSTALL_PATH\lib\wrapper\win32\wrapper.dll" />
<arg value="$INSTALL_PATH\lib\wrapper-windows-x86-32.dll" />
</args>
</executable>
<!-- workaround for bad default path for wrapper.log in Windows. -->
<executable targetfile="$INSTALL_PATH/utility.jar"
type="jar"
stage="postinstall" keep="true">
<os family="windows" />
<args>
<arg value="fixwinpaths" />
<arg value="$INSTALL_PATH\wrapper.config" />
</args>
</executable>
<!-- Now we'll get rid of the UNIX-only stuff -->
<executable targetfile="$INSTALL_PATH/utility.jar"
type="jar"
stage="postinstall" keep="true" failure="warn">
<os family="windows" />
<args>
<arg value="delete" />
<arg value="$INSTALL_PATH\i2prouter" />
<arg value="$INSTALL_PATH\install_i2p_service_unix" />
<arg value="$INSTALL_PATH\install-headless.txt" />
<arg value="$INSTALL_PATH\runplain.sh" />
<arg value="$INSTALL_PATH\osid" />
<arg value="$INSTALL_PATH\postinstall.sh" />
<arg value="$INSTALL_PATH\uninstall_i2p_service_unix" />
<arg value="$INSTALL_PATH\lib\wrapper" />
<arg value="$INSTALL_PATH\eepget" />
<arg value="$INSTALL_PATH/Start I2P Router.app" />
<arg value="$INSTALL_PATH/net.i2p.router.plist.template" />
<arg value="$INSTALL_PATH/install_i2p_service_osx.command" />
<arg value="$INSTALL_PATH/uninstall_i2p_service_osx.command" />
<arg value="$INSTALL_PATH/man" />
<arg value="$INSTALL_PATH/locale" />
<!-- Placeholder for an OSX 'shortcut' to the router console
<arg value="$INSTALL_PATH/I2P Router Console.webloc" />
-->
</args>
</executable>
<!-- change owner to %username% so updates will work -->
<executable targetfile="$INSTALL_PATH/fixperms.bat" type="bin" stage="postinstall" keep="true" failure="warn"
condition="!izpack.windowsinstall.xp+!izpack.windowsinstall.2003" >
<os family="windows" />
<args>
<arg value="$INSTALL_PATH" />
</args>
</executable>
<!-- else delete it -->
<executable targetfile="$INSTALL_PATH/utility.jar"
type="jar"
stage="postinstall" keep="true" failure="warn" condition="izpack.windowsinstall.xp|izpack.windowsinstall.2003">
<os family="windows" />
<args>
<arg value="delete" />
<arg value="$INSTALL_PATH\fixperms.bat" />
</args>
</executable>
<!--
<executable targetfile="$INSTALL_PATH/utility.jar"
type="jar"
stage="postinstall" keep="true" failure="warn">
<os family="windows" />
<args>
<arg value="exec" />
<arg value="$INSTALL_PATH" />
<arg value="$INSTALL_PATH\I2Psvc.exe" />
<arg value="-c" />
<arg value="$INSTALL_PATH\wrapper.config" />
</args>
</executable>
-->
<!--
and now we delete the installer utility jar.
I moved this out of installer/ because the directory
couldn't be deleted while the jar was active and would
remain on the system.
This, however, works fine.
-->
<executable targetfile="$INSTALL_PATH/utility.jar"
type="jar"
stage="postinstall" keep="false" failure="warn">
<os family="windows" />
<args>
<arg value="delete" />
<arg value="$INSTALL_PATH/utility.jar" />
</args>
</executable>
<!-- postinstall stuff for *nix -->
<!-- stage=never means chmod a+x -->
<executable targetfile="$INSTALL_PATH/postinstall.sh" type="bin" stage="never" keep="true" failure="warn"><os family="unix" /></executable>
<executable targetfile="$INSTALL_PATH/postinstall.sh" type="bin" stage="postinstall" keep="true" failure="warn"><os family="unix" />
<args><arg value="$INSTALL_PATH" /></args></executable>
<!--
Removal of the I2P service in Windows should be done in the base pack
so that even if a user installed the service manually it will still be
removed when uninstalling.
-->
<executable targetfile="$INSTALL_PATH/uninstall_i2p_service_winnt.bat" stage="uninstall" os="windows" />
</pack>
<!-- to disable by default, add preselected="no" -->
<pack name="Windows Service" required="no" preselected="no">
<description>Automatically start I2P in the background</description>
<os family="windows" />
<executable targetfile="$INSTALL_PATH/set_config_dir_for_nt_service.bat" stage="postinstall" failure="warn" keep="true" />
<executable targetfile="$INSTALL_PATH/install_i2p_service_winnt.bat" stage="postinstall" failure="warn" keep="true" />
<executable targetfile="$INSTALL_PATH/I2Psvc.exe" stage="postinstall" failure="warn" keep="true">
<args>
<arg value="-t" />
<arg value="$INSTALL_PATH\wrapper.config" />
</args>
</executable>
</pack>
</packs>
</installation>
<!--
vim:fenc=utf-8:ai:si:ts=4:sw=4:et:nu:
-->