exe4j Changelog

What's new in exe4j 4.5.1

Nov 28, 2012
  • 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

New in exe4j 4.5 (Sep 21, 2012)

  • 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

New in exe4j 4.4.6 (Jul 2, 2012)

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

New in exe4j 4.4.5 (Jun 18, 2012)

  • 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

New in exe4j 4.4.1 (Oct 22, 2010)

  • 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 in exe4j 4.2 (Jan 29, 2009)

  • 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.
  • Added a "Save installer variables to the Java preference store" action that saves selected installer variables that can be encoded as strings
  • Added a "Load installer variables from the Java preference store" action
  • Launcher API: com.install4j.api.launcher.Variables offers methods to get compiler and installer variables in the launcher and to load and save installer variables from the Java preference store
  • Launcher API: com.install4j.api.launcher.Variables offers methods to access the installer and compiler variables of the installer
  • Added a "Load response file" action
  • Default installer template: Added a "Load response file" action to the "Installation directory" screen to load user input from a previous installation
  • Default uninstaller template: added a "Load response file" action to the startup sequence to load user input from the installer
  • The proxy settings of the default browser are now used on Windows for all downloads
  • "Check for update" and "Download file" actions: Added "Ask for proxy if necessary" property. If deselected and the download fails, no proxy dialog will be displayed.
  • Added installer parameters -Dinstall4j.clearProxyCache=true and -Dinstall4j.showProxyConfig=true to control the proxy cache
  • Server side authentication for downloads is now supported. A dialog for entering user name and password is displayed if the web server requires authentication.
  • Windows GUI launchers: Added an optionally recognized -console parameter that connects stderr, stdout an stdin to the console from which the launcher was invoked
  • Added the option -splash [title] for installer applications that brings up a small progress window if unattended mode is selected with the -q option
  • Added a -wait [timeout in seconds] command line option for installers. In unattended mode on Windows, the installer application will wait for all launchers and installer applications to shut down before starting the installation. If the timeout is reached, it will exit with an error message.
  • Added a filter field in registry dialogs for screens, actions and form components
  • Tool bars now show icons with text. This setting can be changed by right-clicking a tool bar.
  • Show missing files in the distribution tree and on the custom code tab in red
  • Mac OS X: The principal language is now written to the Info.plist file
  • Added a "Missing files at build time" option to "General Settings->Media File Options" that determines the action if a file or directory in the distribution tree is missing. The default setting is now "Print a warning and continue".
  • Added a "Scan directory" entry type on the Installer->Custom code tab
  • All signed JAR files can now be packed with the Pack200 compression (with a lower compression ratio due to a single segment being used)
  • If the "Safe back button" policy is set for a screen, a back button is also displayed if all actions in the previous screen are configured for multiple execution
  • Updater templates: Execute downloaded installers in unattended or console mode depending on how the updater was invoked.
  • Do not set native look and feel for installer applications if the -Dswing.defaultlaf VM parameter is set
  • Added an installer variable sys.preferredJre that is set afer the "Install Files" action has run and contains the path to the JRE that will be used by the installed launchers.
  • Added a compiler variable sys.applicationId that contains the application ID of the project
  • If possible, the language selection dialog of a multi-language installer is now displayed in the system lanugage rather than the principal language. There is a new option on the "Languages" tab to always use the principal language.
  • Redirection files of launchers: Absolute paths and environment variables are now supported
  • "Single radio button" form component: Added "Selection script" property to execute code when the user clicks the radio button
  • Added "Default execution mode" property for all installer applications to be able to configure console or unattended execution as the default mode.
  • Added "Fall back to console mode on Unix" property for all installer applications. This is selected by default and switches to console execution mode if no X server is available.
  • Added a "Replace installer variables in a text file" action. Compiler variables and i18n keys are also replaced by this action.
  • Added a "Fail if no replacement occurred" property to all actions that modify files
  • "Copy file" and "Move file" actions now also work with directories and have been renamed accordingly
  • "Run executable or batch file" action: Environment variables can now be set or modified
  • "Run executable or batch file" action: Added "Show windows console" and "Keep console window" properties for Windows in order to show a console window with the output or the executable and optionally keep the console window open
  • "Create program group" action: Added separate options to disable the creation of Unix symlinks and Unix menu entries
  • The "Create start menu entry" action now also works on Linux/Unix
  • "Modify an environment variable on Windows": The changes are now reverted on uninstallation, this behavior can be controlled with the new "Revert on uninstallation" and "Only if not modified" proerties.
  • API: com.install4j.api.context.WizardContext now has methods to set the text of the navigation buttons
  • API: added com.install4j.api.UpdateUpdateDescriptor.checkVersion(String version) to check if a version is compatible with the minimum and maximum versions of an update descriptor entry
  • API: Property customizers can now be built with the new classes com.install4j.api.beaninfo.PropertyConverter and com.install4j.api.beaninfo.PropertyCustomizers
  • API: Properties of type java.util.LinkedHashMap get a default editor in the IDE if they are registered with the Install4JPropertyDescriptor.CONTEXT_STRING_TO_STRING_MAP context
  • Bugs fixed:
  • Help text in property pane on Screens & Actions tab was black on some Vista installations
  • Using a splash screen image in PNG format with an alpha channel lead to a compilation error
  • .vmoptions files on Unix: leading spaces on a line were not ignored
  • Actions could sometimes not be added to screens in the uninstaller
  • Mac OS X: Service were started as the orignal user if "Restart as root" was selected in the "Require admin user" action
  • The directory name for the uninstaller was sometimes not saved to the project file under some circumstances
  • The uninstaller used the "Custom image for title bar" property from the installer
  • Fixed "Run executable" action on Vista when path contains special characters
  • "Run executable" and "Execute launcher" actions: stderr and stdout were not consumed by default
  • Version comparison for com.install4j.api.updateUpdateDescriptor.getPossibleUpdateEntry() has been improved
  • "Show URL" and "Show file" actions did not always work on Finish screen on Linux / Unix
  • Line endings in .vmoptions files were not adjusted correctly for Windows media files
  • "Single radio button" form component: installer variables were not replaced in the "Radio button label" property
  • Proxy dialog was not big enough in some look and feels
  • Do not warn or fail during a build if a missing file or directory has been excluded for the media file
  • "Create program group" action on Unix: Do not create symlinks in the same directory as the destination file, thereby overwriting the destination file
  • Downloads failed if the wen server reported an unknown file size
  • "Modify an environment variable on Windows" action: If "prepend" or "append" were selected fpr the "Modification type" property, the variable separator ";" was not inserted if the environment variable already contained a value
  • "Create program group" action on Unix: Symlinks were also created for launchers for which menu integration has been disabled
  • Fixed performance regression in code editor on Windows if JRE 1.6.0_10+ is used
  • Improved error reporting in installation log for actions that modify files
  • The -c and -console parameters did not have any effect on Windows for installer applications other than the installer itself
  • "Delete a node or key in the Java preference store" action: If the key or node did not exist, the action did not fail
  • Added an installer variable "sys.responseFile" that contains the path of the response file if a respose file has been specified on the command line with the -varfile option.
  • Windows program group was always set to default value even if a reponse file was specified on the command line
  • "Installation directory chooser" form component: In console mode, the installation directory was not changed
  • "Installation type screen": The associated label was not selected if the radio button was selected
  • Multi-line string properties could sometimes not be reset to an empty value
  • Mac OS X. CMD+Q was not handled in the installer
  • Pack200 compression could produce archives with a Java 1.6 version number for some archives even if the minimum version of the project was set to 1.5
  • If there were multiple media output directories, the update descriptor updates.xml was only copied to the last one
  • Java editor: There were empty entries in the completion popup for constructor parameters
  • "Radio button group" form component: The initially selected index was not applied from a response file
  • Running the command line compiler with a relative path name for the config file did not correctly resolve resources
  • Java 5 syntax was underlined as an error in the editor on Mac OS X even if the Java minimum version for the project was set to 1.5 or higher