NetBeans Installer (aka NBI) — Features List

The goal of this document is to list all features of NBI engine. You can always ask questions on the alias users@nbi.netbeans.org.


Since NBI clearly separates the installer core engine from installable components, there are two ways of packaging the installer: either an engine + components bundle (optionally wrapped into a native executable, e.g. NetBeans IDE) or a small standalone engine with installable components located elsewhere (e.g. on a DVD or over network).

The latter packaging option gives greater flexibility, as more different ways of actually starting the installer become available. As an example, JNLP-based installer was available for NetBeans 6.0 M9. Also, the scenario with a small executable which later fetches the required data was also tested, though not published.

Installation Modes

NBI currently supports two modes of installation: GUI interactive and statefile-based silent mode. Console (text-only) interactive mode is planned, but the priority is low.

Components Registry

The Components Registry is the key feature of NetBeans installer and the cornerstone of the engine/components separation ideology. The NBI core engine does not bear any logic specific to the components it installs. All required code is contained within the component package itself. This allows to greater re-usability of the components and flexibility in creating installer bundles.

The core engine operates on the entity called Components Registry. This is an XML file, which describes the installable components available through this registry. When run, the engine scans through the available registries, fetching the components that are available for installation (un-installation — the list of already installed components is also supported via the Components Registry mechanism).

It is important to note that the engine does not care where the registry itself, or the components' files are located — all data is obtained through an abstraction layer called Download Manager. This said, if the files are located on a DVD or over the network, it's all the same for the installer.


The UI of the NBI-based installers is based on Swing, with minor extensions to support proper cross-platform behavior.


Since the UI is based on plain Swing, I18N support of the NBI-based installers is that of Swing itself, thus fully adhering to all standards.


The core NBI engine provides for a static installer wizard pages model and branding. In order to allow easy customization and branding of individual installers, the Engine Extensions initiative was started. Its goal is to allow developers to easily modify the behavior and looks of their NBI based installer without loosing the rich functionality and flexibility provided by the core engine. This feature is still planned, but has the highest priority.

IDE Integration

As of now NBI does not have any IDE integration.


All data used by the NBI engine is expected to be digitally signed and these signatures are verified and the user is prompted whenever the engine is not sure of what to do. This feature is still planned.
Integration with native package managers
NBI-based installers can seamlessly integrate with native packaging systems, be it RPM, debian packages or solaris packages. This feature is still planned.
Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo