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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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