Index: trunk/src/lib/com/izforge/izpack/installer/UnpackerBase.java
===================================================================
--- trunk/src/lib/com/izforge/izpack/installer/UnpackerBase.java	(revision 2673)
+++ trunk/src/lib/com/izforge/izpack/installer/UnpackerBase.java	(working copy)
@@ -35,8 +35,7 @@
 import org.apache.regexp.RESyntaxException;
 
 import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
+import java.net.URI;
 import java.util.*;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipInputStream;
@@ -951,20 +950,14 @@
     {
         if (absolutInstallSource == null)
         {
-            URL url = getClass().getResource("/info");
-            if (url.getPath().startsWith("file:"))
+            URI uri = getClass().getProtectionDomain().getCodeSource().getLocation().toURI();
+            if (!"file".equals(uri.getScheme()))
             {
-                url = new URL(url.getFile());
+                throw new Exception ("Unexpected scheme in JAR file URI: "+uri);
             }
-            String urlFile = url.getFile();
-            if (url.getAuthority() != null)
+            absolutInstallSource = new File(uri.getSchemeSpecificPart()).getAbsoluteFile();
+            if (absolutInstallSource.getName().endsWith(".jar"))
             {
-                // we have a UNC path...
-                urlFile = "//" + url.getAuthority() + urlFile;
-            }
-            absolutInstallSource = new File(urlFile).getAbsoluteFile().getParentFile();
-            if (absolutInstallSource.getAbsolutePath().endsWith("!"))
-            {
                 absolutInstallSource = absolutInstallSource.getParentFile();
             }
         }

