Exceptional ease of use
Some installer builders require that you first become an expert in building installers. Not so with install4j, where all configuration steps are intuitive and self-explanatory. The install4j IDE guides you naturally through the process of gathering required information. Building an installer that works is a matter of minutes. Nonetheless, you have a powerful arsenal of functionality at your disposal when you need it.
The installer is the first thing your users see of your application. A smooth installation experience is an important step in creating happy users and a successful product. A substandard installer, however, can ruin the initial impression that is so important for the image of a product. With install4j, your installers will look beautiful and feel natural to users on all platforms.
Rich screen & action system
With install4j, you can configure the screen flow for the installer and uninstaller in any way you like. install4j provides screens and actions for a wide variety of use cases and allows you to create your own actions directly in the install4j IDE. Actions can be attached to each screen, making install4j a visual programming system far more powerful than traditional installer builders.
Fully flexible auto-updaters and custom applications
install4j offers several templates for updaters that enable you to create an auto-update solution for your application with just a few clicks. Auto-updaters are fully customizable, so they can support your special requirements for a large number of scenarios. More generally, install4j supports the creation of custom installer applications that are packaged with your application.
Simple creation of custom screens
Querying information from the user that's specific to your application does not have to be hard. Besides programming your own custom screens, install4j includes a unique concept of form screens that look good and are easy to configure. With its powerful variable system, install4j enables you to use the entered information in other screens and actions. Creating a user interface cannot get any easier than this.
Native launcher generation
install4j generates launchers for your applications that are native on every supported platform: Windows executables are compiled with our exe4j technology, state-of-the-art Unix shell scripts are created for Unix platforms and application bundles blend in seamlessly on Mac OS X. These launchers offer the most flexible JRE-detection on the market and are integrate with many other features in install4j.
Advanced JRE bundling
One of the core requirements for a Java-aware installer builder is the ability to bundle a JRE with the installer. With features like download-on demand, Pack200 compression or shared installations of JRE bundles, install4j stands out in this area as well. Pre-packaged JRE bundles can be easily downloaded from within the IDE making JRE bundling a one minute exercise.
Superb cross-platform support
Deploying an application to multiple platforms is a complex endeavor. install4j eases this burden by several orders of magnitude. You define a common installer for the entire project and specify platform-specific information in the media wizards. Even if you only require the Windows Edition at first, by choosing install4j you keep all your options open for targeting multiple platforms.
Extensive i18n support
install4j fully supports you in localizing your installer to multiple languages. It offers a large number of installer languages and an easy mechanism to introduce new keys for your own messages in the installer. You can build single-language or multi-language installers that detect the actual language at runtime.
install4j is extensible. With its JavaBeans-based extension model and its well-documented API, you can add your own actions, screens and form components to the component registries in install4j. All pre-defined components in install4j are programmed that way. With this flexibility, you can quickly integrate your own code into the installer or create extensions that can be reused in multiple projects.