The powerful multi-platform Java installer builder for Mac

install4j for Mac

install4j 11.0

  -  165.14 MB  -  Trial

Sometimes latest versions of the software can cause issues when installed on older devices or devices running an older version of the operating system.

Software makers usually fix these issues but it can take them some time. What you can do in the meantime is to download and install an older version of install4j 11.0.


For those interested in downloading the most recent release of install4j for Mac or reading our review, simply click here.


All old versions distributed on our website are completely virus-free and available for download at no cost.


We would love to hear from you

If you have any questions or ideas that you want to share with us - head over to our Contact page and let us know. We value your feedback!

What's new in this version:

New features:
- macOS notarization is now cross-platform, so you can fully build all media files on Linux or Windows
- Added a PKCS #11 option for code signing on macOS
- Added a selection dialog for the PKCS #11 slot index, listing HSM descriptions and manufacturers
- Improved PKCS #11 certificate selection with better listings of available certificates.
- A PKCS #11 certificate can now be selected by its label in addition to the issuer/serial selection
- For PKCS #11, an automatic selection option for the code signing certificate with the longest validity period is now available
- When choosing certificate files on the "General Settings → Code Signing step", hidden files are now shown in the file chooser
- Added an option on the "General Settings → Code Signing" step to use an external executable for Windows code signing
- Added a "Chained certificates" directory option for Windows code signing. This is required if your intermediate certificates are not included in the key store.
- The script editor now shows caret highlights. Caret highlights feature separate colors for read and write access of the selected element.
- Improved the proposals for code completion in script editors, including tab-expandable code snippets like "serr", "log" and "error".
- Code completion in the script editor now suggests automatically as you type by default. You can disable this behavior in the Java editor settings.
- Improved imports for code completion and for type parameters of implementation stubs in the script editor. Static imports are used for install4j API classes.
- Added an action to rename variables in script editors (Code → Rename)
- Added an action to reformat the entire script or selected code in script editors (Code → Reformat Code). Formatting options can be specified with an Eclipse settings file in the Java editor settings.
- In the Java editor settings, you can now configure the tab size.
- In script editors, typing a closing brace now reformats the preceding block. This behavior can be disabled in the Java editor settings.
- Added an action to optimize the imports for the current script (Code → Optimize Imports)
- Added an action to show the available parameters for all overloaded methods of the method call at the caret (Code → Parameter Info)
- Added actions to move between problems in the current script (Code → Navigate to Next/Previous Highlighted Problem)
- The script editor now has "Extend Selection" and "Shrink Selection" actions in the "Edit" menu that select surrounding or contained blocks of code around the current caret position.
- The script editor now has a "Quick fix" action with a wide range of quick fixes for detected problems (Code → Quick Fix). If quick fixes are available at the caret, a floating popup will appear.
- The script editor now has a "Refactor" action with a wide range of refactorings for the currently selected element (Code → Refactor)
- The script editor now supports alternative keymaps for IntelliJ, Eclipse, and VS Code with appropriate versions for macOS. On first use, you choose a keymap and you can change it later on in the Keymap dialog.
- Added a sensitivity option for compiler variables to avoid writing values to the runtime config file for selected variables
- Platform-specific overriding for compiler variables
- When overriding a compiler variable, it is now possible to reference the base value with the syntax ${compiler:variableName}. This applies to both platform-specific and media-specific overrides.
- Added an option for compiler variables and pre-defined installer variables to convert file and path separators to the build or the target platform
- Added a "Read value from a JSON file" action
- Added a "Count occurrences in a JSON file" action
- Added a "Modify JSON files" action
- The "Copy files and directories" and "Move files and directories" actions now support symlinks. The "Symlink handling" property controls whether the content is copied or whether the same relative or absolute target should be used. The "On symlink creation failure" property offers different failure strategies during symlink handling.
- The "Create a symbolic link" action now also works on Windows. Execution on Windows is controlled by the "Execute on Windows" property and is disabled by default.
- Added a "Previous installations" search sequence entry type on the "General Settings → JRE Bundles → Search Sequence" step to be able to reuse the installed JRE in update installers. Only installations with the same application ID are considered.
- "Install files" action: The action now copies a JRE from a different installation directory if it was found by the "Previous installations" search sequence entry. This prevents problems that would otherwise occur when the previous installation is uninstalled.
- Update downloaders can now make decisions based on the JRE version of the update installer by inspecting com.install4j.api.update.UpdateDescriptorEntry#getJreMinVersion and #getJreMaxVersion.
- Support for dark mode in the initial progress dialog of Windows installers (Windows 11+)
- New language: Ukrainian
- Gradle, Maven, and Ant plugins can now auto-provision the appropriate version of install4j. Specifying the installDir parameter is still possible, but no longer required.
- The Gradle plugin is now compatible with the configuration cache if you define your own file inputs on the task by making method calls on the "inputs" property of the task.
- The "license" and "installDir" properties that were exclusively present in the install4j Gradle extension are now also available on the install4j Gradle tasks
- JDK providers now check once per day if the download URL of a JDK has changed and refresh the generated JDK bundle if necessary
- Windows installers now use "AppData\Local\install4j\t" instead of "AppData\Temp" as their temporary directory. This reduces conflicts with security policies and anti-virus tools.
- Updated and improved the "Open PDF viewer" action and the "PDF display" form component.
- Added support for variables with enum values in response files
- The "Ask user" failure strategy for actions and action groups now has separate sub-options for allowing "Retry", "Ignore" and "Quit" answers from the user
- "Checkbox", "Single radio button" and "Radio button group" form components: Added an "Also execute when screen is activated" property for the selection script for cases where the script manages the visibility or enablement of other form components
- Support multiple file selection in file choosers for generated icons and for properties that hold multiple files
- If a JDK cannot be downloaded during JRE bundle generation, the failing URL is now logged so you create exceptions in your firewall configuration
- "Multi-line label" and "Multi-line HTML label" form components: Added a "Make text selectable" property so that the user can select text with the mouse and copy it to the clipboard
- "Add a desktop link" action: On Linux with GNOME desktop environments, the created desktop links are now directly executable and do not show a dialog asking whether to trust the link.
- "Register Add/Remove item": The action can now be executed without elevation, so that it creates an entry for the current user only

API changes:
- Added ExternalFile#getOriginalName to retrieve the original name of an externally packaged file at runtime

Fixed:
- Script editor: Fixed "No Javadoc is available at the current caret position" for install4j API classes when Java 9+ was used
- On macOS, the keyboard shortcuts for navigating between installer screens have been changed to Ctrl+Option+Left Arrow and Ctrl+Option+Right Arrow, ensuring they work even when the focus is within text fields
- Undo and redo toolbar buttons and menu entries in text and code editors were always disabled
- The generated ICNS icons for macOS could be faulty if larger images were used
- the -manual command line switch for Windows installers did not always enable the "Locate" button
- Missing custom code during the instantiation of beans printed a misleading error message. Now the missing classes are mentioned in the error message.
- "Load a response file" action: Comments in the response file were not preserved if the "Register variables for response file" property was selected
- Bean names are no longer written to the runtime config, and only bean IDs are annotated into stack traces.
- Concurrent executions of the install4j compiler could corrupt downloaded JDK bundles
- Adoptium JRE installations were not detected on Windows
- After disabling a bean with customizer tabs like the "Installation type" screen and enabling it again, only the properties were shown
- "Installation type" screen: If the selected installation type is user-configurable and the user does not change the installation type in an upgrade installer, the selected components are not reset to the default set of the installation type anymore
- SWT/QT launchers on macOS now only support launching installer applications in a new process to avoid a deadlock.
- Formatted text field form components: Users could not delete all characters if "Prevent empty user input" was not selected
- The main class selector in the "Java invocation" step of the launcher wizard did not add the module name if the main class was from a directory module path entry
- The keyboard shortcut for the variable dropdown in text fields is now Command+Alt+V on macOS to avoid printing a character