Skip navigation links
install4j API

install4j API documentation

This documentation specifies the public API that install4j provides for scripting installers and uninstallers, developing extensions and for accessing runtime services.

See: Description

Packages 
Package Description
com.install4j.api
This package contains general utility classes for the install4j API.
com.install4j.api.actions
This package contains the interfaces and abstract base classes for actions.
com.install4j.api.beaninfo
This package contains the utility classes for writing BeanInfo classes for screens, actions and form components.
com.install4j.api.beans
This package contains the base classes for all extension points in install4j as well as special property classes.
com.install4j.api.context
This package contains classes that allow you to interact with the installer and its environment.
com.install4j.api.events
This package contains classes that allow you to listen for events generated by the installer.
com.install4j.api.formcomponents
This package contains the interface and abstract base class for form components.
com.install4j.api.launcher
This package contains classes that your own application code can use to access runtime services provided by install4j.
com.install4j.api.macos
This package contains classes with static utility methods for using macOS-specific features that are not directly supported by the Java platform.
com.install4j.api.screens
This package contains the interfaces and abstract base classes for screens.
com.install4j.api.styles
This package contains the interface and abstract base class for styles.
com.install4j.api.unix
This package contains classes with static utility methods for using Unix-specific features that are not directly supported by the Java platform.
com.install4j.api.update
This package contains classes that help you to handle auto-updates.
com.install4j.api.windows
This package contains classes with static utility methods for using Windows-specific features that are not directly supported by the Java platform.
com.install4j.api.windows.service
This package contains classes to manipulate Windows services.

This documentation specifies the public API that install4j provides for scripting installers and uninstallers, developing extensions and for accessing runtime services.

Getting started

Please read "Help topics->Extending install4j->Using the install4j API" in the documentation ( directory $INSTALL4J_HOME/doc or F1 in the install4j IDE) for an overview on how to use the API. Packaging your own beans as regular install4j extensions is explained under "Help topics->Extending install4j->Extensions".

To get started with writing your own screens, actions and form components, please have a look at the Custom Code example project that is located in the samples/customCode subdirectory of your install4j installation.

Classpath for framework classes

When developing your own classes, you have to add $INSTALL4J_HOME/resource/i4jruntime.jar to your classpath. Do not distribute this jar file with your application, install4j will handle this for you. i4jruntime.jar will be automatically available on the classpath in the installer as well as for all launchers generated by install4j.

Maven


        <dependency>
           <groupId>com.install4j</groupId>
           <artifactId>install4j-runtime</artifactId>
           <version>7.0.11</version>
        </dependency>

        <repository>
           <id>ej-technologies</id>
           <url>https://maven.ej-technologies.com/repository</url>
        </repository>
      

Ivy


        <dependency org="com.install4j" name="install4j-runtime" rev="7.0.11" />

        <ibiblio name="ej-technologies" usepoms="true" m2compatible="true"
                 root="https://maven.ej-technologies.com/repository" />
      

Gradle


        repositories {
            maven {
                url 'https://maven.ej-technologies.com/repository'
            }
        }
        dependencies {
            classpath group: 'com.install4j', name: 'install4j-runtime', version: '7.0.11'
        }
      

Testing and debugging

To test and debug screens, actions and form components for your installer, you can follow this procedure:

This procedure allows for an edit-compile-debug cycle that is much faster than building the media file and running the installer. In addition, output on stderr and stdout can be captured and you can debug your screens, actions and form components this way.

Extension points

install4j provides three extension points: screens, actions and form components. Please see the corresponding package overview for more information:

Internationalization

install4j offers custom localization files in the install4j IDE to localize your own messages. com.install4j.api.context.Context.getMessage(String key) gives access to all messages.

If you develop your own user-configurable screens, actions or form components, you can replace all custom localization keys and installer variables in property values with calls to the com.install4j.api.beans.AbstractBean.replaceVariables(...) methods. All abstract base classes for beans extend com.install4j.api.beans.AbstractBean.

The locale of the installer will always be set to the language selected by the user or configured for the media file, not the locale of the system that the installer is running on. You can query com.install4j.api.context.Context.getLanguageId() to find out what language your installer is running with.

Skip navigation links
install4j API