I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects
install.xml 14.6 KiB
Newer Older
  • Learn to ignore specific revisions
  • jrandom's avatar
    jrandom committed
    <?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
    
    <installation version="1.0">
    
        <info>
            <appname>i2p</appname>
    
    zzz's avatar
    zzz committed
            <appversion>0.9.35</appversion>
    
    jrandom's avatar
    jrandom committed
            <authors>
    
    zzz's avatar
    zzz committed
                <author name="I2P" email="https://geti2p.net/"/>
    
    jrandom's avatar
    jrandom committed
            </authors>
    
    zzz's avatar
    zzz committed
            <url>https://geti2p.net/</url>
    
    zzz's avatar
    zzz committed
            <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
    
    zzz's avatar
    zzz committed
                 <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"/>
    
    jrandom's avatar
    jrandom committed
        </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" />
    
    jrandom's avatar
    jrandom committed
        </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="hun"/>
    
            <langpack iso3="ita"/>
            <langpack iso3="jpn"/>
    
            <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="ukr"/>
    
    jrandom's avatar
    jrandom committed
        </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
         -->
    
    jrandom's avatar
    jrandom committed
        <native type="izpack" name="ShellLink.dll" />
    
        <native type="izpack" name="ShellLink_x64.dll" />
    
    
    jrandom's avatar
    jrandom committed
        <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" />
    
    jrandom's avatar
    jrandom committed
        </resources>
    
        <panels>
            <panel classname="HelloPanel"/>
            <panel classname="InfoPanel"/>
    
            <panel classname="PacksPanel"><os family="windows" /></panel>
    
    jrandom's avatar
    jrandom committed
            <panel classname="TargetPanel"/>
            <panel classname="ShortcutPanel"><os family="windows" /></panel>
    
            <panel classname="InstallPanel"/>
    
    jrandom's avatar
    jrandom committed
            <!-- <panel classname="ProcessPanel"><os family="windows" /></panel> -->
    
    zzz's avatar
    zzz committed
            <!-- 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>
    
    jrandom's avatar
    jrandom committed
    
        <packs>
            <pack name="Base" required="yes">
                <description>Base installation files</description>
                <fileset dir="pkg-temp" includes="**/*" targetdir="$INSTALL_PATH"/>
    
    zzz's avatar
    zzz committed
                <!--
    
    zzz's avatar
    zzz committed
                  Do variable substitution in these files. See:
    
    zzz's avatar
    zzz committed
                  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/scripts/home.i2p.i2prouter" type="plain"> <os family="unix" /> </parsable>
    
                <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>
    
    kytv's avatar
    kytv committed
                <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>
    
    
    jrandom's avatar
    jrandom committed
                <!-- postinstall stuff for windows -->
    
                <!-- Wrapper for 32bit Windows JVM -->
                <executable targetfile="$INSTALL_PATH/utility.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"
    
                    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"
    
                    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"
    
                    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"
    
                     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"
    
                     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"
    
                     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>
    
    
                <!-- 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.xp+!izpack.windowsinstall.2003" >
                    <os family="windows" />
    
                    <args>
                        <arg value="$INSTALL_PATH" />
                    </args>
    
                </executable>
                <!-- else delete it -->
    
                <executable targetfile="$INSTALL_PATH/utility.jar"
    
                    stage="postinstall" keep="true" failure="warn" condition="izpack.windowsinstall.xp|izpack.windowsinstall.2003">
    
                    <os family="windows" />
    
                        <arg value="delete" />
    
                        <arg value="$INSTALL_PATH\fixperms.bat" />
                    </args>
    
    jrandom's avatar
    jrandom committed
                <!--
    
                <executable targetfile="$INSTALL_PATH/utility.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>
    
    jrandom's avatar
    jrandom committed
                -->
    
                 <!--
                      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"
    
                     stage="postinstall" keep="false" failure="warn">
                     <os family="windows" />
                     <args>
    
                         <arg value="delete" />
    
                         <arg value="$INSTALL_PATH/utility.jar" />
                     </args>
                 </executable>
    
    
    jrandom's avatar
    jrandom committed
                <!-- 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" />
    
    jrandom's avatar
    jrandom committed
            </pack>
    
    zzz's avatar
    zzz committed
            <!-- 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>
    
    jrandom's avatar
    jrandom committed
        </packs>
    
    </installation>
    
    <!--
    vim:fenc=utf-8:ai:si:ts=4:sw=4:et:nu:
    -->