forked from I2P_Developers/i2p.i2p

The default service path in Windows is fugly and not very convenient. I2P uses the correct path, but if you want to access snark or eepsite data, one must go to %SYSTEMROOT%\config\systemprofile\AppData\Roaming\I2P\ (Vista/7) or %SYSTEMROOT%\system32\config\systemprofile\Application Data\I2P (XP/2003). If this wasn't bad enough, in some cases one must take ownership of this path and grant permission to him- or herself to access the folder. With this changeset, I'm setting the path to %ALLUSERSPROFILE%\Application Data\I2P as well as adding a shortcut to the I2P folder in the Start menu.
257 lines
14 KiB
XML
257 lines
14 KiB
XML
<?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
|
|
|
|
<installation version="1.0">
|
|
|
|
<info>
|
|
<appname>i2p</appname>
|
|
<appversion>0.8.8</appversion>
|
|
<authors>
|
|
<author name="I2P" email="http://forum.i2p2.de/"/>
|
|
</authors>
|
|
<url>http://www.i2p2.de/</url>
|
|
<javaversion>1.5</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,
|
|
but see http://www.nabble.com/Classpath-security-issues-on-Vista-td22456230.html
|
|
which says it isn't sufficient:
|
|
|
|
Just to let you know that I managed to identify and resolve the problem (in
|
|
case anyone else has it). The default installation directory for Vista is
|
|
under "Program Files" which is a "special" directory which can only be
|
|
written to (create sub-directories) by administrators. However, stupid
|
|
Vista downgrades an administrator to a normal user when the program is run
|
|
via the application shortcut menu. As you suggested, I added a script which
|
|
runs ICACLS which resolved the problem, i.e.
|
|
|
|
icacls %1 /grant Users:F /T > priv.log
|
|
|
|
The command needs to be run as a Process rather than as an executable tag in
|
|
order to pass $INSTALL_PATH as a parameter.
|
|
-->
|
|
<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>
|
|
|
|
<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="ProcessPanel"><os family="windows" /></panel> -->
|
|
<!-- unix|mac doesn't work, displays for windows too -->
|
|
|
|
<!-- Unfortunately unix is used for osx as well, so the XInfoPanel was shown *twice*
|
|
on OSX. Using the condition this way, the panel is shown on everything
|
|
*but* Windows.
|
|
-->
|
|
<panel classname="XInfoPanel" condition="!izpack.windowsinstall" />
|
|
<!--<panel classname="XInfoPanel" ><os family="unix" /></panel> -->
|
|
<!--<panel classname="XInfoPanel" ><os family="mac" /></panel> -->
|
|
<panel classname="InstallPanel"/>
|
|
<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="unix|mac" />
|
|
<parsable targetfile="$INSTALL_PATH/eepget" type="shell" os="unix|mac" />
|
|
<parsable targetfile="$INSTALL_PATH/runplain.sh" type="shell" os="unix|mac" />
|
|
<parsable targetfile="$INSTALL_PATH/Start I2P Router.app/Contents/MacOS/i2prouter" type="shell" os="mac" />
|
|
|
|
<conditions>
|
|
<condition type="variable" id="is64bit">
|
|
<name>SYSTEM_sun_arch_data_model</name>
|
|
<value>64</value>
|
|
</condition>
|
|
</conditions>
|
|
<!-- postinstall stuff for windows -->
|
|
<!-- Wrapper for 32bit Windows JVM -->
|
|
<executable targetfile="$INSTALL_PATH/installer/copy.jar" type="jar" stage="postinstall" keep="true" failure="warn"
|
|
condition="!is64bit"> <os family="windows" />
|
|
<args><arg value="$INSTALL_PATH\lib\wrapper\win32\I2Psvc.exe" /><arg value="$INSTALL_PATH" /></args></executable>
|
|
<executable targetfile="$INSTALL_PATH/installer/copy.jar" type="jar" stage="postinstall" keep="true" failure="warn"
|
|
condition="!is64bit"> <os family="windows" />
|
|
<args><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/installer/copy.jar" type="jar" stage="postinstall" keep="true" failure="warn"
|
|
condition="is64bit" > <os family="windows" />
|
|
<args><arg value="$INSTALL_PATH\lib\wrapper\win64\I2Psvc.exe" /><arg value="$INSTALL_PATH" /></args></executable>
|
|
<executable targetfile="$INSTALL_PATH/installer/copy.jar" type="jar" stage="postinstall" keep="true" failure="warn"
|
|
condition="is64bit" > <os family="windows" />
|
|
<args><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/installer/copy.jar" type="jar" stage="postinstall" keep="true" failure="warn"
|
|
condition="is64bit" > <os family="windows" />
|
|
<args><arg value="$INSTALL_PATH\lib\wrapper\win32\wrapper.dll" /><arg value="$INSTALL_PATH\lib\wrapper-windows-x86-32.dll" /></args></executable>
|
|
<executable targetfile="$INSTALL_PATH/installer/delete.jar" type="jar" stage="postinstall" keep="true" failure="warn"> <os family="windows" />
|
|
<args><arg value="$INSTALL_PATH\i2prouter" /></args></executable>
|
|
<executable targetfile="$INSTALL_PATH/installer/delete.jar" type="jar" stage="postinstall" keep="true" failure="warn"> <os family="windows" />
|
|
<args><arg value="$INSTALL_PATH\install_i2p_service_unix" /></args></executable>
|
|
<executable targetfile="$INSTALL_PATH/installer/delete.jar" type="jar" stage="postinstall" keep="true" failure="warn"> <os family="windows" />
|
|
<args><arg value="$INSTALL_PATH\install-headless.txt" /></args></executable>
|
|
<executable targetfile="$INSTALL_PATH/installer/delete.jar" type="jar" stage="postinstall" keep="true" failure="warn"> <os family="windows" />
|
|
<args><arg value="$INSTALL_PATH\runplain.sh" /></args></executable>
|
|
<executable targetfile="$INSTALL_PATH/installer/delete.jar" type="jar" stage="postinstall" keep="true" failure="warn"> <os family="windows" />
|
|
<args><arg value="$INSTALL_PATH\osid" /></args></executable>
|
|
<executable targetfile="$INSTALL_PATH/installer/delete.jar" type="jar" stage="postinstall" keep="true" failure="warn"> <os family="windows" />
|
|
<args><arg value="$INSTALL_PATH\postinstall.sh" /></args></executable>
|
|
<executable targetfile="$INSTALL_PATH/installer/delete.jar" type="jar" stage="postinstall" keep="true" failure="warn"> <os family="windows" />
|
|
<args><arg value="$INSTALL_PATH\uninstall_i2p_service_unix" /></args></executable>
|
|
<executable targetfile="$INSTALL_PATH/installer/delete.jar" type="jar" stage="postinstall" keep="true" failure="warn"> <os family="windows" />
|
|
<args><arg value="$INSTALL_PATH\lib\wrapper" /></args></executable>
|
|
<executable targetfile="$INSTALL_PATH/installer/delete.jar" type="jar" stage="postinstall" keep="true" failure="warn"> <os family="windows" />
|
|
<args><arg value="$INSTALL_PATH\eepget" /></args></executable>
|
|
<executable targetfile="$INSTALL_PATH/installer/delete.jar" type="jar" stage="postinstall" keep="true" failure="warn"> <os family="windows" />
|
|
<args><arg value="$INSTALL_PATH/Start I2P Router.app" /></args></executable>
|
|
<executable targetfile="$INSTALL_PATH/installer/delete.jar" type="jar" stage="postinstall" keep="true" failure="warn"> <os family="windows" />
|
|
<args><arg value="$INSTALL_PATH/man" /></args></executable>
|
|
<!-- Placeholder for an OSX 'shortcut' to the router console
|
|
<executable targetfile="$INSTALL_PATH/installer/delete.jar" type="jar" stage="postinstall" keep="true" failure="warn"> <os family="windows" />
|
|
<args><arg value="$INSTALL_PATH/I2P Router Console.webloc" /></args></executable>
|
|
-->
|
|
<!-- workaround for bad default path for wrapper.log in Windows. -->
|
|
<executable targetfile="$INSTALL_PATH/fix_logfile_path.cmd" type="bin" stage="postinstall" keep="false"> <os family="windows" />
|
|
</executable>
|
|
|
|
<!-- workaround for vista permission problems - see comments above -->
|
|
<executable targetfile="$INSTALL_PATH/fixperms.bat" type="bin" stage="postinstall" keep="true" failure="warn"
|
|
condition="izpack.windowsinstall.vista|izpack.windowsinstall.7" >
|
|
<args><arg value="$INSTALL_PATH" /></args>
|
|
</executable>
|
|
<!-- else delete it -->
|
|
<executable targetfile="$INSTALL_PATH/installer/delete.jar" type="jar" stage="postinstall" keep="true" failure="warn"
|
|
condition="izpack.windowsinstall.xp|izpack.windowsinstall.2003" >
|
|
<args><arg value="$INSTALL_PATH\fixperms.bat" /></args>
|
|
</executable>
|
|
|
|
<!--
|
|
<executable targetfile="$INSTALL_PATH/installer/exec.jar" type="jar" stage="postinstall" keep="true" failure="warn"> <os family="windows" />
|
|
<args><arg value="$INSTALL_PATH" /><arg value="$INSTALL_PATH\I2Psvc.exe" /><arg value="-c" /><arg value="$INSTALL_PATH\wrapper.config" /></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">
|
|
<args>
|
|
<arg value="$INSTALL_PATH\wrapper.config" />
|
|
<arg value="--nopause" />
|
|
</args>
|
|
</executable>
|
|
|
|
<executable targetfile="$INSTALL_PATH/installer/delete.jar" type="jar" stage="postinstall" keep="false" failure="warn"> <os family="windows" />
|
|
<args><arg value="$INSTALL_PATH/installer/" /></args></executable>
|
|
|
|
</pack>
|
|
|
|
<!-- to disable by default, add preselected="no" -->
|
|
<pack name="Windows Service" required="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">
|
|
<args>
|
|
<arg value="$INSTALL_PATH\wrapper.config" />
|
|
<arg value="--nopause" />
|
|
</args>
|
|
</executable>
|
|
<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>
|