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
Bug fixes:
- 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
Bug fixes:
- 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
Bug fixes:
- 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
Bug fixes:
- 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
Bug fixes:
- 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
Bug fixes:
- 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 to 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
Bug fixes:
- 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 to the ant task.
Bug fixes:
- 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
Bug fixes:
- 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
Bug fixes:
- 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
Bug fixes:
- 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
Bug fixes:
- 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
Bug fixes:
- Temporary directory creation is now more robust
- Remove temporary files if no JRE can be found
Release 4.4.4
2012-01-12
Bug fixes:
- 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
Bug fixes:
- 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
Bug fixes:
- 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
Bug fixes:
- 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
Bug fixes:
- Fixed problems with service shutdown
Release 4.3.2
2010-06-08
New features:
- Support for OpenJDK on Windows
Bug fixes:
- 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
Bug fixes:
- 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 be allowed to interact with the desktop.
Bug fixes:
- 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 and stdin to the console from which the launcher was invoked
- Redirection files: Absolute paths and environment variables are now supported
Bug fixes:
- 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
Bug fixes:
- 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
Bug fixes:
- 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
Bug fixes:
- 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
Bug fixes:
- 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
Bug fixes:
- 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
Bug fixes:
- 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
Bug fixes:
- service installation left a temporary file
- Native library step did not work correctly in exe4j wizard
Release 3.1.1
2005-11-22
Bug fixes:
- 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
Bug fixes:
- 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
Bug fixes:
- multi-byte character fixes
Release 3.0.1
2004-11-22
New features:
- full support for Unicode
Bug fixes:
- 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
Bug fixes:
- 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
Bug fixes:
- 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