Installer - Configuring Applications


  Applications are configured on the screens & and actions tab.
  The top-level nodes represent the different applications that can be configured for the project. There are 3 types of applications:
  • Installer
    The installer is the application that is executed when the media file is invoked by the user, for example, when the user double-clicks on the installer executable in the Windows explorer. The installer cannot be deleted from the tree of installer elements.
  • Uninstaller

    The uninstaller is a special application for uninstalling an installation. It is used in various contexts:

    • Directly invoked by the user
    • Invoked from the Windows software registry
    • Invoked by the "Uninstall previous installation" action

    The uninstaller cannot be deleted from the tree of installer elements. If you do not wish to generate an uninstaller, you can disable it.

  • Custom installer application
    You can add any number of custom installer applications that can be invoked after the installation. install4j comes with several templates for auto-updaters. Custom applications can also be used for writing maintenance applications for your installation.

    You can add new custom installer application by clicking on the  Add button on the right side of the list and choosing Add Application from the popup. The application templates dialog will be displayed and lets you choose a starting point for your custom installer application. Application templates are entirely made up of existing screens, actions and form components. You can modify the selected application template after adding it.

    Unlike the installer and uninstaller above, custom applications are also created for archive media files. Please see the help topic on screens and actions for more information on how to create first-run installers for archives.

    Custom installer applications with a non-empty "executable directory" property are automatically added to the "Default file set". Unlike launchers, they cannot be assigned to specific file sets. If your installation components do no include the root of the default file set, you have to select the custom installer applications explicitly in the installation component configuration. If the custom installer application is added to the .install4j directory by leaving the executable directory empty, they will always be included.

  Each installer application has a startup sequence of actions. Those actions are executed before the installer application presents a user interface. If any of these actions fails and has a "Quit on failure" failure strategy, the installer application will not be shown.
  The configurable properties of the three types of applications are listed below:
 Installer
     
The installer is the sequence of screens and actions that are executed when the user invokes the media file.
Properties:
  • Action elevation type [Privileges]
    If any contained actions should run in the elevated helper process, if their "Action elevation type" property is set to "Inherit from parent".An elevated helper process is available on Windows and macOS if the process has been started without admin privileges and the "Request privileges" action has been configured to require full privileges.
  • Style [GUI Options]
    The default screen style for this installer application. Screens and screen groups can override this style.
  • Customize title bar
    A form component in the selected style is configured to allow customization of selected properties.
  • Custom watermark
    A form component in the selected style is configured to allow customization of selected properties.
  • Customize banner image
    A form component in the selected style is configured to allow customization of selected properties.
  • macOS entitlements file [macOS]
    If you have configured code signing for macOS, an entitlements file can unlock certain features on macOS, such as iCloud storage or push notifications.
  • Custom script fragment [Unix]
    On Unix and Linux, the JVM for an installer application is launched by a shell script. To add your own code to the shell script, you can specify a script fragment that is added immediately before the java invocation takes place.
  • Script fragment file [Unix]
    The file that contains the script fragment.

    Note: This property is only visible if "Custom script fragment" is set to "From file".

  • Script fragment [Unix]
    The script fragment.

    Note: This property is only visible if "Custom script fragment" is set to "Direct entry".

  • Executable icon [Executable]
    By default, a standard installer icon is used for the executable. To customize the icon, press the customizer button in the configuration pane.
  • Allow unattended mode [Execution Modes]
    If selected, the user can pass -q as an argument to run the installer application without a GUI. No user input is required, the installer applications works with the default values. Please see the corresponding help topic on installer modes for more information. All standard actions and standard screens support unattended installations. If your policy forbids unattended installations or if you include custom code that cannot handle unattended installations, you can disable them by deselecting this property.
  • Progress interface creation script
    If you would like to implement your own way of displaying progress information for unattended installations, you can do so by returning a custom implementation of com.install4j.api.context.UnattendedProgressInterface from this script. If you return null, no progress information will be shown just as if this script had not been set. There is a default implementation com.install4j.api.context.DefaultUnattendedProgressInterface that does nothing for all its operations. You can derive from that class if you just need to implement a few particular methods in the progress interface.

    If you just need a simple dialog that shows progress information in unattended mode, please choose the "Unattended mode with progress dialog" execution mode instead.

    Note: This property is only visible if "Allow unattended mode" is selected.

  • Allow console installations [Execution Modes]
    If selected, the user can pass -c as an argument to run the installer application on the console. The installer asks for user input on the console in that mode. Please see the corresponding help topic on installer modes for more information. All standard actions and standard screens support console installations, form screens are also fully mapped to console installers. If your policy forbids console installations or if you include custom code that cannot handle console installations, you can disable them by deselecting this property.
  • Fall back to console mode on Unix
    On Unix, users often operate in environments where no X11 server is available and no GUI can be displayed. The installer will fallback to console mode if console mode execution is allowed and this option is selected. Otherwise an error message will be displayed that tells the user how to invoke the installer in console mode.

    Note: This property is only visible if "Allow console installations" is selected.

  • Disable console mode on Windows
    Offer console mode only on non-Windows platforms.

    Note: This property is only visible if "Allow console installations" is selected.

  • Console screen change handler
    By default, a screen in console mode does not show any particular separation. You insert your own custom display with this script. The title parameter gives you access to the title of the screen. In console mode, screens display their subtitle only, so the title string will not be displayed again.

    Note: This property is only visible if "Allow console installations" is selected.

  • Default execution mode [Execution Modes]
    The default execution mode for the installer application. By default, a GUI wizard will be shown, but it is also possible to run in console mode or unattended mode by default.
  • Title for progress dialog
    The title for the progress dialog, for example "Updating installation".This title and the unattended mode with a progress window can also be set by passing -splash [title] as an argument from the command line.

    Note: This property is only visible if "Default execution mode" is set to "Unattended mode with progress dialog".

  • Windows console executable [Execution Modes]
    If selected, a console executable will be created on Windows. A non-hideable console will be shown when the installer is double-clicked in the explorer. This improves the user experience for a console-only installer (default execution mode set to console) and allows execution through rsh.
  • VM parameters [Execution Options]
    If you need to pass special VM parameters to the installer application, you can enter them here. A common case would be to raise the maximum heap size with a different -Xmx parameter if your installers require a lot of memory.
  • Arguments [Execution Options]
    If you need to pass fixed default arguments to the installer application, you can enter them here. For example, if you want to display a splash screen in unattended mode by default, you can set the arguments to -splash "Installing ...". Please note that command line arguments will be appended to this list, so it is not possible to "override" a fixed argument from the command line.
  • Rollback on failure [Execution Options]
    If selected, the installer application will try to restore the state before the last rollback barrier by rolling back all actions that were executed since the last barrier. Any screen or action can be selected as a rollback barrier with the property "Rollback barrier". If no rollback barrier was encountered, all executed actions will be rolled back.
  • Suppress initial progress dialog [Execution Options]
    If selected, the initial native progress dialog of the installer is not displayed.
  • Window width [GUI Options]
    The width of the window displayed by the installer application. The default value is 500. If the "Size client area" property is selected, this does not include the size of the window frame border.
  • Window height [GUI Options]
    The height of the window displayed by the installer application. The default value is 390.If the "Size client area" property is selected, this does not include the size of the window frame border.
  • Size client area [GUI Options]
    If selected, the supplied size for the window will not be applied to the outer dimensions of the window, but to the actually usable area inside the window. Unusually large window frame borders can occur due to user settings (accessibility, window themes, etc.) and may interfere with banner images or introduce unwanted scroll bars to form screens.
  • Resizable [GUI Options]
    If selected, the window displayed by the installer application is resizable.
  • Help customizer script [General Customization Options]
    If the user starts the installer application with one of the arguments -h -help /?, help regarding the available command line options will be displayed. If you have your own command line options you can customize this help with this script. The script receives a List containing String arrays of length 2 with the options and explanations. You can add options like this: options.add(new String[] {"/mySwitch", "Explanation of mySwitch"}}. You can also delete default options in the list.Attention: The context parameter has not been initialized at that point.

    In order to get extra command line arguments in the installer, call context.getExtraCommandLineArguments() in any script.

  • Replacement script for language code [General Customization Options]
    With this script you can replace the language that the installer will run with.

    Parameters: The parameter languageCode contains the 2-letter ISO 639 code of the auto-detected language. If auto-detection has not been enabled on the languages step of the general settings, the parameter will be null.

    Return value: If you return null, the language selection dialog will be shown, if you return a language code, the language selection dialog will not be shown and the returned language will be used. If the returned language code is a language that is not configured for this installer, the language selection dialog will be shown.

  • Customize version info [Windows]
    If selected, you can customize the fields of the Windows version info in the nested properties. A windows version info is always generated for the executable with default values for product name and file version taken from the general settings.
  • Product name
    The product name field in the version resource. If empty, the full name from the general settings is used.

    Note: This property is only visible if "Customize version info" is selected.

  • File version
    The file version field in the version resource. If empty, the version from the general settings is used. The file version must consist of 4 numbers separated by spaces, commas or dots.

    Note: This property is only visible if "Customize version info" is selected.

  • Internal name
    The internal name field in the version resource. If empty, the short name from the general settings is used.

    Note: This property is only visible if "Customize version info" is selected.

  • File description
    The file description field in the version resource. If empty, the full name from the general settings is used.

    Note: This property is only visible if "Customize version info" is selected.

  • Copyright
    The copyright field in the version resource. If empty, the publisher name from the general settings is used.

    Note: This property is only visible if "Customize version info" is selected.

  • Create log file for stderr output [Windows]
    If selected, and output on stderr is detected, an file named error.log will be created next to the installer and all output to stderr will be redirected to that file.
 Uninstaller
     
The uninstaller removes the installed application. If you do not wish to provide an uninstaller, you can disable it.
Properties:
  • Action elevation type [Privileges]
    If any contained actions should run in the elevated helper process, if their "Action elevation type" property is set to "Inherit from parent".An elevated helper process is available on Windows and macOS if the process has been started without admin privileges and the "Request privileges" action has been configured to require full privileges.
  • Style [GUI Options]
    The default screen style for this installer application. Screens and screen groups can override this style.
  • Customize title bar
    A form component in the selected style is configured to allow customization of selected properties.
  • Custom watermark
    A form component in the selected style is configured to allow customization of selected properties.
  • Customize banner image
    A form component in the selected style is configured to allow customization of selected properties.
  • macOS entitlements file [macOS]
    If you have configured code signing for macOS, an entitlements file can unlock certain features on macOS, such as iCloud storage or push notifications.
  • Custom script fragment [Unix]
    On Unix and Linux, the JVM for an installer application is launched by a shell script. To add your own code to the shell script, you can specify a script fragment that is added immediately before the java invocation takes place.
  • Script fragment file [Unix]
    The file that contains the script fragment.

    Note: This property is only visible if "Custom script fragment" is set to "From file".

  • Script fragment [Unix]
    The script fragment.

    Note: This property is only visible if "Custom script fragment" is set to "Direct entry".

  • Executable icon [Executable]
    By default, a standard installer icon is used for the executable. To customize the icon, press the customizer button in the configuration pane.
  • Executable name [Executable]
    The name of the executable for the uninstaller. Please enter a name without any path components and without a file extension.
  • Executable directory [Executable]
    The directory to which the executable of the uninstaller will be written. If empty, it will be placed in the .install4j directory.
  • Allow unattended mode [Execution Modes]
    If selected, the user can pass -q as an argument to run the installer application without a GUI. No user input is required, the installer applications works with the default values. Please see the corresponding help topic on installer modes for more information. All standard actions and standard screens support unattended installations. If your policy forbids unattended installations or if you include custom code that cannot handle unattended installations, you can disable them by deselecting this property.
  • Progress interface creation script
    If you would like to implement your own way of displaying progress information for unattended installations, you can do so by returning a custom implementation of com.install4j.api.context.UnattendedProgressInterface from this script. If you return null, no progress information will be shown just as if this script had not been set. There is a default implementation com.install4j.api.context.DefaultUnattendedProgressInterface that does nothing for all its operations. You can derive from that class if you just need to implement a few particular methods in the progress interface.

    If you just need a simple dialog that shows progress information in unattended mode, please choose the "Unattended mode with progress dialog" execution mode instead.

    Note: This property is only visible if "Allow unattended mode" is selected.

  • Allow console installations [Execution Modes]
    If selected, the user can pass -c as an argument to run the installer application on the console. The installer asks for user input on the console in that mode. Please see the corresponding help topic on installer modes for more information. All standard actions and standard screens support console installations, form screens are also fully mapped to console installers. If your policy forbids console installations or if you include custom code that cannot handle console installations, you can disable them by deselecting this property.
  • Fall back to console mode on Unix
    On Unix, users often operate in environments where no X11 server is available and no GUI can be displayed. The installer will fallback to console mode if console mode execution is allowed and this option is selected. Otherwise an error message will be displayed that tells the user how to invoke the installer in console mode.

    Note: This property is only visible if "Allow console installations" is selected.

  • Disable console mode on Windows
    Offer console mode only on non-Windows platforms.

    Note: This property is only visible if "Allow console installations" is selected.

  • Console screen change handler
    By default, a screen in console mode does not show any particular separation. You insert your own custom display with this script. The title parameter gives you access to the title of the screen. In console mode, screens display their subtitle only, so the title string will not be displayed again.

    Note: This property is only visible if "Allow console installations" is selected.

  • Default execution mode [Execution Modes]
    The default execution mode for the installer application. By default, a GUI wizard will be shown, but it is also possible to run in console mode or unattended mode by default.
  • Title for progress dialog
    The title for the progress dialog, for example "Updating installation".This title and the unattended mode with a progress window can also be set by passing -splash [title] as an argument from the command line.

    Note: This property is only visible if "Default execution mode" is set to "Unattended mode with progress dialog".

  • Windows console executable [Execution Modes]
    If selected, a console executable will be created on Windows. A non-hideable console will be shown when the installer is double-clicked in the explorer. This improves the user experience for a console-only installer (default execution mode set to console) and allows execution through rsh.
  • VM parameters [Execution Options]
    If you need to pass special VM parameters to the installer application, you can enter them here. A common case would be to raise the maximum heap size with a different -Xmx parameter if your installers require a lot of memory.
  • Arguments [Execution Options]
    If you need to pass fixed default arguments to the installer application, you can enter them here. For example, if you want to display a splash screen in unattended mode by default, you can set the arguments to -splash "Installing ...". Please note that command line arguments will be appended to this list, so it is not possible to "override" a fixed argument from the command line.
  • Rollback on failure [Execution Options]
    If selected, the installer application will try to restore the state before the last rollback barrier by rolling back all actions that were executed since the last barrier. Any screen or action can be selected as a rollback barrier with the property "Rollback barrier". If no rollback barrier was encountered, all executed actions will be rolled back.
  • Window width [GUI Options]
    The width of the window displayed by the installer application. The default value is 500. If the "Size client area" property is selected, this does not include the size of the window frame border.
  • Window height [GUI Options]
    The height of the window displayed by the installer application. The default value is 390.If the "Size client area" property is selected, this does not include the size of the window frame border.
  • Size client area [GUI Options]
    If selected, the supplied size for the window will not be applied to the outer dimensions of the window, but to the actually usable area inside the window. Unusually large window frame borders can occur due to user settings (accessibility, window themes, etc.) and may interfere with banner images or introduce unwanted scroll bars to form screens.
  • Resizable [GUI Options]
    If selected, the window displayed by the installer application is resizable.
  • Help customizer script [General Customization Options]
    If the user starts the installer application with one of the arguments -h -help /?, help regarding the available command line options will be displayed. If you have your own command line options you can customize this help with this script. The script receives a List containing String arrays of length 2 with the options and explanations. You can add options like this: options.add(new String[] {"/mySwitch", "Explanation of mySwitch"}}. You can also delete default options in the list.Attention: The context parameter has not been initialized at that point.

    In order to get extra command line arguments in the installer, call context.getExtraCommandLineArguments() in any script.

  • Unix mode [Unix]
    The executable mode for the uninstaller on Unix.
  • Customize version info [Windows]
    If selected, you can customize the fields of the Windows version info in the nested properties. A windows version info is always generated for the executable with default values for product name and file version taken from the general settings.
  • Product name
    The product name field in the version resource. If empty, the full name from the general settings is used.

    Note: This property is only visible if "Customize version info" is selected.

  • File version
    The file version field in the version resource. If empty, the version from the general settings is used. The file version must consist of 4 numbers separated by spaces, commas or dots.

    Note: This property is only visible if "Customize version info" is selected.

  • Internal name
    The internal name field in the version resource. If empty, the short name from the general settings is used.

    Note: This property is only visible if "Customize version info" is selected.

  • File description
    The file description field in the version resource. If empty, the full name from the general settings is used.

    Note: This property is only visible if "Customize version info" is selected.

  • Copyright
    The copyright field in the version resource. If empty, the publisher name from the general settings is used.

    Note: This property is only visible if "Customize version info" is selected.

  • Use custom application bundle name [macOS]
    If selected, a different application bundle name is used on macOS. Executable names on macOS are localizable. Otherwise, the value of the "Executable name" property is used for the application bundle name.
  • Custom application bundle name
    The application bundle name to be used for macOS media files. Bundle names on macOS are shown in the Finder and are localizable. For example, the executable name could be set to ${i18n:myLauncherName(${compiler:sys.fullName})} where myLauncherName is an i18n message with value "Launcher for {0}".

    Note: This property is only visible if "Use custom application bundle name" is selected.

 Custom application
     
A custom installer application is installed by the installer. Users can start it manually or it can be executed programmatically from your own code via the API.
Properties:
  • Action elevation type [Privileges]
    If any contained actions should run in the elevated helper process, if their "Action elevation type" property is set to "Inherit from parent".An elevated helper process is available on Windows and macOS if the process has been started without admin privileges and the "Request privileges" action has been configured to require full privileges.
  • Style [GUI Options]
    The default screen style for this installer application. Screens and screen groups can override this style.
  • Customize title bar
    A form component in the selected style is configured to allow customization of selected properties.
  • Custom watermark
    A form component in the selected style is configured to allow customization of selected properties.
  • Customize banner image
    A form component in the selected style is configured to allow customization of selected properties.
  • macOS entitlements file [macOS]
    If you have configured code signing for macOS, an entitlements file can unlock certain features on macOS, such as iCloud storage or push notifications.
  • Custom script fragment [Unix]
    On Unix and Linux, the JVM for an installer application is launched by a shell script. To add your own code to the shell script, you can specify a script fragment that is added immediately before the java invocation takes place.
  • Script fragment file [Unix]
    The file that contains the script fragment.

    Note: This property is only visible if "Custom script fragment" is set to "From file".

  • Script fragment [Unix]
    The script fragment.

    Note: This property is only visible if "Custom script fragment" is set to "Direct entry".

  • Executable icon [Executable]
    By default, a standard installer icon is used for the executable. To customize the icon, press the customizer button in the configuration pane.
  • File set [Executable]
    Choose the file set to which the installer application is added. File sets can be defined on the Files->Define Distribution Tree step.
  • Executable name [Executable]
    The name of the executable for the custom application. Please enter a name without any path components and without a file extension.
  • Executable directory [Executable]
    The directory to which the executable of the custom application will be written. If empty, it will be placed in the .install4j directory.
  • Allow unattended mode [Execution Modes]
    If selected, the user can pass -q as an argument to run the installer application without a GUI. No user input is required, the installer applications works with the default values. Please see the corresponding help topic on installer modes for more information. All standard actions and standard screens support unattended installations. If your policy forbids unattended installations or if you include custom code that cannot handle unattended installations, you can disable them by deselecting this property.
  • Progress interface creation script
    If you would like to implement your own way of displaying progress information for unattended installations, you can do so by returning a custom implementation of com.install4j.api.context.UnattendedProgressInterface from this script. If you return null, no progress information will be shown just as if this script had not been set. There is a default implementation com.install4j.api.context.DefaultUnattendedProgressInterface that does nothing for all its operations. You can derive from that class if you just need to implement a few particular methods in the progress interface.

    If you just need a simple dialog that shows progress information in unattended mode, please choose the "Unattended mode with progress dialog" execution mode instead.

    Note: This property is only visible if "Allow unattended mode" is selected.

  • Allow console installations [Execution Modes]
    If selected, the user can pass -c as an argument to run the installer application on the console. The installer asks for user input on the console in that mode. Please see the corresponding help topic on installer modes for more information. All standard actions and standard screens support console installations, form screens are also fully mapped to console installers. If your policy forbids console installations or if you include custom code that cannot handle console installations, you can disable them by deselecting this property.
  • Fall back to console mode on Unix
    On Unix, users often operate in environments where no X11 server is available and no GUI can be displayed. The installer will fallback to console mode if console mode execution is allowed and this option is selected. Otherwise an error message will be displayed that tells the user how to invoke the installer in console mode.

    Note: This property is only visible if "Allow console installations" is selected.

  • Disable console mode on Windows
    Offer console mode only on non-Windows platforms.

    Note: This property is only visible if "Allow console installations" is selected.

  • Console screen change handler
    By default, a screen in console mode does not show any particular separation. You insert your own custom display with this script. The title parameter gives you access to the title of the screen. In console mode, screens display their subtitle only, so the title string will not be displayed again.

    Note: This property is only visible if "Allow console installations" is selected.

  • Default execution mode [Execution Modes]
    The default execution mode for the installer application. By default, a GUI wizard will be shown, but it is also possible to run in console mode or unattended mode by default.
  • Title for progress dialog
    The title for the progress dialog, for example "Updating installation".This title and the unattended mode with a progress window can also be set by passing -splash [title] as an argument from the command line.

    Note: This property is only visible if "Default execution mode" is set to "Unattended mode with progress dialog".

  • Windows console executable [Execution Modes]
    If selected, a console executable will be created on Windows. A non-hideable console will be shown when the installer is double-clicked in the explorer. This improves the user experience for a console-only installer (default execution mode set to console) and allows execution through rsh.
  • Change working directory [Execution Options]
    If selected the working directory will be changed to the value in 'Working directory' at startup.
  • Working directory
    The working directory to be used when 'Change working directory' is selected.

    Note: This property is only visible if "Change working directory" is selected.

  • Single instance [Execution Options]
    If checked the application will ensure at startup that there is only one instance running per user account.
  • VM parameters [Execution Options]
    If you need to pass special VM parameters to the installer application, you can enter them here. A common case would be to raise the maximum heap size with a different -Xmx parameter if your installers require a lot of memory.
  • Arguments [Execution Options]
    If you need to pass fixed default arguments to the installer application, you can enter them here. For example, if you want to display a splash screen in unattended mode by default, you can set the arguments to -splash "Installing ...". Please note that command line arguments will be appended to this list, so it is not possible to "override" a fixed argument from the command line.
  • Rollback on failure [Execution Options]
    If selected, the installer application will try to restore the state before the last rollback barrier by rolling back all actions that were executed since the last barrier. Any screen or action can be selected as a rollback barrier with the property "Rollback barrier". If no rollback barrier was encountered, all executed actions will be rolled back.
  • Window title [GUI Options]
    The title of the application window.
  • Show message when user cancels [GUI Options]
    If selected, a message will be shown when the user cancels the installer application by clicking on the "Cancel" button or closing the application frame.
  • Cancel message
    The message that is shown if the user cancels the installer application by clicking on the "Cancel" button or closing the application frame. The options that are presented to the user are "Cancel" or "Continue".

    Note: This property is only visible if "Show message when user cancels" is selected.

  • Window width [GUI Options]
    The width of the window displayed by the installer application. The default value is 500. If the "Size client area" property is selected, this does not include the size of the window frame border.
  • Window height [GUI Options]
    The height of the window displayed by the installer application. The default value is 390.If the "Size client area" property is selected, this does not include the size of the window frame border.
  • Size client area [GUI Options]
    If selected, the supplied size for the window will not be applied to the outer dimensions of the window, but to the actually usable area inside the window. Unusually large window frame borders can occur due to user settings (accessibility, window themes, etc.) and may interfere with banner images or introduce unwanted scroll bars to form screens.
  • Resizable [GUI Options]
    If selected, the window displayed by the installer application is resizable.
  • Help customizer script [General Customization Options]
    If the user starts the installer application with one of the arguments -h -help /?, help regarding the available command line options will be displayed. If you have your own command line options you can customize this help with this script. The script receives a List containing String arrays of length 2 with the options and explanations. You can add options like this: options.add(new String[] {"/mySwitch", "Explanation of mySwitch"}}. You can also delete default options in the list.Attention: The context parameter has not been initialized at that point.

    In order to get extra command line arguments in the installer, call context.getExtraCommandLineArguments() in any script.

  • Unix mode [Unix]
    The executable mode for the custom application on Unix.
  • Execution level [Windows]
    The execution level for this application. If you want to modify files in the installation direction, you most likely need administrator rights. This is only relevant for Windows Vista and higher.
  • Customize version info [Windows]
    If selected, you can customize the fields of the Windows version info in the nested properties. A windows version info is always generated for the executable with default values for product name and file version taken from the general settings.
  • Product name
    The product name field in the version resource. If empty, the full name from the general settings is used.

    Note: This property is only visible if "Customize version info" is selected.

  • File version
    The file version field in the version resource. If empty, the version from the general settings is used. The file version must consist of 4 numbers separated by spaces, commas or dots.

    Note: This property is only visible if "Customize version info" is selected.

  • Internal name
    The internal name field in the version resource. If empty, the short name from the general settings is used.

    Note: This property is only visible if "Customize version info" is selected.

  • File description
    The file description field in the version resource. If empty, the full name from the general settings is used.

    Note: This property is only visible if "Customize version info" is selected.

  • Copyright
    The copyright field in the version resource. If empty, the publisher name from the general settings is used.

    Note: This property is only visible if "Customize version info" is selected.

  • Use custom application bundle name [macOS]
    If selected, a different application bundle name is used on macOS. Executable names on macOS are localizable. Otherwise, the value of the "Executable name" property is used for the application bundle name.
  • Custom application bundle name
    The application bundle name to be used for macOS media files. Bundle names on macOS are shown in the Finder and are localizable. For example, the executable name could be set to ${i18n:myLauncherName(${compiler:sys.fullName})} where myLauncherName is an i18n message with value "Launcher for {0}".

    Note: This property is only visible if "Use custom application bundle name" is selected.

  The second tab in the configuration area for installer applications is the Installer variables tab. Here, you can check the bindings for all detected installer variables and pre-define installer variables. For more information, please see the help topic on variables and the help on the variable selection dialog.

An additional feature with respect to the variable selection dialog is that you can navigate to a binding by selecting an element in the binding tree at the bottom and click on the Go To Selection button.

  Custom installer applications have a Launcher integrations tab in the configuration area that helps you to start them when launchers are executed.

The first way to start an installer application is programmatically, by using the API contained in [install4j installation directory]/resource/i4jruntime.jar. To get the code snippet for starting the selected installer application, click on the Start integration wizard button. The integration wizard will present a number of options that control the condition and possible call backs from the installer application. Note that you do not have to distribute i4jruntime.jar, since it is automatically available for installed applications.

The second way to start an installer application is automatically, by defining a launch schedule and a launch mode. The launch schedule is one of

  • Always
    Every time you start the launcher, the installer application will be started as well.
  • According to update schedule
    install4j provides a built-in update schedule registry that can be configured by the user on a form screen with an "Update schedule selector" form component. Also, you can programatically modify the update schedule through the class com.install4j.api.update.UpdateScheduleRegistry in the API. The selected installer application will be started only if the update schedule requires an update check.
  • First run of any launcher in archive media file by the current user
    For archive media files (such as a Windows ZIP file), no installer is available. To execute a sequence of screens and actions when a launcher is started for the first time after the archive has been extracted, use this launch schedule. It may be convenient to link to screen groups in the installer in order to avoid duplicating configuration in your custom installer application.

    In your launcher, you can check for this condition with com.install4j.api.launcher.ApplicationLauncher.isNewArchiveInstallation() in case you want to perform some actions outside of a custom installer application.

The launch mode is one of

  • Blocking at start up
    When the launcher is started, the selected installer application will be started first. When the installer application terminates, the launcher will then start up (unless a "Shut down calling launcher" action has been executed).
  • Non-blocking at start up
    When the launcher is started, the selected installer application will be started immediately. The launcher continues to start up in parallel.
  • When first window is shown
    The selected installer application will be started when the first window is shown. This works for AWT, Swing and SWT applications. If you have a SWT application, the "Uses SWT" check box in the executable info step of the launcher wizard must be selected.

Just like with the API, the installer application can be started in the launcher process itself or in a new process. By default, the installer application is started in the same process. If the "Blocking at start up" or "Non-blocking at start up" launch modes are selected, the look and feel it set to the system look and feel. For the "When first window is shown" launch mode, the look and feel is not changed, so your own look and feel will be used. When the installer application is executed in the same process, the "Shutdown calling launcher" action has a different effect: The whole process will be terminated when the installer application exits.

By default, the selected installer application is started for all launchers in your project. If this is not desired, you can restrict the integration to selected launchers. Note that if "All launchers" is selected and the project is merged into another project, the integration will be performed for all launchers in the main project as well.