Ingo Kegel
banner
ingokegel.bsky.social
Ingo Kegel
@ingokegel.bsky.social
Building JProfiler & install4j at ej-technologies. Java expert since the early days. Deep dives into profiling, performance, and build tools.
2/ macOS 26 ships with a new "Icon Composer" app allowing you to design icons with different transparency layers that work well with the new icon styles in that release.
November 20, 2025 at 2:04 PM
⭐ New in install4j 12: A JDK provider for IBM Semeru was added. Semeru runtimes are IBM-branded OpenJ9 JDKs.

You can now select these JDKs for bundling on the "General Settings->JRE Bundles" step.
November 19, 2025 at 1:58 PM
2/ With the new "Replaced packages" option in the "Package options" step of the media wizards for RPM and DEB media files, you can specify a comma-separated list of package names that should be removed when the package is installed.
November 18, 2025 at 1:57 PM
4/ Alternatively, you can choose to only alert the user for update installations and offer streamlining only in that case. This corresponds to the behavior in previous versions of install4j.
November 17, 2025 at 2:00 PM
3/ By default, streamlining offers either a "default" installation or a "customized" installation. The result of the user selection is saved to the boolean installer variable sys.streamlinedInstallation. That variable can be used to conditionally execute other screens and actions.
November 17, 2025 at 2:00 PM
1/ ⭐ New in install4j 12: Support for streamlining installations has been added.

This builds on the feature in previous versions where screens could be skipped for update installations if the user confirmed an update installation in the "Update alert" form component.
November 17, 2025 at 2:00 PM
1/ ⭐ New in install4j 12: The "Add a Startup Executable" action has been improved in several ways:
November 14, 2025 at 1:56 PM
6/ Both launch agents and daemons need an identifier. Launch agents additionally support arguments. Because they can show a UI by default, you can choose to hide them from the Dock when they only perform background operations.
November 13, 2025 at 2:03 PM
4/ Single-bundle archives now have an additional "Agents and Daemons" step in the media wizard, where you can statically define "launch agents" and "launch daemons".
November 13, 2025 at 2:03 PM
5/ By default, install4j tries to use the certificate with the maximum validity if you do not select a specific certificate from the keystore. With the new mode, only the private key is loaded from the keystore and install4j tries to find a private key that matches the certificate.
November 12, 2025 at 1:58 PM
4/ In incomplete or non-standard setups, code signing can fail when the compiler cannot find the certificate or the full certificate chain. To handle these cases, install4j now offers an optional separate PKCS #11 certificate file entry, both for Windows and macOS code signing.
November 12, 2025 at 1:58 PM
1/ ⭐ New in install4j 12: Code signing is now a separate section in the install4j IDE with different steps for Windows and macOS.
November 12, 2025 at 1:58 PM
7/ The "Installation scope chooser" form component consists of two radio buttons, one for each option, and is bound to the sys.installForAllUsers installer variable.
November 11, 2025 at 2:01 PM
6/ Another component that is coupled to this variable is the new "Installation scope chooser" form component. It is part of the new "Installation scope" screen and provides a way to ask users whether to perform a user-specific or a global installation.
November 11, 2025 at 2:01 PM
4/ The decision whether to set a user-specific or global installation location is determined by the "Installation scope property". The action can also search for previous installations and optionally include user-specific or global installations.
November 11, 2025 at 2:01 PM
1/ ⭐ New in install4j 12: The way installers set their installation directory has been reworked, adding substantial new functionality and greatly extending flexibility.
November 11, 2025 at 2:01 PM
6/ For example, check out the nested bin directory of the install4j app bundle itself. The Finder window shows the command line executables as well as the nested update downloader. In previous versions of install4j, the update downloader would not have been generated.
November 10, 2025 at 1:57 PM
8/ You can preview widget styles directly in the install4j IDE. The preview window also takes screen styles into account.
November 7, 2025 at 1:57 PM
7/ To support different colors in light mode and dark mode, all color properties support a notation with separate colors for both modes. The property popup also allows you to configure both colors.
November 7, 2025 at 1:57 PM
6/ For one-off style changes, a custom inline style can be configured directly in the form component. To do that, choose the "Define a custom widget style" option and all the relevant style properties will appear as child properties.
November 7, 2025 at 1:57 PM
5/ Alternatively, widget styles can be applied on the form component level. Form components can have multiple widget styles for their contained widgets. For example, most form components have an optional leading label that has a separate widget style property.
November 7, 2025 at 1:57 PM
4/ To apply a widget style other than the default style, you can assign it to a screen style. Screen styles in turn are applied to installer applications, screen groups, and single screens, and widget styles are cascaded along with them.
November 7, 2025 at 1:57 PM
2/ The widgets that are most frequently styled in different ways are buttons. Beyond custom font and custom background and foreground colors, install4j offers different types of buttons, such as borderless buttons, buttons with rounded rectangle borders, or toolbar-style buttons.
November 7, 2025 at 1:57 PM
1/ ⭐ New in install4j 12: Widget styles have been added to change fonts, colors, and other aspects of all widgets that are shown in installer applications.
November 7, 2025 at 1:57 PM
3/ After that, just run or debug a Gradle task in VS Code to start profiling.
November 7, 2025 at 9:06 AM