Change Log

Release 9.0 

2023-01-17

New features:

  • Support for creating ARM64 executables on the "Executable info->Architecture" step
  • Optionally global single instance mode on the new "Executable info->Single instance mode" step
  • The per-user single instance mode now optionally covers all active sessions
  • Support for finding Microsoft, Zulu and Temurin JRE installations
  • Show number of configured version-specific VM parameter entries in the "Java invocation" step

Bugs fixed:

  • Startup notifications that occurred before a listener was registered were not delivered in order
  • If dark mode was used in macOS 13 (Ventura), the exe4j wizard would hang on startup
Release 8.0.1 

2022-02-18

New features:

  • Support dark mode for the exe4j wizard

Bugs fixed:

  • Regression in exe4j 8.0: bin/ant.jar was missing
  • Changed the way command line parameters are split to behave like java.exe
  • Fixed broken Java version check in some situations
Release 8.0 

2021-03-11

New features:

  • Added support for non-OpenJDK Java launchers
  • Added a --fail-on-warning command line option for the compiler as well as corresponding properties for Gradle and Ant tasks
  • 64-bit install4j launchers now prefer the server JVM on Windows. This fixes problems with recent AdoptOpenJDK Java 11 releases that contain a client VM.
  • Using ~ for the home directory is now supported for the redirection files
  • The minimum runtime Java version is now 1.8, the exe4j compiler and wizard need a Java 11 JRE

Bugs fixed:

  • Could not use absolute locations for the JRE search sequence when the build was not performed on Windows
  • An empty JRE search sequence was reverted to the default after opening the project again
Release 7.0 

2020-01-09

New features:

  • Support for version ranges in version-specific VM options for launchers
  • Less verbose and more human-readable project file format that does not write default settings

Bugs fixed:

  • For OSGI applications, the method to hide the splash screen could not work due to classloader issues
  • Using archives in class and resource paths with a wildcard in the file name did not work if the path was absolute
Release 6.0.2 

2019-01-28

New features:

  • Support for OpenJ9 VMs
  • -J-splash:none can be passed as an argument to disable the splash screen

Bugs fixed:

  • If the environment variable _JAVA_OPTIONS was set, the version check for Java 9+ did not work on Windows
  • The Java version check did not work for some newer OpenJDKs
  • Launcher for the exe4j wizard UI did not work on macOS
Release 6.0.1 

2018-08-24

New features:

  • Removed empty class path warning
  • Uncaught exceptions in exe4j wizard are now written to %TEMP%\exe4j_error.log
  • Support for running the exe4j wizard and its command line tools with Java 10 and Java 11

Bugs fixed:

  • Regression in exe4j 6.0: File and directory chooser buttons in class path configuration did not work anymore
Release 6.0 

2017-07-07

New features:

  • Support for Java 9
  • Executables can define a Java 9 module path in addition the the class path
  • Support for the new multi-resolution features in Java 9, including multi-resolution splash screen support
  • In the "Manifest options" step of the wizard, the new default "Java 9+" makes executables DPI aware if Java 9+ is used as a minimum version
  • Added a "/restart" parameter for service executables

Bugs fixed:

  • If a JRE could not be loaded, more than one error message was shown in sequence
  • Extra arguments were not passed correctly when starting a service executable with the /run parameter
  • services installed with /install are now always non-interactive
Release 5.1 

2016-02-19

New features:

  • Java version-specific VM parameters for launchers
  • Service launchers: Print options when invoked with the argument /?
  • Command line compiler: Support --license flag together with other options. Added "license" attribute the the ant task.

Bugs fixed:

  • exe4jc -L [license key]" returned successfully without an error message even if the config file could not be saved
  • For wildcard classpath entries of type "archive", the shortest available match is now used
  • The current directory was appended to the end of the class path
Release 5.0.1 

2015-02-09

Bugs fixed:

  • Fixed crash on startup for very large classpaths
  • ant.jar file was missing in the distribution since 5.0
  • License keys for install4j 6.x were not accepted in the wizard
Release 5.0 

2014-11-03

New features:

  • Generated launchers no longer poll the file system for the internal single instance and splash screen communications
  • Splash screen API now works for the Java splash screen as well
  • Added "/run" and "/run-redirect" parameter for services to start a service in command line mode from a terminal
  • Support DPI scaling for with a setting on the "Executable info->Windows manifest options step" of the launcher wizard
  • Native file choosers and alerts in the exe4j wizard
  • Generated launchers now require at least Java 6, the exe4j IDE now requires at least Java 7
Release 4.6 

2014-06-07

New features:

  • exe4j now uses wide characters internally, fixing several problems with characters in directory names from outside the default code page
  • Expand launcher variables and environment variables in working directory
  • exe4j wizard can now run with Java 8
Release 4.5.2 

2013-01-15

New features:

  • The exe4j wizard now uses the native look and feel
Release 4.5.1 

2012-11-28

Bugs fixed:

  • Fixed problem with Windows 8 certification
  • Do not force Java 6 locale behavior for Java 7
  • exe4j license dialog showed invalid evaluation option
Release 4.5 

2012-09-21

New features:

  • Generated executables now pass Windows 8 certification

Bugs fixed:

  • JAR in EXE service did not delete all temp files
  • Unbalanced quotes for arguments were not handled correctly
  • Fixed a race condition with the exe4j splash screen
Release 4.4.6 

2012-06-30

Bugs fixed:

  • Several command line options were broken (regression in 4.4.5)
  • Javadoc formatting of the API documentation was broken (regression in 4.4.5)
Release 4.4.5 

2012-06-18

New features:

  • Java 7 can now be used to run the exe4j wizard and the exe4j command line compiler

Bugs fixed:

  • Temporary directory creation is now more robust
  • Remove temporary files if no JRE can be found
Release 4.4.4 

2012-01-12

Bugs fixed:

  • Fixed locale regressions in 4.4.3
Release 4.4.3 

2011-12-08

New features:

  • Add a compatibility manifest for Windows 7 to generated executables

Bugs fixed:

  • Service shutdown did not work correctly when user code redirected System.in
  • Single instance mode for launchers was broken if there were spaces in the name of the executable
  • Some operations in SWT applications could be slow due an application manifest entry
Release 4.4.2 

2011-03-21

New features:

  • Make executable name available for JVM discovery, for example in VisualVM

Bugs fixed:

  • Language selection was ignored, the language for error messages was always English
  • In the fixed VM parameters, a "\n" was replaced with a newline character
Release 4.4.1 

2010-10-22

New features:

  • Allow a * placeholder in classpath archive entries to support frequently changing version numbers of JAR files like in maven projects

Bugs fixed:

  • Service arguments embedded in the registered binary path did not work correctly
  • Fixed a deadlock for service launchers
Release 4.4 

2010-06-16

New features:

  • Added a /create-i4j-log command line parameter for generated Windows executable to easily create and show a native debug log file

Bugs fixed:

  • Fixed problems with service shutdown
Release 4.3.2 

2010-06-08

New features:

  • Support for OpenJDK on Windows

Bugs fixed:

  • Fixed internal error 7 when a lot of processes were started at the same time
  • Environment variables were not replaced in directory entries of the JRE search sequence
  • Set java.library.path explicitly to fix problems on some Windows Server 2003 machines
Release 4.3.1 

2010-02-11

Bugs fixed:

  • Native libraries screen: Entering the variable %EXE4J_TEMPDIR% was not possible
  • Fixed hanging processes in single instance mode when parent process exits immediately and many processes were started
Release 4.3 

2009-09-17

New features:

  • Added option in Executable info->Redirection step of the wizard to append output to existing redirection files
  • Command line argument -x / --require-license for exe4j command line compiler and attribute 'requirelicense' of exe4j ant task to avoid producing evaluation executables
  • Service launchers: Added the option non-interactive after /install to register services that should not allowed to interact with the desktop.

Bugs fixed:

  • A listener registered with com.exe4j.Controller#registerStartupListener was not called reliably for a rapid succession of invocations
  • Added a workaround for an undefined TMP environment variable
Release 4.2 

2009-01-20

New features:

  • Support for including other .vmoptions files with the new -include-options [path to .vmoptions file] VM parameter. This works in the fixed VM parameters as well as the .vmoptions files.
  • GUI launchers: Added an optionally recognized -console parameter that connects stderr, stdout an stdin to the console from which the launcher was invoked
  • Redirection files: Absolute paths and environment variables are now supported

Bugs fixed:

  • Using a splash screen image in PNG format with an alpha channel lead to a compilation error
  • Running the command line compiler with a relative path name for the config file did not correctly resolve resources
Release 4.1.1 

2008-10-30

Bugs fixed:

  • Workaround for erroneous virus definition in CA Anti-Virus 2009
Release 4.1 

2008-04-03

New features:

  • Support for Java 6 splash screens
  • Launchers can now request heap sizes (-Xmx values) of the same maximum size as the default java launchers if the built-in splash screen is not used. Previously the maximum size was reduced due to fragmentation of the address space.
  • Improved several error messages in the launcher

Bugs fixed:

  • Temporary files created by Windows launchers are now deleted immediately after exit rather than on the next launch
Release 4.0.3 

2007-03-01

New features:

  • Support environment variables in the names of redirection files
Release 4.0.2 

2006-12-20

Bugs fixed:

  • Executing a service launcher with the /start argument on Windows did not return with an error code if it failed to start the service
  • arguments with quotes in the argument like arg="1 2" were not supported
Release 4.0.1 

2006-10-30

Bugs fixed:

  • Fixed error messages
  • Fixed a SecurityManager issue with shutting down services
  • Fixed a library dependency problem with Java 6 on older Windows versions
Release 4.0 

2006-09-29

New features:

  • Use long path names on Windows if the current code page supports all characters in the path name
  • Display splash screen before JAR files are unpacked for instant feedback
  • Service executables do not require anymore that the main method returns after the initialization
  • Configurable execution level for Windows Vista
  • Option for generating 64-bit executables that work with 64-bit JREs
Release 3.1.4 

2006-09-24

Bugs fixed:

  • Increased timeout when checking for JRE versions
  • Fix for very long classpaths
  • Changed stack settings to allow huge numbers of concurrent threads
Release 3.1.3 

2006-04-24

New features:

  • Support for bundled BEA JRockit JVMs (no registry detection)
  • Java 1.6 beta is now recognized as a beta release

Bugs fixed:

  • Larger timeout when checking for JRE versions fixes problems with JREs on slow network drives
  • Fixed a crash with the "JAR in EXE" mode
  • More robust deletion of temporary files
Release 3.1.2 

2006-01-11

Bugs fixed:

  • service installation left a temporary file
  • Native library step did not work correctly in exe4j wizard
Release 3.1.1 

2005-11-22

Bugs fixed:

  • could not start from CD with JRE in relative location on Windows 98/ME
  • rare ClassNotFoundException when launcher is executed quickly multiple times
  • single-instance mode without notification handler causes the third and subsequent processes to stay alive
Release 3.1 

2005-07-21

New features:

  • option to use only full JDKs and no JREs
  • *.vmoptions file is read and each line is added as a separate VM parameter (previously *.exe.vmoptions)
  • Java 1.5 early access releases are now recognized as beta releases
  • services on Windows can now interact with the desktop
  • splash screen now works correctly with SWT apps
  • reload splash screen image when modification time changes

Bugs fixed:

  • no save dialog was shown on open or reopen
  • working directory was always the first entry in classpath
Release 3.0.2 

2005-01-21

New features:

  • setting the environment variable EXE4J_LOG=yes will create a log file for the JRE search sequence
  • command line switch for exe4jc to enter a license key without the GUI

Bugs fixed:

  • multi-byte character fixes
Release 3.0.1 

2004-11-22

New features:

  • full support for Unicode

Bugs fixed:

  • fixed startup notification issues when opening multiple files concurrently
Release 3.0 

2004-10-18

New features:

  • new API for notification of multiple startups in single instance mode
  • creation of redirection files on demand
  • possibility to redirect stderr and stdout to the same file
  • new process architecture: the started process of an exe4j executable remains the same during the entire execution
  • improved startup error notification
  • possibility to use environment variables in classpath entries
  • full support for UNC path names
  • possibility to set the description for services
  • it is now an error if the path for redirection log files does not exist
  • several usability improvements in the exe4j wizard

Bugs fixed:

  • in some cases, entering multiple native library paths did not work correctly
  • stdout and stderr file names were always converted to lower case
Release 2.3 

2004-08-12

New features:

  • option whether to use beta JREs on Windows or not
  • in the JRE step, you can now specify patch levels like 1.4.1_01

Bugs fixed:

  • the main class selector in the Java invocations step did not work when the distribution source directory was relative
  • the .vmoptions file did not work for service executables if the executable had a long filename
  • the command line compiler was not included in the Mac OS X distribution
  • the ant task did not work on Mac OS X