What's new in install4j 4.0

Change release:

Please see the change log for a detailed list of changes.

install4j 4.0 introduces the following notable new features:

Configurable screen system. In install4j 4, you can freely configure the sequence of installer and uninstaller screens. Common properties for screens include a condition expression and a validation expression. This allows you to configure complex control easily in inside the install4j IDE.
Screenshot
In addition to the fully localized screens that serve a specific purpose, install4j offers configurable screens that you can use in combination with actions to program your installer for a large number of use-cases.
Screenshot
Configurable action system. In place of the fixed installation and uninstallation options in previous versions, in install4j 4 you can freely configure actions to be executed after each screen. While screens are used for user input, actions do the actual work. Screens and actions can be wired together with installer variables. Error handling and rollback behavior can be configured for each action.
Screenshot
install4j 4 offers a large number of pre-defined actions that greatly expand the capabilities of your installers far beyond the feature set that was available in earlier versions.
Screenshot
Configurable "Form screens". install4j 4 offers a special screen type that lets you freely configure the contents of a screen using a wide variety of pre-defined form components. Form components save user input to installer variables, so that actions and other screens can use the entered information.
Screenshot
Form components are aligned vertically and are optimized for typical data entry forms. Your configuration of form components in a form screen is automatically mapped to the console installer mode. With the "Preview Form" button you can check the generated layout at any time.
Screenshot
Entering custom code directly in the install4j IDE. Wiring together screens and actions is made easy with special properties that allow you to enter code snippets directly in the install4j IDE. Especially important are the properties for the conditional execution of screens and actions as well as for the validation of screens.
Screenshot
Multi-language installers. install4j 4 can create installers that allow the user to select from a number of languages at runtime. Alternatively, the installer can automatically adjust the language to the auto-detected locale. There's a new mechanism to localize your own messages in screens and actions. That mechanism can also be used to override all system messages.
Screenshot
Console installers. In addition to the default GUI mode and the unattended mode for installer, install4j 4 introduces a console installer and uninstaller mode. If you start an installer with the argument -c, no GUI will be displayed, and all questions and messages will be handled on the console where the installer or uninstaller was invoked. All pre-defined screens and actions, including the configurable form screens support installer mode. Console mode is especially useful if you want to run an installer on a headless Unix box.
Screenshot
Installation component tree. Installation components in install4j 4 are much more flexible than previously. They can be arranged into a tree with component folders and support descriptions as well as dependencies.
Screenshot
At runtime, the installer offers toggle buttons to display descriptions directly below the component or folder nodes.
Screenshot
Net installers and CD installers. In previous versions of install4j, all files from the distribution tree were contained in the installer media file. In install4j 4, you have the option to create external data files. Multiple data files are created according to your installation components. For CD installers, these data files are placed in a directory next to the installer. This makes the installer startup much faster and leaves data files for uninstalled components untouched.
Screenshot
Data files for downloadable components can be placed on a web server and are downloaded by the installer on demand if they are not found locally.
Screenshot
Pack200 compression for all JAR file. The Pack200 compression algorithm that was designed specifically for JAR files is now supported for all JREs in the distribution tree. If the minimum requirement for your project is Java 1.5, you can enable the compression option on the "Media File Options" tab. Combining LZMA compression and Pack200 compression achieves sensational compression ratios for your installers.
Support for Windows Vista. Windows installers and launchers generated by install4j 4 are compatible with Windows Vista. Installers run with the "Highest available" execution level by default. Optionally, they can receive the "Require administrator" execution level, while the execution level for launchers is freely configurable. The user experience on Windows Vista is smoother if executables are signed. Code signing can now be integrated into the install4j compiler so that all launcher executables as well as installer and uninstaller can be signed.
64-bit support on Microsoft Windows. install4j 4 can generate Windows installers and launchers in 64-bit format. Launchers generated for such media files will only work with a 64-bit JVM. If your applications have high memory requirements, you can choose this option for your users on 64-bit Windows installations.
Extensibility of install4j. In install4j, you can write extensions based on the JavaBeans specification that contribute screens, actions and form components to the standard registries of pre-defined beans. While it is still possible to add "raw" custom code to your project and use its contribution in the appropriate places, a packaged extension makes it possible to enhance the capabilities of install4j in a professional way that is transparent to the end-user. In fact, all pre-defined screens, actions and form components were developed with the public install4j API.