fuin.org

Small Open Source Java Tools and Libraries

Background

This is a short description how Kickstart4J works.
 
  1. User types a JNLP URL or clicks on a link with that URL more...
    Java Network Launch Protocol URL in browser address bar
  2. Webstart (JRE >= 1.4.2) loads and starts Kickstart4J more...
    Java 1.4 loading splash screen
  3. Kickstart4J loads XML definition for installation more...
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <application>
      <version>0.1.0</version>
      <title>Kickstart4J SwingSet2</title>
      <vendor>Future Invent Informationsmanagement GmbH</vendor>
      <description>Local installed SwingSet2 with it's own Java Runtime 1.6</description>
      <exitAfterExecute>true</exitAfterExecute>
      <destPath>c:/fuin.org/examples/swingset2</destPath>
      <idFilename>.org-fuin-examples-SwingSet2</idFilename>
      <silentInstall>false</silentInstall>
      <silentUpdate>false</silentUpdate>
      <locale>en</locale>
      <lazyLoading>false</lazyLoading>
      <logFilename>${destDir}/logs/kickstart.log</logFilename>
      <javaExe>${destDir}/jre6/bin/java.exe</javaExe>
      <javaArgs>-classpath ${classpath} SwingSet2</javaArgs>
      <msgFileUrl/>
      <mkdir path="logs"/>
      <file path="lib" file="SwingSet2.jar" hash="bb8c84a0c833471363a58a75b3a10944" size="1670951" unzip="false" loadAlways="true" addToClasspath="true" srcFileUrl="http://www.fuin.org/examples/kickstart4j/SwingSet2.jar"/>
      <file path="" file="jre6.zip" hash="6657c9fe1f1771c9505bf8760fc120f4" size="24735860" unzip="true" loadAlways="true" addToClasspath="false" srcFileUrl="http://www.fuin.org/examples/kickstart4j/jre6.zip"/>
      <file path="jre6" file="README.txt" hash="f4d7b1802f97b747d921dff10eb533e7" size="15773" unzip="false" loadAlways="true" addToClasspath="false" srcFileUrl="http://www.fuin.org/examples/kickstart4j/README.txt" order="1"/>
    </application>
    
  4. Kickstart4J asks the user for a destination directory (optional) more...
    Optional prompt for destination directory
  5. Kickstart4J copies the necessary application files to user's harddisk more...
    File copy dialog
    • Includes a local JRE which version is completely independent of Webstart's Java version
    • No need to sign any of the application's JAR files!
  6. Kickstart4J runs the application using the local installed JRE more...
    Starting the application
  7. Your application (here SwingSet2 example) is running as local installed application more...
    SwingSet2
  8. If required, the started application can use Lazy Loading to load JARs and other files On Demand more...
    // Path relative to the installation directory and file to load
    File jar = fileLoader.loadFile("lib", "abc.jar");
    // Add the JAR dynamically to the classpath
    Utils4J.addToClasspath(jar.toURI().toURL());