# Introduction To install4j

### What is install4j?

install4j is a professional tool for building installers for multiple platforms, especially for applications that run on the Java Virtual Machine.

Main features that distinguish install4j are:

- **Flexible configuration of screens and actions** — In your installers you can define your own flow of installer [screens and installer actions](../concepts/screensAndActions.md) to gather user input and initialize your installation with it. [Configurable form screens](../concepts/formScreens.md) allow you to create arbitrary forms that work in [GUI and console mode](../installers/installerModes.md). A rich set of configurable actions handles a variety of tasks and is extensible with the [API](../api/installer.md).
- **Generation of native launchers** — install4j generates native launchers for console, GUI and [service executables](../concepts/services.md). These launchers offer variety of features such as flexible module and classpath configuration, version-specific [VM parameters](../concepts/vmParameters.md), icons, splash screens and much more. At runtime, there is [launcher API](../api/launcher.md) that interacts with some of these features and with the variable system of the installer.
- **Auto-update functionality** — The requirements for [automatic updates](../concepts/autoUpdate.md) are very individual, so install4j offers a template-base mechanism for update-downloaders. Update downloaders are fully configurable installer applications with their own flow of screens and actions, that can handles interactive auto-update, mandatory auto-update at startup and background update.
- **Bundling of Java Runtime Environments** — [Bundling a Java runtime](../concepts/jreBundles.md) is made easy with the pre-build JRE bundles and the bundle creation tools in install4j. JRE bundles can also be downloaded on the fly if no JRE installation is found.
- **AI agent skill** — install4j ships with an [AI agent skill](../concepts/aiAgentSkill.md) that teaches compatible AI coding assistants how to read, edit, and create install4j project files.

The install4j UI is delivered as a desktop application. Building installers is not only possible in the IDE, but also with the [command line compiler](../cli/compiler.md) as well as the plugins for [Gradle](../cli/gradle.md), [Maven](../cli/maven.md) and [Ant](../cli/ant.md).

### How do I continue?

The "Concepts" section is intended to be read in sequence, with later help topics building on the content of previous ones. The sections at the end are optional readings that should be consulted if you need certain features.

We appreciate your feedback. If you feel that there's a lack of documentation in a certain area or if you find inaccuracies in the documentation, please don't hesitate to contact us at [support@ej-technologies.com](mailto:support@ej-technologies.com).
