diff --git a/INSTALL-headless.txt b/INSTALL-headless.txt
index 03229c7964bd2ef66e7f161b96e343b8dcc9a4f7..d4b066d7356ee521ddf40d7ea6948c21835fcc0f 100644
--- a/INSTALL-headless.txt
+++ b/INSTALL-headless.txt
@@ -1,12 +1,17 @@
 Headless I2P installation instructions
 
-1) tar xjf i2p.tar.bz2                     (you've already done this)
-2) cd i2p ; vi INSTALL-headless.txt        (you're doing this now)
-3) sh postinstall.sh                       (this launches the router)
-4) lynx http://localhost:7657/index.jsp    (configure the router)
+1) java -jar i2pinstall.exe -console       (you've already done this)
 
-If you're having trouble, swing by http://forum.i2p.net/, check the
-website at http://www.i2p.net/, or get on irc://irc.freenode.net/#i2p
+This will run the installer in text mode, including running the postinstall.sh
+script, which will start the router and launch a browser.
+
+If you do not have an X server running, the browser launch will fail, and
+you may use:
+  lynx http://localhost:7657/index.jsp
+to configure the router.
+
+If you're having trouble, swing by http://forum.i2p2.de/, check the
+website at http://www.i2p2.de/, or get on irc://irc.freenode.net/#i2p
 
 To run I2P explicitly:
    (*nix): sh i2prouter start
diff --git a/INSTALL.txt b/INSTALL.txt
index 22f631bfe28892847a15ac9ec92c00c2fb62b433..15a962df2aa38a7dcf475348843e93e0b821b993 100644
--- a/INSTALL.txt
+++ b/INSTALL.txt
@@ -6,16 +6,20 @@ and package up the appropriate installer by running:
   ant pkg
 
 This will produce a few key files:
-* i2p.tar.bz2:   the headless installation
-* install.jar:   the GUI installer
-* i2pupdate.zip: the update package
+* install.jar:    the GUI and console installer
+* i2pinstall.exe: the GUI and console installer wrapped for cross-platform execution
+* i2pupdate.zip:  the update package
 
-From there, you can follow the headless installation instructions
-with the headless installer, run the GUI installer, or deploy
-the update into an existing installation.
+From there, you can run the headless (console mode) installer:
+  java -jar i2pinstall.exe -console
+
+Or run the GUI installer:
+  java -jar i2pinstall.exe
+
+Or move the update file into an existing installation directory and restart.
 
 You will need to have ant installed from http://ant.apache.org/
-(1.5 or newer)
+(1.7.0 or newer)
 
 Supported JVMs:
   Windows: Latest available from http://java.sun.com/ (1.5+ supported)
diff --git a/LICENSE.txt b/LICENSE.txt
index dd3b3c51792f8bdd4b9baa4455aecc152c07157c..1ce8412e6cad1e925d5376e923a156b197635579 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -116,8 +116,9 @@ Installer:
 
 	Forms were created using Abeille Forms Designer (https://abeille.dev.java.net/)
 
-   Izpack:
-   See licenses/LICENSE-Apache1.1.txt
+   Izpack 4.3.0:
+   Copyright (c) 2001-2008 Julien Ponge
+   See licenses/LICENSE-Apache2.0.txt
 
 
 
diff --git a/build.xml b/build.xml
index 919a0342e7d86bf9f7a261fd841c660f68c23004..e7d91068eb39230fbdfdbbc44e156be80373fe2d 100644
--- a/build.xml
+++ b/build.xml
@@ -203,7 +203,7 @@
         </delete>
     </target>
     <!-- one release only, then back to updaterWithJettyFixes -->
-    <target name="pkg" depends="distclean, updaterWithJettyFixesAndGeoIP, tarball, installer" />
+    <target name="pkg" depends="distclean, updaterWithJettyFixesAndGeoIP, preppkg, installer" />
     <target name="pkgclean" depends="deletepkg-temp">
         <delete>
             <fileset dir="." includes="i2p.tar.bz2 install.jar i2pupdate.zip" />
@@ -249,6 +249,7 @@
         <copy file="installer/resources/eepget" todir="pkg-temp/" />
         <copy file="installer/resources/i2prouter" todir="pkg-temp/" />
         <copy file="installer/resources/i2prouter.bat" todir="pkg-temp/" />
+        <copy file="installer/resources/fixperms.bat" todir="pkg-temp/" />
         <copy file="installer/resources/i2ptunnel.config" todir="pkg-temp/" />
         <!-- <copy file="installer/resources/install_i2p_service_unix" todir="pkg-temp/" /> -->
         <copy file="installer/resources/install_i2p_service_winnt.bat" todir="pkg-temp/" />
@@ -315,6 +316,7 @@
         <copy file="installer/lib/launch4j/lib/JGoodies.Looks.LICENSE.txt" tofile="pkg-temp/licenses/LICENSE-JGoodies-Looks.txt" />
         <copy file="installer/lib/launch4j/lib/XStream.LICENSE.txt" tofile="pkg-temp/licenses/LICENSE-XStream.txt" />
     </target>
+    <!-- this is no longer required, izpack 4.3.0 supports headless installs with java -jar i2pinstall.exe -console -->
     <target name="tarball" depends="preppkg">
         <tar compression="bzip2" destfile="i2p.tar.bz2">
             <tarfileset dir="pkg-temp" includes="**/*" prefix="i2p" />
@@ -523,7 +525,7 @@
         </copy>
     </target>
     <target name="updaterWithDesktopgui" depends="prepupdateWithDesktopgui,updater" />
-    <target name="pkgWithDesktopgui" depends="distclean, updaterWithDesktopgui, installerWithDesktopgui, tarball" />
+    <target name="pkgWithDesktopgui" depends="distclean, updaterWithDesktopgui, installerWithDesktopgui, preppkg" />
     <target name="distWithDesktopgui" depends="pkgWithDesktopgui, javadoc" />
     <target name="distcleanWithDesktopgui" depends="distclean">
         <ant dir="apps/desktopgui" target="build_clean" />
diff --git a/checklist.txt b/checklist.txt
index 2e6813b12597c6476fab11a8ad284d9aa740869d..17f8d9753b0b7f91c83a18136779c441853199be 100644
--- a/checklist.txt
+++ b/checklist.txt
@@ -45,7 +45,6 @@ Make the source tarball:
 
 Until the build script gets this ability, you need to rename some files:
 	mv i2pinstall.exe i2pinstall-0.7.xx.exe
-	mv i2p.tar.bz2 i2pheadless-0.7.xx.tar.bz2
 	mv i2pupdate.zip i2pupdate-0.7.xx.zip
 	you probably don't need to rename i2pupdate.sud
 
@@ -56,7 +55,6 @@ Generate hashes:
 
 Generate PGP signatures:
 	gpg -b i2pinstall-0.7.xx.exe
-	gpg -b i2pheadless-0.7.xx.tar.bz2
 	gpg -b i2psource-0.7.xx.tar.bz2
 	gpg -b i2pupdate-0.7.xx.zip
 	gpg -b i2pupdate.sud
diff --git a/installer/install.xml b/installer/install.xml
index e4149c4b1ee3164eb89b283b2e0b5fc59e6fb061..42202f8eecda33687d9cc657e14ffa90b8d2f19a 100644
--- a/installer/install.xml
+++ b/installer/install.xml
@@ -9,12 +9,40 @@
             <author name="I2P" email="http://forum.i2p2.de/"/>
         </authors>
         <url>http://www.i2p2.de/</url>
+
+        <!-- use pack200 compression, saves about 33%
+             see http://java.sun.com/j2se/1.5.0/docs/guide/deployment/deployment-guide/pack200.html
+             However it makes the unpacked jars much larger...
+             For further testing...
+             <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>
@@ -24,11 +52,16 @@
         <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"/>
@@ -41,6 +74,7 @@
         <langpack iso3="svk"/>
         <langpack iso3="swe"/>
         <langpack iso3="tur"/>
+        <langpack iso3="twn"/>
         <langpack iso3="ukr"/>
     </locale>
 
@@ -91,6 +125,18 @@
                 <args><arg value="$INSTALL_PATH\uninstall_i2p_service_unix" /></args></executable>
             <executable targetfile="$INSTALL_PATH/lib/delete.jar" type="jar" stage="postinstall" keep="true" failure="warn"> <os family="windows" />
                 <args><arg value="$INSTALL_PATH\lib\wrapper" /></args></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/lib/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/lib/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>
diff --git a/installer/lib/izpack/standalone-compiler.jar b/installer/lib/izpack/standalone-compiler.jar
index becb951342bfdbce595ff58220af98668925ffc9..4911632cb4b66f5127f43d21e1dd27694d0f1c59 100644
Binary files a/installer/lib/izpack/standalone-compiler.jar and b/installer/lib/izpack/standalone-compiler.jar differ
diff --git a/installer/resources/fixperms.bat b/installer/resources/fixperms.bat
new file mode 100755
index 0000000000000000000000000000000000000000..75cb715abca898d7824d3651164eeec52639c6ae
--- /dev/null
+++ b/installer/resources/fixperms.bat
@@ -0,0 +1,11 @@
+:: Fix Vista permission problems
+:: From http://www.nabble.com/Classpath-security-issues-on-Vista-td22456230.html
+::
+:: 'echo Y' to get past the 'are you sure' question...
+:: cacls requires it on XP, icacls doesnt appear so, but can't hurt
+:: F : full control
+:: /c : continue on error
+:: /q : quiet
+:: /t : recursive
+::
+echo Y|icacls %1 /grant Users:F /c /t > %1%\fixperms.log