Added about panel

This commit is contained in:
2018-09-15 17:00:40 +01:00
parent 6ea1bd22b0
commit ec90e5727f
198 changed files with 15477 additions and 8 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 151 B

+432
View File
@@ -0,0 +1,432 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Launch4j - Cross-platform Java executable wrapper</title>
<meta name="description" content="Cross-platform Java executable wrapper for creating lightweight Windows native EXEs. Provides advanced JRE search, application startup configuration and better user experience.">
<meta name="keywords" content="java executable wrapper, java application wrapper, exe wrapper, jar wrapper, wrap, wraps, wrapping, free software, launch, launcher, linux, mac, windows, open source, ant, native splash screen, deploy, build tool">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="author" content="Grzegorz Kowal" >
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div id="container">
<div id="top">
<img style="width: 249px; height: 58px;" src="launch4j.gif" alt="launch4j"> <span class="version">3.7</span>
</div>
<div id="leftnav">
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="docs.html">Docs</a></li>
<li><a href="changelog.html">Changelog</a></li>
<li><a href="http://sourceforge.net/project/screenshots.php?group_id=95944">Screenshots</a></li>
<li><a href="http://sourceforge.net/projects/launch4j/files/launch4j-3/3.7">Download</a></li>
<li><a href="http://sourceforge.net/projects/launch4j/support">Support</a></li>
<li><a href="http://sourceforge.net/projects/launch4j">Project summary</a></li>
<li><a href="http://sourceforge.net/tracker/?atid=613100&amp;group_id=95944">Bug tracker</a></li>
<li><a href="links.html">Links</a></li>
</ul>
<!--
*** Spanish docs are outdated ***
<ul style="margin-top: 20px; font-size: 75%">
<li><a href="index.html">English</a></li>
<li><a href="index_es.html">Español</a></li>
</ul>
-->
</div>
<div id="content">
<h2>Changelog</h2>
<h4>Changes in version 3.7 (01-03-2015)</h4>
<ul class="changes">
<li>Fixed false positive virus warnings.</li>
</ul>
<h4>Changes in version 3.6 (06-01-2015)</h4>
<ul class="changes">
<li>FR #86 The 32/64 bit search is fully configurable (64, 64/32, 32/64, 32) - added option 32/64.</li>
<li>FR #70 Java search sequence - bundled JRE can be used before or after the min/max version search (bundledJreAsFallback).</li>
<li>Fixed: Crash when classpath contained wildcard patterns where the dependency was in the same directory as the launcher.</li>
<li>Fixed Launch4j GUI application closing - the process was still running.</li>
<li style="text-decoration: line-through">Updated to Dev-Cpp 5.7.1, MinGW 4.8.1 (head_src and w32api files).</li>
</ul>
<h4>Changes in version 3.5 (09-10-2014)</h4>
<ul class="changes">
<li>Ticket #75 Fixed exit value of -1 results in launch4j error.</li>
<li>Ticket #133, #134 Fixed runtimeBits JRE option.</li>
<li>FR #28, #72 Ability to restart the application based on exit code (Pascal Gruen, GK).</li>
</ul>
<h4>Changes in version 3.4 (21-04-2014)</h4>
<ul class="changes">
<li>FR #61 Added a new special variable JREHOMEDIR (Stefan Knoefel).</li>
<li>Ticket #130 Removed ant from launch4j classpath to fix problems with other ant versions.</li>
<li>Updated JGoodies libraries.</li>
<li>Added logging based on Launch4j environment variable for file association launch testing.</li>
</ul>
<h4>Changes in version 3.3 (02-04-2014)</h4>
<ul class="changes">
<li>FR #60 Check the registry during JRE search, so that only valid runtimes are taken into account.</li>
<li>Ticket #128 Updated MAC OS X 10.8 windres to 2.24.51.20140326 - version info was compiled incorrectly (Code Buddy).</li>
<li>Added support for Japanese characters (Toshimm).</li>
<li>Ticket #82, #125 Take configuration encoding into account and save file with UTF-8 encoding.</li>
</ul>
<h4>Changes in version 3.2 (24-03-2014)</h4>
<ul class="changes">
<li>Ticket #126, #127: Fixed crash when classpath was not defined.</li>
<li>Corrected problem with loading jvm options from ini file when bundled JRE is used.</li>
<li>FR #63, #80 Add possibility to configure 32/64 bit search.</li>
<li>Improved logging (--l4j-debug and --l4j-debug-all).</li>
</ul>
<h4>Changes in version 3.1.0-beta2 (20-08-2013)</h4>
<ul class="changes">
<li>Removed the custom process name feature which was not compatible with newer Windows versions.</li>
<li>#121 Fixed heap calculation on systems with more than 4GB of memory.</li>
<li>#115 Added 64-bit bundled JRE option to control when the 32-bit maximum heap is applied.</li>
<li>Reduced the 32-bit max heap size to the safer 1GB.</li>
<li>Changes in --l4j-debug for better readability.</li>
<li>Fixed Can discard changes popup which appeared even if no changes were made.</li>
<li>Corrected permissions, owner and group in tgz packages.</li>
<li>#117 Fixed launch4j home dir search in case of jar and class files.</li>
<li>#111 Support paths with spaces in Linux systems.</li>
<li>#91 Linux launch4j starting script no longer changes the current directory.</li>
<li>#77 Allow line feeds in custom messages.</li>
<li>#57 Escape backslashes.</li>
</ul>
<h4>Changes in version 3.1.0-beta1 (02-12-2012)</h4>
<ul class="changes">
<li>Migrated code to Java 1.6.</li>
<li>Updated binutils to 2.22</li>
<li>Added Max OS X x86 support (two versions).</li>
<li>Added feature to digitally sign executables - sign4j by the Bramfeld team, sponsored by Servoy.</li>
<li>FR #3569093 Support Windows Security Features of the Windows 8 certification kit (Luc Bruninx).</li>
</ul>
<h4>Changes in version 3.0.2 (02-01-2011)</h4>
<ul class="changes">
<li>Fixed the command line in Exec error message.</li>
<li>Fixed set environment variable bug.</li>
<li>Added wrapper logging to launch4j GUI.</li>
<li>Fixed critical bug: heap size over the limit.</li>
</ul>
<h4>Changes in version 3.0.1 (20-07-2008)</h4>
<ul class="changes">
<li>Enhanced the runtime logging (--l4j-debug).</li>
<li>Fixed critical bug #1925387 64-bit JDK detection problem caused a runtime search error (found by Stivo).</li>
<li>Fixed bug #1919406, #1989479 Not every option is loaded from saved xml file (found by Robert Lachner, Jan-Philipp Rathje).</li>
<li>Fixed bug #1930222 Simple typo (found by Daniel).</li>
</ul>
<h4>Changes in version 3.0.0 (16-03-2008)</h4>
<ul class="changes">
<li>FR #1390075 Added dynamic initial/max heap values.</li>
<li>FR #1707827 Allow to prefer JDK private runtimes over JREs (Ian Roberts).</li>
<li>FR #1730245 Allow to run only a single aplication instance (Sylvain Mina).</li>
<li>FR #1391610 Added IBM JRE/JDK support.</li>
<li>Added environment variable expansion in bundled JRE path.</li>
<li>Fixed critical bug #1882524 JRE detection problem on 64-bit Windows.</li>
<li>Fixed bug #1758912 Vista elevation to full administrator privileges.</li>
<li>Fixed bug #1784341 Problems with spaces in paths under linux (Michael Piefel).</li>
<li>Fixed bug where /bin was appended to path environment variable instead of jre_path/bin.</li>
</ul>
<h4>Changed license to BSD, MIT (26-01-2008)</h4>
<ul class="changes">
<li>
The upcoming Launch4j 3.0.0 release will be licensed under the much more
liberal new BSD license. The head subproject (the binary header attached to wrapped jars)
will be licensed under the similar MIT license.
</li>
</ul>
<h4>Changes in version 3.0.0-pre2 (29-10-2006)</h4>
<ul class="changes">
<li>Enhanced GUI.</li>
<li>Redesigned error reporting.</li>
<li>Added custom error messages.</li>
<li>Added support website feature.</li>
<li>Added PWD and OLDPWD special variables and access to the registry.</li>
<li>Runtime ini file extension changed to .l4j.ini, added comments (#).</li>
<li>FR #1427811 Initial process priority.</li>
<li>FR #1547339 Added VarFileInfo structure to Version Info (Stephan Laertz).</li>
<li>FR #1584295 Updated documentation for --l4j-debug.
<li>Fixed &lt;jarArgs/&gt; and &lt;args/&gt; config conversion bug (found by Dafe Simonek).</li>
<li>Fixed the Ant task exception reporting bug, added tmpdir and bindir attributes.</li>
<li>Fixed bug #1563415 Problem with launching application when ini file exists (found by mojomax).</li>
<li>Fixed bug #1527619 Console header wildcard expansion (found by erikjv).</li>
<li>Fixed bug #1544167 NPE when dontwrap and only classpath given (found by Hendrik Schreiber).</li>
<li>Fixed bug #1584264 Dropdown boxes get mixed up (found by Larsen).</li>
</ul>
<h4>News (17-10-2006)</h4>
<ul class="changes">
<li><a href="http://9stmaryrd.com/tools/launch4j-maven-plugin/">Launch4j Maven Plugin by Paul A. Jungwirth</a></li>
</ul>
<h4>Changes in version 3.0.0-pre1 (21-07-2006)</h4>
<ul class="changes">
<li>Improved configuration file format and embedded Ant config.</li>
<li>Launch executable jars, regular jars and class files.</li>
<li>Added dynamic classpath resolution with environment variable references and wildcards.</li>
<li>Added option to set environment variables before launching the application.</li>
<li>New command line switches to change the compiled options.</li>
<li>Improved debug information.</li>
<li>Added support for XP visual style manifests.</li>
<li>Added option to disable use of private JREs.</li>
<li>Many small fixes and improvements...</li>
</ul>
<h4 class="warn">Configuration file changes in 3.x</h4>
<ul class="changes">
<li>Previous formats (1.x and 2.x) are supported.</li>
<li><em>&lt;headerType&gt;</em> accepts gui|console</li>
<li><em>&lt;jarArgs&gt;</em> was changed to <em>&lt;cmdLine&gt;</em></li>
<li>
<em>&lt;launch4jConfig&gt;&lt;headerObjects&gt;&lt;file&gt;</em> was changed to
<em>&lt;launch4jConfig&gt;&lt;obj&gt;</em>
</li>
<li>
<em>&lt;launch4jConfig&gt;&lt;libs&gt;&lt;file&gt;</em> was changed to
<em>&lt;launch4jConfig&gt;&lt;lib&gt;</em>
</li>
<li>
<em>&lt;launch4jConfig&gt;&lt;jre&gt;&lt;args&gt;</em> was changed to multiple
<em>&lt;launch4jConfig&gt;&lt;jre&gt;&lt;opt&gt;</em>
</li>
</ul>
<h4 class="warn">Embedded Ant configuration changes in 3.x</h4>
<ul class="changes">
<li>
<em>&lt;jre args="value"&gt;</em> was changed to
<em>&lt;jre&gt;&lt;opt&gt;value&lt;/opt&gt;&lt;/jre&gt;</em>
</li>
<li>Now it's possible to define headerObjects, libs and classpath.</li>
</ul>
<h4>Changes in version 2.1.5 (21-07-2006)</h4>
<ul class="changes">
<li>Changed the Java download site to http://java.com/download.</li>
<li>Now it's possible to use absolute and relative paths to specify the bundled JRE.</li>
</ul>
<h4>Changes in version 2.1.4 (15-06-2006)</h4>
<ul class="changes">
<li>
Fixed bug #1503996 Only the first wrapper instance had a custom process name
(found by Helge Böhme).
</li>
</ul>
<h4>Changes in version 2.1.3 (31-05-2006)</h4>
<ul class="changes">
<li>
Fixed bug #1497453 Ant task doesn't support relative jar path with '..'
(found by Aston, Pavel Moukhataev).
</li>
<li>Jar argument size limit is now 16KB.</li>
<li>Environment variable size limit raised to 32KB.</li>
<li>Allow to concatenate multiple env. variables in one property (Maria D.)</li>
<li>Added launch4j.tmpdir property.</li>
</ul>
<h4>Changes in version 2.1.2 (03-04-2006)</h4>
<ul class="changes">
<li>Important bugfix: insufficient command line buffer size was increased to 32KB
(found by Sebastian Kopsan).</li>
<li>Added runtime JVM options from an .ini file.</li>
<li>Launch4j's bin directory is now configurable through launch4j.bindir
system property.</li>
</ul>
<h4>Changes in version 2.1.1 (25-01-2006)</h4>
<ul class="changes">
<li>Fixed bug #1402748. Validation error occurred when using an Ant task with
embedded config and dontWrapJar option (found by Chris Nokleberg).</li>
</ul>
<h4>Changes in version 2.1.0 (10-01-2006)</h4>
<ul class="changes">
<li><b>More features and smaller header: 18 KB!!</b></li>
<li>Added launcher mode, you can choose whether or not to wrap the jar.</li>
<li>Spanish translation of the website/docs and program messages
(Patricio Martínez Ros).</li>
<li>JRE's bin directory is appended to the Path environment variable
(Ianiv Schweber).</li>
<li>Added special variables EXEDIR and EXEFILE that hold the executable's
directory and full path.</li>
<li>Support for mapping environment variables to system properties.</li>
<li>Added debug launching mode - various information is displayed before
starting the Java application.</li>
<li>Fixed min/max JRE version checking, previous versions allowed these
to be equal (found by Ryan).</li>
<li>Bug fixed. Quotes in jar/JVM arguments were handled incorrectly (found by Juan Alvarez Ferrando).</li>
<li>A few other enhancements.</li>
</ul>
<h4>Changes in version 2.0.0 (31-10-2005)</h4>
<ul class="changes">
<li>Launch4j for Mac OS X is available thanks to Peter Centgraf.</li>
<li>Added support for custom headers.</li>
<li>Fixed bug #1343908, command line arguments with spaces were handled
incorrectly by the console header (found by Oliver Schaefer / Steve Alberty).</li>
<li>Fixed stdin redirection bug (found by Timo Santasalo).</li>
</ul>
<h4>Changes in version 2.0 RC3 (13-08-2005) - final RC</h4>
<ul class="changes">
<li>Correct handling of pathnames with spaces.</li>
<li>Fixed the '%20' pathname bug.</li>
<li>Fixed basedir bug (Richard Xing).</li>
<li>Splash screen can be closed when the application window becomes visible
with out specifying it's title (Martin Busik).
Update your config file: <em>&lt;waitForTitle&gt;title&lt;/waitForTitle&gt;</em>
is now <em>&lt;waitForWindow&gt;true&lt;/waitForWindow&gt;</em>.
</li>
<li>Fixed build.bat files in demo directories.</li>
</ul>
<h4>Changes in version 2.0 RC2 (21-06-2005)</h4>
<ul class="changes">
<li>chdir allows to change the current directory to arbitrary paths
relative to the executable (FR #1144907). It's incompatible with
previous versions, update your config file:
<em>&lt;chdir&gt;true&lt;/chdir&gt;</em>
is now <em>&lt;chdir&gt;.&lt;/chdir&gt;</em>.
</li>
<li>Bundled JRE path no longer depends on chdir function.</li>
<li>Fixed Ant task bug, build files outside launch4j's directory
wouldn't work. Josh Elsasser submitted a patch that works without
setting launch4j's home dir in the build file. Thanks!
</li>
<li>Removed static edge from splash screen (Serge Baranov).</li>
<li>Program checks that the output file path doesn't contain spaces.</li>
<li>Fixed a NPE bug caused by a missing maxVersion property
(found by Morgan Schweers).
</li>
<li>Fixed relative JRE path bug (found by Nili_).</li>
<li>Cleaned up the Builder class.</li>
<li>Fixed Ant task NPE where the config was entirely defined in the
build file (Josh Elsasser).
</li>
</ul>
<h4>Changes in version 2.0 RC (07-06-2005)</h4>
<ul class="changes">
<li>Added an Ant task for better build integration.</li>
<li>Added 2.x documentation.</li>
<li>Updated the demo configuration files.</li>
<li>Fixed issues with relative paths in the configuration.</li>
<li>Removed the '-1' option in console mode.</li>
<li>Minor fixes.</li>
</ul>
<h4>Changes in version 2.0 beta2 (23-05-2005)</h4>
<ul class="changes">
<li># comments are recognized when importing 1.x cfg files.</li>
<li>Added version information.</li>
<li>Resource file is displayed when a resource error occurs.</li>
<li>Fixed a bug found by Max, options on the first tab were always enabled.</li>
</ul>
<h4>Changes in version 2.0 beta1 (13-05-2005)</h4>
<ul class="changes">
<li>Completely new, cross-platform wrapper - create windows executables on Linux.</li>
<li>New .xml configuration file.</li>
<li>Application icon with multiple resolutions and color depths.</li>
<li>Swing GUI interface.</li>
<li>Header compiled with MinGW port of gcc instead of VC++.</li>
</ul>
<h4>Changes in version 1.4.2 (12-03-2005)</h4>
<ul class="changes">
<li>Fixed bug #1158143, stayAlive without a splash screen caused
an infinite loop (found by Gregory Kotsaftis).
</li>
</ul>
<h4>Changes in version 1.4.1 (04-03-2005)</h4>
<ul class="changes">
<li>Fixed bug #1119040, buffer for reading config properties
was too short (found by Tom Jensen and Neil).
</li>
<li>Added configurable splash timeout (FR #1102951).</li>
<li>Added option to disable the error message on splash timeout (FR #1109159).</li>
<li>Option to keep the gui launcher 'alive' after starting an application (FR #1124653).</li>
<li>Removed version info.</li>
<li>'waitfor' property is now optional.</li>
</ul>
<h4>Changes in version 1.4.0 (26-01-2005)</h4>
<ul class="changes">
<li>Removed .lch4j suffix from process name, now it has the
form of the executable filename. The temporary launchers are stored in
launch4j-tmp directory (suggested by Emmanuel).
</li>
<li>Added support for console apps (FR #1050053).</li>
</ul>
<h4>Changes in version 1.3.1 (05-11-2004)</h4>
<ul class="changes">
<li>Fixed a bug where explorer window was opened instead of
launching the application when setProcName was set to false
(found by Rob Jones).
</li>
<li>Fixed temporary launcher deletion bug.</li>
</ul>
<h4>Changes in version 1.3.0 (01-11-2004)</h4>
<ul class="changes">
<li>Now you can configure launch4j to:
<ul class="changes">
<li>Use a bundled JRE.</li>
<li>Search for java, show an error message if the
right version cannot be found and open the java download page.</li>
<li>And a feature you asked for: use bundled JRE, if
that fails search for java and bring up the java download page on error.</li>
</ul>
</li>
<li>Enhanced code that sets the custom process name. In
case launch4j can't refresh the temporary launcher, bundled JRE on a
read only file system for example, it will use one created previously,
if it's present and has the correct size. If not, launching will still
continue, but with javaw.exe process name.Temporary launchers are
now created in the jre directory instead of jre/bin.
</li>
<li>errTitle property allows to set the title of the error message box.</li>
</ul>
<h4>Changes in version 1.2.1 (25-09-2004)</h4>
<ul class="changes">
<li>Bugfix that allows launching from command line using short
name (#1026514 / found by Zach Del)
</li>
</ul>
<h4>Changes in version 1.2.0 (10-09-2004)</h4>
<ul class="changes">
<li><strong>Custom process name</strong> (<i>myapp.lch4j.exe</i>)</li>
<li><strong>9 KB stub!</strong></li>
<li>Jar arguments</li>
<li>Bugfix that allows launching from command line.</li>
<li>Hide splash on javaw error.</li>
<li>Easier configuration with case insensitive parameters + show unrecognized parameter.</li>
<li>12 KB demo application, 34 KB with splash screen.</li>
<li>Configuration parameter <em>'args'</em> changed to <em>'jvmArgs'</em></li>
</ul>
</div>
<div class="footer">
All trademarks mentioned are properties of their respective owners.<br />
Copyright &copy; 2005-2015 Grzegorz Kowal
<p style="margin-top: 2em">
<a href="http://sourceforge.net"><img style="width: 125px; height: 37px; border: none" src="http://sourceforge.net/sflogo.php?group_id=95944&amp;type=4" alt="sf.net"></a>
</p>
</div>
</div>
</body>
</html>
+667
View File
@@ -0,0 +1,667 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Launch4j - Cross-platform Java executable wrapper</title>
<meta name="description" content="Cross-platform Java executable wrapper for creating lightweight Windows native EXEs. Provides advanced JRE search, application startup configuration and better user experience.">
<meta name="keywords" content="java executable wrapper, java application wrapper, exe wrapper, jar wrapper, wrap, wraps, wrapping, free software, launch, launcher, linux, mac, windows, open source, ant, native splash screen, deploy, build tool">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="author" content="Grzegorz Kowal" >
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div id="container">
<div id="top">
<img style="width: 249px; height: 58px;" src="launch4j.gif" alt="launch4j"> <span class="version">3.7</span>
</div>
<div id="leftnav">
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="docs.html">Docs</a></li>
<li><a href="changelog.html">Changelog</a></li>
<li><a href="http://sourceforge.net/project/screenshots.php?group_id=95944">Screenshots</a></li>
<li><a href="http://sourceforge.net/projects/launch4j/files/launch4j-3/3.7">Download</a></li>
<li><a href="http://sourceforge.net/projects/launch4j/support">Support</a></li>
<li><a href="http://sourceforge.net/projects/launch4j">Project summary</a></li>
<li><a href="http://sourceforge.net/tracker/?atid=613100&amp;group_id=95944">Bug tracker</a></li>
<li><a href="links.html">Links</a></li>
</ul>
<!--
*** Spanish docs are outdated ***
<ul style="margin-top: 20px; font-size: 75%">
<li><a href="index.html">English</a></li>
<li><a href="index_es.html">Español</a></li>
</ul>
-->
</div>
<div id="content">
<a href="#Running_launch4j">Running launch4j</a><br>
<a href="#Configuration_file">Configuration file</a><br>
<a href="#Importing_1.x_configuration">Importing 1.x configuration</a><br>
<a href="#Ant_task">Ant Task</a><br>
<a href="#Additional_jvm_options">Additional JVM options at runtime</a><br>
<a href="#Runtime_options">Runtime options</a><br>
<a href="#Settings">Settings</a><br>
<h2 id="Running_launch4j">Running launch4j</h2>
Run <em>launch4j.exe</em> or <em>launch4j</em> script without command
line arguments to enter the GUI mode.
<pre>launch4j.exe</pre>
To wrap a jar in console mode use <em>launch4jc.exe</em>&nbsp;<em></em>and
specify the configuration file.
<pre>launch4jc.exe config.xml</pre>
On Linux use the <em>launch4j</em> script.
<pre>launch4j ./demo/l4j/config.xml</pre>
<h2 id="Configuration_file">Configuration file</h2>
Launch4j requires an xml configuration file for each output executable.
You can create and edit it conveniently using the graphic user
interface or your favorite editor. Alternatively it's possible to pass
all of the configuration parameters through the Ant task. All files
may be absolute paths or relative to the configuration file path.
<pre>
&lt;!-- <strong>Bold</strong> elements are required --&gt;
&lt;!-- %VAR% expands environment/special variables and registry keys --&gt;
<strong>&lt;launch4jConfig&gt;</strong>
<strong>&lt;headerType&gt;</strong><span class="codeword">gui|console</span><strong>&lt;/headerType&gt;</strong>
<strong>&lt;outfile&gt;</strong><span class="codeword">file.exe</span><strong><span class="codeword"></span>&lt;/outfile&gt;</strong>
&lt;jar&gt;<span class="codeword">file</span><span class="codeword"></span>&lt;/jar&gt;
&lt;dontWrapJar&gt;<span class="codeword">true|<u>false</u></span>&lt;/dontWrapJar&gt;
&lt;errTitle&gt;<span class="codeword">text</span>&lt;/errTitle&gt;
&lt;downloadUrl&gt;<span class="codeword"><u>http://java.com/download</u></span>&lt;/downloadUrl&gt;
&lt;supportUrl&gt;<span class="codeword">url</span>&lt;/supportUrl&gt;
&lt;cmdLine&gt;<span class="codeword">text</span>&lt;/cmdLine&gt;
&lt;chdir&gt;<span class="codeword">path</span>&lt;/chdir&gt;
&lt;priority&gt;<span class="codeword"><u>normal</u>|idle|high</span>&lt;/priority&gt;
&lt;stayAlive&gt;<span class="codeword">true|false</span>&lt;/stayAlive&gt;
&lt;restartOnCrash&gt;<span class="codeword">true|false</span>&lt;/restartOnCrash&gt;
&lt;icon&gt;<span class="codeword">file</span>&lt;/icon&gt;
&lt;obj&gt;<span class="codeword">header object file</span>&lt;/obj&gt;
...
&lt;lib&gt;<span class="codeword">w32api lib</span>&lt;/lib&gt;
...
&lt;var&gt;<span class="codeword">var=text (%VAR%)</span>&lt;/var&gt;
...
&lt;classPath&gt;
<strong>&lt;mainClass&gt;</strong><span class="codeword">main class</span><strong>&lt;/mainClass&gt;</strong>
<strong>&lt;cp&gt;</strong><span class="codeword">classpath (%VAR%)</span><strong>&lt;/cp&gt;</strong>
...
&lt;/classPath&gt;
&lt;singleInstance&gt;
<strong>&lt;mutexName&gt;</strong><span class="codeword">text</span><strong>&lt;/mutexName&gt;</strong>
&lt;windowTitle&gt;<span class="codeword">text</span>&lt;/windowTitle&gt;
&lt;/singleInstance&gt;
<strong>&lt;jre&gt;</strong>
&lt;!-- Specify one of the following or both --&gt;
<strong>&lt;path&gt;</strong><span class="codeword">bundled JRE path (%VAR%)</span><strong>&lt;/path&gt;</strong>
&lt;bundledJre64Bit&gt;<span class="codeword">true|<u>false</u></span>&lt;/bundledJre64Bit&gt;
&lt;bundledJreAsFallback&gt;<span class="codeword">true|<u>false</u></span>&lt;/bundledJreAsFallback&gt;
<strong>&lt;minVersion&gt;</strong><span class="codeword">x.x.x[_xx]</span><strong>&lt;/minVersion&gt;</strong>
&lt;maxVersion&gt;<span class="codeword">x.x.x[_xx]</span>&lt;/maxVersion&gt;
&lt;jdkPreference&gt;<span class="codeword">jreOnly|<u>preferJre</u>|preferJdk|jdkOnly</span>&lt;/jdkPreference&gt;
&lt;runtimeBits&gt;<span class="codeword">64|<u>64/32</u>|32/64|32</span>&lt;/runtimeBits&gt;
&lt;!-- Heap sizes in MB and % of available memory --&gt;
&lt;initialHeapSize&gt;<span class="codeword">MB</span>&lt;/initialHeapSize&gt;
&lt;initialHeapPercent&gt;<span class="codeword">%</span>&lt;/initialHeapPercent&gt;
&lt;maxHeapSize&gt;<span class="codeword">MB</span>&lt;/maxHeapSize&gt;
&lt;maxHeapPercent&gt;<span class="codeword">%</span>&lt;/maxHeapPercent&gt;
&lt;opt&gt;<span class="codeword">text (%VAR%)</span>&lt;/opt&gt;
...
<strong>&lt;/jre&gt;</strong>
&lt;splash&gt;
<strong>&lt;file&gt;</strong><span class="codeword">file</span><strong>&lt;/file&gt;</strong>
&lt;waitForWindow&gt;<span class="codeword"><u>true</u>|false</span>&lt;/waitForWindow&gt;
&lt;timeout&gt;<span class="codeword">seconds [60]</span>&lt;/timeout&gt;
&lt;timeoutErr&gt;<span class="codeword"><u>true</u>|false</span>&lt;/timeoutErr&gt;
&lt;/splash&gt;
&lt;versionInfo&gt;
<strong>&lt;fileVersion&gt;</strong><span class="codeword">x.x.x.x</span><strong>&lt;/fileVersion&gt;</strong>
<strong>&lt;txtFileVersion&gt;</strong><span class="codeword">text</span><strong>&lt;/txtFileVersion&gt;</strong>
<strong>&lt;fileDescription&gt;</strong><span class="codeword">text</span><strong>&lt;/fileDescription&gt;</strong>
<strong>&lt;copyright&gt;</strong><span class="codeword">text</span><strong>&lt;/copyright&gt;</strong>
<strong>&lt;productVersion&gt;</strong><span class="codeword">x.x.x.x</span><strong>&lt;/productVersion&gt;</strong>
<strong>&lt;txtProductVersion&gt;</strong><span class="codeword">text</span><strong>&lt;/txtProductVersion&gt;</strong>
<strong>&lt;productName&gt;</strong><span class="codeword">text</span><strong>&lt;/productName&gt;</strong>
&lt;companyName&gt;<span class="codeword">text</span>&lt;/companyName&gt;
<strong>&lt;internalName&gt;</strong><span class="codeword">filename</span><strong>&lt;/internalName&gt;</strong>
<strong>&lt;originalFilename&gt;</strong><span class="codeword">filename.exe</span><strong>&lt;/originalFilename&gt;</strong>
&lt;/versionInfo&gt;
&lt;messages&gt;
<strong>&lt;startupErr&gt;</strong>text<strong>&lt;/startupErr&gt;</strong>
<strong>&lt;bundledJreErr&gt;</strong>text<strong>&lt;/bundledJreErr&gt;</strong>
<strong>&lt;jreVersionErr&gt;</strong>text<strong>&lt;/jreVersionErr&gt;</strong>
<strong>&lt;launcherErr&gt;</strong>text<strong>&lt;/launcherErr&gt;</strong>
<strong>&lt;instanceAlreadyExistsMsg&gt;</strong>text (used by console header only)<strong>&lt;/instanceAlreadyExistsMsg&gt;</strong>
&lt;/messages&gt;
<strong>&lt;/launch4jConfig&gt;</strong>
</pre>
<dl>
<dt>&lt;headerType&gt;</dt>
<dd>
Type of the header used to wrap the application.
<table>
<thead>
<tr>
<th>Header type</th>
<th>Launcher</th>
<th>Splash screen</th>
<th style="white-space: nowrap">Wait for the application to close</th>
</tr>
</thead>
<tbody>
<tr>
<td>gui</td>
<td>javaw</td>
<td>yes</td>
<td class="description">wrapper waits only if <em>stayAlive</em> is set to true,
otherwise it terminates immediately or after closing
the splash screen.
</td>
</tr>
<tr>
<td>console</td>
<td>java</td>
<td>no</td>
<td class="description">always waits and returns application's exit code.</td>
</tr>
</tbody>
</table>
</dd>
</dl>
<dl>
<dt>&lt;outfile&gt;</dt>
<dd>Output executable file.</dd>
</dl>
<dl>
<dt>&lt;jar&gt;</dt>
<dd>
Optional, by default specifies the jar to wrap. To launch a jar without
wrapping it enter the runtime path of the jar relative to
the executable and set <em>&lt;dontWrapJar&gt;</em> to true.
For example, if the executable launcher and the application jar named
<i>calc.exe</i> and <i>calc.jar</i> are in the same directory
then you would use <i>&lt;jar&gt;calc.jar&lt;/jar&gt;</i>
and <em>&lt;dontWrapJar&gt;true&lt;/dontWrapJar&gt;</em>.
</dd>
</dl>
<dl>
<dt>&lt;dontWrapJar&gt;</dt>
<dd>
Optional, defaults to false. Launch4j by default wraps jars in native
executables, you can prevent this by setting <em>&lt;dontWrapJar&gt;</em> to true.
The exe acts then as a launcher and starts the application specified in
<em>&lt;jar&gt;</em> or <em>&lt;classPath&gt;&lt;mainClass&gt;</em>
</dd>
</dl>
<dl>
<dt>&lt;errTitle&gt;</dt>
<dd>
Optional, sets the title of the error message box that's displayed if Java cannot
be found for instance. This usually should contain the name of your
application. The console header prefixes error messages with this
property (myapp: error...)
</dd>
</dl>
<dl>
<dt>&lt;cmdLine&gt;</dt>
<dd>Optional, constant command line arguments.</dd>
</dl>
<dl>
<dt>&lt;chdir&gt;</dt>
<dd>Optional. Change current directory to an arbitrary path relative to the executable.
If you omit this property or leave it blank it will have no effect.
Setting it to <em>.</em> will change the current dir to the same directory
as the executable. <em>..</em> will change it to the parent directory, and so on.
</dd>
<dd>
<pre>&lt;chdir&gt;.&lt;/chdir&gt;</pre>
</dd>
<dd>
<pre>&lt;chdir&gt;../somedir&lt;/chdir&gt;</pre>
</dd>
</dl>
<dl>
<dt>&lt;stayAlive&gt;</dt>
<dd>Optional, defaults to false in GUI header, always true in console header.
When enabled the launcher waits for the Java application
to finish and returns it's exit code.
</dd>
</dl>
<dl>
<dt>&lt;restartOnCrash&gt;</dt>
<dd>Optional, defaults to false.
When the application exits, any exit code other than 0 is considered a crash and the application will be started again.
</dd>
</dl>
<dl>
<dt>&lt;icon&gt;</dt>
<dd>Application icon in ICO format. May contain multiple color depths/resolutions.</dd>
</dl>
<dl>
<dt>&lt;obj&gt;</dt>
<dd>Optional, custom headers only. Ordered list of header object files.</dd>
</dl>
<dl>
<dt>&lt;lib&gt;</dt>
<dd>Optional, custom headers only. Ordered list of libraries used by header.</dd>
</dl>
<dl>
<dt>&lt;singleInstance&gt;</dt>
<dd>Optional, allow to run only a single instance of the application.</dd>
</dl>
<blockquote>
<dl>
<dt>&lt;mutexName&gt;</dt>
<dd>Unique mutex name that will identify the application.</dd>
<dt>&lt;windowTitle&gt;</dt>
<dd>Optional, recognized by GUI header only. Title or title part of a window
to bring up instead of running a new instance.
</dd>
</dl>
</blockquote>
<dl>
<dt>&lt;jre&gt;</dt>
<dd>Required element that groups JRE settings.</dd>
</dl>
<blockquote>
<dl>
<dt>&lt;path&gt;, &lt;minVersion&gt;, &lt;maxVersion&gt;</dt>
<dd>The <em>&lt;path&gt;</em> property is used
to specify the absolute or relative path (to the executable) of a bundled JRE, it
does not rely on the current directory or <em>&lt;chdir&gt;</em>.
Note that this path is not checked until the actual application execution.
If you'd like the wrapper to search for a JRE (public or SDK private)
use the <em>&lt;minVersion&gt;</em> property, you may also specify
the <em>&lt;maxVersion&gt;</em> to prevent it from using higher Java versions.
Launch4j will always use the highest version available (in the min/max range of course).
If a Sun's JRE is not available or does not satisfy the search criteria,
the search will be repeated on IBM runtimes.
You can also combine these properties to change the startup process...
</dd>
</dl>
<blockquote>
<dl>
<dt>&lt;path&gt;</dt>
<dd>Run if bundled JRE and javaw.exe are present, otherwise stop with error.</dd>
<dt>&lt;path&gt; + &lt;minVersion&gt;&nbsp; [+ &lt;maxVersion&gt;]</dt>
<dd>Use bundled JRE first, if it cannot be located search for Java,
if that fails display error message and open the Java download page.
</dd>
<dt>&lt;minVersion&gt;&nbsp; [+ &lt;maxVersion&gt;]</dt>
<dd>Search for Java, if an appropriate version cannot be found display
error message and open the Java download page.
</dd>
</dl>
</blockquote>
</blockquote>
<blockquote>
<dl>
<dt>&lt;bundledJre64Bit&gt;</dt>
<dd>Optional, defaults to false which limits the calculated heap size to the 32-bit maximum.
Set to true in order to use the available memory without this limit. This option works
in combination with the HeapSize and HeapPercent options only if the found JRE is a bundled one.
In the standard JRE search based on registry the wrapper detects the type of JRE itself
and uses the 32-bit heap limit when needed.
</dd>
</dl>
</blockquote>
<blockquote>
<dl>
<dt>&lt;bundledJreAsFallback&gt;</dt>
<dd>Optional, defaults to false which treats the bundled JRE as the primary runtime.
When set to true, the bundled JRE will only be used in case the mix/max version search fails.
This can be used as a fallback option if the user does not have the required Java installed
and the bundled JRE is provided on a CD or shared network location.
</dd>
</dl>
</blockquote>
<blockquote>
<dl>
<dt>&lt;jdkPreference&gt;</dt>
<dd>Optional, defaults to preferJre; Allows you to specify a preference
for a public JRE or a private JDK runtime. Valid values are:
</dd>
</dl>
<blockquote>
<dl>
<dt>jreOnly</dt>
<dd>Always use a public JRE (equivalent to the
old option dontUsePrivateJres=true)</dd>
<dt>preferJre</dt>
<dd>Prefer a public JRE, but use a JDK private
runtime if it is newer than the public
JRE (equivalent to the old option
dontUsePrivateJres=false)</dd>
<dt>preferJdk</dt>
<dd>Prefer a JDK private runtime, but use a
public JRE if it is newer than the JDK
</dd>
<dt>jdkOnly</dt>
<dd>Always use a private JDK runtime (fails
if there is no JDK installed)
</dd>
</dl>
</blockquote>
<dl>
<dt>&lt;runtimeBits&gt;</dt>
<dd>Optional, defaults to 64/32; Allows to select between 64-bit and 32-bit runtimes.
Valid values are:
</dd>
</dl>
<blockquote>
<dl>
<dt>64</dt>
<dd>Use only 64-bit runtimes</dd>
<dt>64/32</dt>
<dd>Use 64-bit runtimes if available, otherwise use 32-bit</dd>
<dt>32/64</dt>
<dd>Use 32-bit runtimes if available, otherwise use 64-bit</dd>
<dt>32</dt>
<dd>Use only 32-bit runtimes</dd>
</dl>
</blockquote>
<dl>
<dt>HeapSize, HeapPercent</dt>
<dd>If size and percent are specified, then the setting which yields
more memory will be chosen at runtime. In other words, setting both values
means: percent of available memory no less than size in MB.
</dd>
</dl>
<blockquote>
<dl>
<dt>&lt;initialHeapSize&gt;</dt>
<dd>Optional, initial heap size in MB.</dd>
</dl>
<dl>
<dt>&lt;initialHeapPercent&gt;</dt>
<dd>Optional, initial heap size in % of available memory.</dd>
</dl>
<dl>
<dt>&lt;maxHeapSize&gt;</dt>
<dd>Optional, max heap size in MB.</dd>
</dl>
<dl>
<dt>&lt;maxHeapPercent&gt;</dt>
<dd>Optional, max heap size in % of available memory.</dd>
</dl>
</blockquote>
<dl>
<dt>&lt;opt&gt;</dt>
<dd>Optional, accepts everything you would normally pass to
java/javaw launcher: assertion options, system properties and X options.
Here you can map environment and special variables <em>EXEDIR</em>
(exe's runtime directory), <em>EXEFILE</em> (exe's runtime full file path)
to system properties. All variable references must be surrounded with
percentage signs and quoted.
<pre>
&lt;opt&gt;-Dlaunch4j.exedir="%EXEDIR%"&lt;/opt&gt;
&lt;opt&gt;-Dlaunch4j.exefile="%EXEFILE%"&lt;/opt&gt;
&lt;opt&gt;-Denv.path="%Path%"&lt;/opt&gt;
&lt;opt&gt;-Dsettings="%HomeDrive%%HomePath%\\settings.ini"&lt;/opt&gt;
</pre>
</dd>
</dl>
</blockquote>
<dl>
<dt>&lt;splash&gt;</dt>
<dd>Optional, groups the splash screen settings. Allowed only in GUI header.</dd>
</dl>
<blockquote>
<dl>
<dt>&lt;file&gt;</dt>
<dd>Splash screen image in BMP format.</dd>
</dl>
<dl>
<dt>&lt;waitForWindow&gt;</dt>
<dd>Optional, defaults to true. Close the splash screen when an application
window or Java error message box appears. If set to false,
the splash screen will be closed on timeout.
</dd>
</dl>
<dl>
<dt>&lt;timeout&gt;</dt>
<dd>Optional, defaults to 60. Number of seconds after which the splash screen
must be closed. Splash timeout may cause an error depending on
<em>&lt;timeoutErr&gt;</em>.
</dd>
</dl>
<dl>
<dt>&lt;timeoutErr&gt;</dt>
<dd>Optional, defaults to true. True signals an error on splash timeout,
false closes the splash screen quietly.
</dd>
</dl>
</blockquote>
<dl>
<dt>&lt;versionInfo&gt;</dt>
<dd>Optional, version information to be displayed by the Windows Explorer.</dd>
</dl>
<blockquote>
<dl>
<dt>&lt;fileVersion&gt;</dt>
<dd>Version number 'x.x.x.x'</dd>
</dl>
<dl>
<dt>&lt;txtFileVersion&gt;</dt>
<dd>Free form file version, for example '1.20.RC1'.</dd>
</dl>
<dl>
<dt>&lt;fileDescription&gt;</dt>
<dd>File description presented to the user.</dd>
</dl>
<dl>
<dt>&lt;copyright&gt;</dt>
<dd>Legal copyright.</dd>
</dl>
<dl>
<dt>&lt;productVersion&gt;</dt>
<dd>Version number 'x.x.x.x'</dd>
</dl>
<dl>
<dt>&lt;txtProductVersion&gt;</dt>
<dd>Free form file version, for example '1.20.RC1'.</dd>
</dl>
<dl>
<dt>&lt;productName&gt;</dt>
<dd>Text.</dd>
</dl>
<dl>
<dt>&lt;companyName&gt;</dt>
<dd>Optional text.</dd>
</dl>
<dl>
<dt>&lt;internalName&gt;</dt>
<dd>Internal name without extension, original filename or module name for example.</dd>
</dl>
<dl>
<dt>&lt;originalFilename&gt;</dt>
<dd>Original name of the file without the path. Allows to determine
whether a file has been renamed by a user.
</dd>
</dl>
</blockquote>
<h2 id="Importing_1.x_configuration">Importing 1.x configuration</h2>
It's possible to import a 1.x configuration file using the GUI
interface. Open the file, correct the paths and save it as a new xml
configuration.
<h2 id="Ant_task">Ant task</h2>
You may set a launch4j directory property or change the task definition.
<pre>&lt;property name="launch4j.dir" location="/opt/launch4j" /&gt;</pre>
Define the task in your Ant build script.
<pre>
&lt;taskdef name="launch4j"
classname="net.sf.launch4j.ant.Launch4jTask"
classpath="${launch4j.dir}/launch4j.jar
:${launch4j.dir}/lib/xstream.jar" /&gt;
</pre>
Execute the task!
<pre>&lt;launch4j configFile="./l4j/demo.xml" /&gt;</pre>
You can set or override the following configuration properties...
<p class="attrib">
jar="absolute path or relative to <em>basedir</em>"<br>
jarPath="relative path"<br>
outfile<br>
fileVersion<br>
txtFileVersion<br>
productVersion<br>
txtProductVersion<br>
bindir="<a href="#Settings">alternate bin directory...</a>"<br>
tmpdir="<a href="#Settings">alternate working directory...</a>"
</p>
<pre>
&lt;launch4j configFile="./l4j/demo.xml" outfile="mydemo.exe"
fileVersion="1.0.0.0" txtFileVersion="1.0 RC2" /&gt;
</pre>
You can also define the entire configuration in the task, but it will
not be possible to edit such a file in the GUI mode. All paths except
for <em>&lt;chdir&gt;</em>, <em>&lt;jre&gt;&lt;path&gt;</em> and <em>jarPath</em>
are calculated using the <em>basedir</em> project attribute.
<pre>
&lt;launch4j&gt;
&lt;config headerType="gui" outfile="demo.exe"
dontWrapJar="true" jarPath="demo.jar" &gt;
&lt;var&gt;SETTINGS="%HomeDrive%%HomePath%\\settings.ini"&lt;/var&gt;
&lt;classPath mainClass="org.demo.DemoApp"&gt;
&lt;cp&gt;./lib/looks.jar&lt;/cp&gt;
&lt;cp&gt;%USER_LIBS%/*.jar&lt;/cp&gt;
&lt;/classPath&gt;
&lt;jre minVersion="1.4.0"&gt;
&lt;opt&gt;-Dlaunch4j.exedir="%EXEDIR%"&lt;/opt&gt;
&lt;opt&gt;-Dlaunch4j.exefile="%EXEFILE%"&lt;/opt&gt;
&lt;/jre&gt;
&lt;/config&gt;
&lt;/launch4j&gt;
</pre>
<h2 id="Additional_jvm_options">Additional JVM options at runtime</h2>
When you create a wrapper or launcher all configuration details are compiled into the
executable and cannot be changed without recreating it or hacking with a resource editor.
Launch4j 2.1.2 introduces a new feature that allows to pass additional JVM options
at runtime from an .l4j.ini file. Now you can specify the options in the configuration file,
ini file or in both, but you cannot override them. The ini file's name must correspond
to the executable's <em>(myapp.exe : myapp.l4j.ini)</em>.
The arguments should be separated with spaces or new lines, environment variable
expansion is supported, for example:
<pre>
# Launch4j runtime config
-Dswing.aatext=true
-Dsomevar="%SOMEVAR%"
-Xms16m
</pre>
<h2>Environemnt variables</h2>
The following variables can be used in the configuration file (elements which contain %VAR%).
They are substitued during runtime, so for example the EXEDIR is the directory where the user installed the wrapped application.
<dl>
<dt class="option">%VAR%</dt>
<dd>
Any environment variable, for example %HOMEPATH%.
</dd>
<dt class="option">%EXEDIR%</dt>
<dd>
Wrapper directory path.
</dd>
<dt class="option">%EXEFILE%</dt>
<dd>
Wrapper executable file path.
</dd>
<dt class="option">%PWD%</dt>
<dd>
Current directory, after chdir was applied.
</dd>
<dt class="option">%OLDPWD%</dt>
<dd>
Directory before chdir was applied.
</dd>
<dt class="option">%JREHOMEDIR%</dt>
<dd>
Path to the JRE which was selected for executing the application.
</dd>
<dt class="option">%HKEY_...\...%</dt>
<dd>
Registry key value, e.g.<br />
%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MemoryDiagnostic\LastScanTime%
</dd>
</dl>
<h2 id="Runtime_options">Runtime options</h2>
<dl>
<dt class="option">--l4j-debug</dt>
<dd>
To make sure the output executable is configured correctly you can use the
debug launching mode to log various information to the launch4j.log file.
Environment variable can also be used...<br />
SET Launch4j=debug
</dd>
<dt class="option">--l4j-debug-all</dt>
<dd>
Same as above, but additionally log loaded resources (options stored during wrapper creation).
Environment variable can also be used...<br />
SET Launch4j=debug-all
</dd>
<dt class="option">--l4j-dont-wait</dt>
<dd>
Disable the "stay alive" function.
</dd>
<dt class="option">--l4j-no-splash</dt>
<dd>
Disable the splash screen.
</dd>
<dt class="option">--l4j-no-splash-err</dt>
<dd>
Disable splash screen error on timeout, might be useful on very slow computers.
</dd>
</dl>
<h2 id="Settings">Settings</h2>
<dl>
<dt>Alternate bin directory: launch4j.bindir</dt>
<dd>
It's possible to override the default bin directory location which contains windres and ld
tools using the <em>launch4j.bindir</em> system property. The property can have two forms:
a path relative to Launch4j's directory (<em>altbin</em> for example) or an absolute path.
<dd>
<dt>Working directory: launch4j.tmpdir</dt>
<dd>Change the working directory if the default path contains spaces which windres cannot handle.</dd>
</dl>
</div>
<div class="footer">
All trademarks mentioned are properties of their respective owners.<br />
Copyright &copy; 2005-2015 Grzegorz Kowal
<p style="margin-top: 2em">
<a href="http://sourceforge.net"><img style="width: 125px; height: 37px; border: none" src="http://sourceforge.net/sflogo.php?group_id=95944&amp;type=4" alt="sf.net"></a>
</p>
</div>
</div>
</body>
</html>
+126
View File
@@ -0,0 +1,126 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Launch4j - Cross-platform Java executable wrapper</title>
<meta name="description" content="Cross-platform Java executable wrapper for creating lightweight Windows native EXEs. Provides advanced JRE search, application startup configuration and better user experience.">
<meta name="keywords" content="java executable wrapper, java application wrapper, exe wrapper, jar wrapper, wrap, wraps, wrapping, free software, launch, launcher, linux, mac, windows, open source, ant, native splash screen, deploy, build tool">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="author" content="Grzegorz Kowal" >
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div id="container">
<div id="top">
<img style="width: 249px; height: 58px;" src="launch4j.gif" alt="launch4j"> <span class="version">3.7</span>
</div>
<div id="leftnav">
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="docs.html">Docs</a></li>
<li><a href="changelog.html">Changelog</a></li>
<li><a href="http://sourceforge.net/project/screenshots.php?group_id=95944">Screenshots</a></li>
<li><a href="http://sourceforge.net/projects/launch4j/files/launch4j-3/3.7">Download</a></li>
<li><a href="http://sourceforge.net/projects/launch4j/support">Support</a></li>
<li><a href="http://sourceforge.net/projects/launch4j">Project summary</a></li>
<li><a href="http://sourceforge.net/tracker/?atid=613100&amp;group_id=95944">Bug tracker</a></li>
<li><a href="links.html">Links</a></li>
</ul>
<!--
*** Spanish docs are outdated ***
<ul style="margin-top: 20px; font-size: 75%">
<li><a href="index.html">English</a></li>
<li><a href="index_es.html">Español</a></li>
</ul>
-->
</div>
<div id="content">
<h2>Cross-platform Java executable wrapper</h2>
<p>
Launch4j is a cross-platform tool for wrapping
Java applications distributed as jars in lightweight Windows
native executables. The executable can be
configured to search for a certain JRE version or
use a bundled one, and it's possible to set
runtime options, like the initial/max heap size.
The wrapper also provides better user experience
through an application icon, a native pre-JRE
splash screen, and a Java download page in case
the appropriate JRE cannot be found.
</p>
<img style="width: 352px; height: 498px; margin-left: 100px;" src="launch4j-use.gif" alt="How to use Launch4">
<h2>Features</h2>
<ul>
<li>Launch4j wraps jars in Windows native executables and allows to run them
like a regular Windows program. It's possible to wrap applications
on Windows, Linux and Mac OS X!
</li>
<li>Also creates <strong>launchers</strong> for jars and class files without wrapping.</li>
<li>
Supports executable jars and <strong>dynamic classpath</strong> resolution using
environment variables and wildcards.
</li>
<li><strong>Doesn't extract the jar</strong> from the executable.</li>
<li>Custom application icon with multiple resolutions and color depths.</li>
<li><strong>Native pre-JRE splash screen</strong> in BMP format shown until
the Java application starts.
</li>
<li>Initial <strong>priority</strong> and <strong>single application instance</strong> features.
</li>
<li>Works with a bundled JRE or searches for newest Sun or IBM JRE / JDK in given
version range and type (64-bit or 32-bit).</li>
<li>Opens <strong>Java download page</strong> if an appropriate Java version cannot be
found or a <strong>support website</strong> in case of an error.
</li>
<li>Supports <strong>GUI and console apps</strong>.</li>
<li>Supports Windows <strong>application manifests</strong>.</li>
<li>Passes command line arguments, also supports constant arguments.</li>
<li>Allows to set the initial/max heap size also <strong>dynamically</strong> in percent of free memory.</li>
<li>JVM options: set system properties, tweak the garbage collection...</li>
<li>Runtime JVM options from an .l4j.ini file.</li>
<li>Runtime command line switches to change the compiled options.</li>
<li>Access to environment variables, the <strong>registry</strong> and executable file path through system properties.</li>
<li><strong>Set environment variables.</strong></li>
<li>Option to change current directory to the executable location.</li>
<li>The JRE's bin directory is appended to the Path environment variable.</li>
<li>Ability to restart the application based on exit code.</li>
<li>Custom <strong>version information</strong> shown by Windows Explorer.</li>
<li>Digital signing of the executable with sign4j.</li>
<li>Supports Windows Security Features of the Windows 8 certification kit.</li>
<li><strong>GUI</strong> and command line interface.</li>
<li>Build integration through an <strong>Ant task</strong>.</li>
<li><strong>Lightweight: 35 KB!</strong></li>
<li><strong>It's free</strong> and may be used for commercial purposes.</li>
<li>Includes a sample application and <strong>Ant script</strong>
that automates the build process from Java sources to native executable.
</li>
<li>The wrapped program works on all Windows platforms (98/Me/NT/2K/XP/Vista/7/8),
Launch4j works on NT/2K/XP/Vista/7/8, Linux and Mac OS X.
</li>
</ul>
<h2>License</h2>
<p>
This program is free software licensed under the
<a href="http://www.opensource.org/licenses/bsd-license.html">BSD license</a>, the <em>head</em> subproject
(the code which is attached to the wrapped jars) is licensed under the
<a href="http://www.opensource.org/licenses/mit-license.html">MIT license</a>.
Launch4j may be used for wrapping closed source, commercial applications.
</p>
<h2>Info</h2>
<p>
Running Launch4j on other Java enabled platforms is a matter of getting a binary version
of <a href="http://www.mingw.org/">MinGW</a> binutils 2.22 (<em>windres</em> and <em>ld</em> only)
for your system or compiling them. If you'll provide these, I'll be able to create a binary package
available for download.
</p>
<a href="http://sourceforge.net/forum/forum.php?forum_id=332683"></a>
</div>
<div class="footer">
All trademarks mentioned are properties of their respective owners.<br />
Copyright &copy; 2005-2015 Grzegorz Kowal
<p style="margin-top: 2em">
<a href="http://sourceforge.net"><img style="width: 125px; height: 37px; border: none" src="http://sourceforge.net/sflogo.php?group_id=95944&amp;type=4" alt="sf.net"></a>
</p>
</div>
</div>
</body>
</html>
Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

+62
View File
@@ -0,0 +1,62 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Launch4j - Cross-platform Java executable wrapper</title>
<meta name="description" content="Cross-platform Java executable wrapper for creating lightweight Windows native EXEs. Provides advanced JRE search, application startup configuration and better user experience.">
<meta name="keywords" content="java executable wrapper, java application wrapper, exe wrapper, jar wrapper, wrap, wraps, wrapping, free software, launch, launcher, linux, mac, windows, open source, ant, native splash screen, deploy, build tool">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="author" content="Grzegorz Kowal" >
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div id="container">
<div id="top">
<img style="width: 249px; height: 58px;" src="launch4j.gif" alt="launch4j"> <span class="version">3.7</span>
</div>
<div id="leftnav">
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="docs.html">Docs</a></li>
<li><a href="changelog.html">Changelog</a></li>
<li><a href="http://sourceforge.net/project/screenshots.php?group_id=95944">Screenshots</a></li>
<li><a href="http://sourceforge.net/projects/launch4j/files/launch4j-3/3.7">Download</a></li>
<li><a href="http://sourceforge.net/projects/launch4j/support">Support</a></li>
<li><a href="http://sourceforge.net/projects/launch4j">Project summary</a></li>
<li><a href="http://sourceforge.net/tracker/?atid=613100&amp;group_id=95944">Bug tracker</a></li>
<li><a href="links.html">Links</a></li>
</ul>
<!--
*** Spanish docs are outdated ***
<ul style="margin-top: 20px; font-size: 75%">
<li><a href="index.html">English</a></li>
<li><a href="index_es.html">Español</a></li>
</ul>
-->
</div>
<div id="content">
<h2>Links</h2>
<p>
<a href="http://prdownloads.sourceforge.net/dev-cpp/devcpp-4.9.9.2_setup.exe">Bloodshed Dev-C++</a><br>
<a href="http://www.mingw.org/">MinGW</a><br>
<a href="http://jakarta.apache.org/commons/beanutils/">Commons BeanUtils</a><br>
<a href="http://jakarta.apache.org/commons/logging/">Commons Logging</a><br>
<a href="http://xstream.codehaus.org/">XStream</a><br>
<a href="http://www.jgoodies.com/freeware/libraries/">JGoodies</a><br>
<a href="http://www.eclipse.org/">Eclipse</a><br>
</p>
<h3>Windows native installers</h3>
<p>
<a href="http://nsis.sourceforge.net/">NSIS</a> (cross-platform, targets Windows)<br>
<a href="http://www.jrsoftware.org/isinfo.php">Inno Setup</a><br>
</p>
</div>
<div class="footer">
All trademarks mentioned are properties of their respective owners.<br />
Copyright &copy; 2005-2015 Grzegorz Kowal
<p style="margin-top: 2em">
<a href="http://sourceforge.net"><img style="width: 125px; height: 37px; border: none" src="http://sourceforge.net/sflogo.php?group_id=95944&amp;type=4" alt="sf.net"></a>
</p>
</div>
</div>
</body>
</html>
+159
View File
@@ -0,0 +1,159 @@
body, table {
font: 12px/20px Verdana, Arial, Helvetica, sans-serif;
}
pre {
padding: 8px;
border: 1px dashed #999999;
background-color: #f1f1f1;
font: 13px/20px "Courier New", Courier, monospace;
}
.version {
color: #307fe1;
font-weight: bold;
}
.codeword {
color: #3333ff;
}
.attrib {
color: #404040;
}
.option {
font-family: "Courier New", Courier, monospace;
font-weight: bold;
}
dt {
margin-top: 1.5em;
color: #404040;
font-size: 115%;
border-bottom: 1px solid #cccccc;
}
dd {
margin-left: 1em;
}
.warn, ul.changes em {
color: #ff0000;
}
table {
margin-top: 1em;
padding: 0;
border: 1px solid #999999;
border-collapse: collapse;
text-align: center;
}
table th {
padding: 2px 4px;
border: 1px solid #999999;
background-color: #f1f1f1;
}
table td {
padding: 2px 4px;
border: 1px solid #999999;
}
.description {
text-align: left;
}
#container {
width: 90%;
margin: 10px auto;
border-width: 0;
background-color: #ffffff;
}
#top {
padding: 0.5em;
background-color: #ffffff;
}
#top h1 {
margin: 0;
padding: 0;
}
#leftnav {
float: left;
width: 170px;
margin: 0;
padding: 0.5em;
background-color: #ffffff;
}
#leftnav ul {
margin: 0;
padding: 0;
border: none;
list-style-type: none;
font-size: 115%;
}
#leftnav a {
width: 170px;
height: 1.6em;
line-height: 1.6em;
display: block;
padding-left: 0.2em;
}
#leftnav a:link, #leftnav a:visited {
text-decoration: none;
color: #666666;
}
#leftnav a:hover {
background-color: #307fe1;
color: #ffffff;
}
#content {
max-width: 52em;
margin-left: 190px;
padding: 1em;
border-left: 1px solid #cccccc;
background-color: #ffffff;
}
#content ul {
list-style-image: url('bullet.gif');
}
#content a:link {
text-decoration: none;
color: #307fe1;
}
#content a:visited {
text-decoration: none;
color: #307fe1;
}
#content a:hover {
color: #307fe1;
text-decoration: underline;
}
#content h2 {
font-size: 150%;
}
#content h2:first-child {
margin: 0 0 0.5em;
}
.footer {
clear: both;
margin: 0;
padding: 0.5em;
background-color: #ffffff;
color: #333333;
text-align: center;
font-size: 90%;
}