Installing licenses
Four Js provides tools for installing your license locally or centralizing your license installation.
License installation options
- Local license installation:
- You can install your license locally using one of the following tools:
- License Controller command line tool
- Genero Licenser browser-based application
- Both tools are included with your Genero product. Choose this option if you are installing the license for a single Genero product on your machine.
- You can install your license locally using one of the following tools:
- Centralized license installation:
- If you have multiple Genero products running on the same machine or different machines across your network, consider centralizing your license installation using the Four Js License Manager (FLM).
- This option allows you to manage licenses for all your Genero products from a single location, making it easier to maintain and update licenses across your network.
Choose the appropriate installation method based on your needs:
- For a single product, use the local installation tools.
- For multiple products, use the Four Js License Manager.
What is the License Controller?
The License Controller is a license management tool for controlling product licenses and is installed with your Genero product.
The license controller responds to requests for licenses when a Dynamic Virtual Machine (DVM) process is started. It determines if a license is available, based on the number of users allowed by the license and the number of licenses actively in use. When a DVM stops, the license controller releases the license.
To license your Four Js product using a browser-based application, see What is the Genero Licenser?.
License controller programs
Genero product | License controller |
---|---|
Genero Enterprise | fglWrt |
Genero Report Writer for Java and C# | greWrt |
Genero Report Engine | greWrt |
Starting with the license controller version 6.00, the greWrt license controller program is provided with both the Genero Report Engine and Genero Report Writer for Java and C#, and Swift (GSTRW) products. Prior to version 6.00, the greWrt tool was provided with the Genero Report Engine product and the grxWrt tool was provided with the Genero Report Writer for Java, C#, and Swift product.
Locating the License Controller
- The fglWrt program is located in $FGLDIR/bin.
- The greWrt program is located in $GREDIR/bin.
What is the Genero Licenser?
The Genero Licenser is a browser-based graphical user interface (GUI) license management tool you can use to install, update, and manage your Genero product license on a local server.
The Genero Licenser tool for your product is provided in the product package. Genero Licensers exist for the Genero Business Development Language (BDL), the Genero Report Engine (GRE), and the Genero Report Writer for Java and C#. The licenser can be launched when you finish installing the product or from the menu in Genero Studio.
Figure 1 shows the Genero BDL Licenser in a Web browser. Other licensers have a different look-and-feel, but they essentially perform the same function.

To license your Four Js product using the command line, see What is the License Controller?.
What is the Four Js License Manager (FLM)?
With the license manager you can manage Four Js products installed on the same machine or the same network as the License Manager.
- Details of the license manager to use to validate the license.
- The product's license number.
When FLM is required
When the Genero products are on Remote File Systems (such as NFS or Samba). For these installations, a configuration is not supported.
When two or more Genero installations (on the same server or on different servers) share a single license.
When FLM is recommended
Use a license manager in development environments. It allows you to share your licenses between multiple Genero product versions; for example, your 3.21, 4.01, and 5.01 product versions can all share the same license. If you did not use a license manager, you would need a separate license for each version.
Use a license manager in production where there is a technical requirement to do so.
Use a license manager in production if you have a large number of machines where the Genero runtime installations exist and you do not want to go to each machine to install the license locally.
Use a license manager in production when the Genero product sits in a Docker container. By using the FLM, you can use a standard subscription license; otherwise, you must ask for a special Docker-branded license to complete the licensing locally. When using FLM for Genero in a Docker instance, the FLM must reside outside of the container – installed on a physical machine – as the FLM server cannot run inside a Docker instance.
Four Js License Manager usage scenarios
Use the scenarios described here to understand some ways you can implement an FLM in your network.
FLM is useful in both development and runtime environments, as it allows for easier management of licensing for different machines, platforms, Genero products, and product versions connected across a network.
Scenario 1: Different versions of Genero products
- Working on the next release of your products
- Supporting the current release of your product
- Supporting one or more older releases of your product
Implementation
- Install the Four Js License Manager (FLM) on a server.
- Edit your FLM configuration file, $FLMDIR/etc/flmprofile:
[server] # FLM host # host=localhost # Default service port port=6800
- Set the
host
resource to the name of the machine that hosts FLM. The default is localhost. - Set the
port
to the port number for the communication between the license controller and FLM. If not set, the default is 6800.
- Set the
- Start the FLM service. Run
flmprg -r
on UNIX® /Linux® andflmprg --service-start
on Windows®.
- Set the
host
andport
with details of the FLM. These values should be the same as the entry in the FLM configuration file ($FLMDIR/etc/flmprofile).[server] # FLM service host # host=localhost # FLM service port port=6800
- Add the license number in the configuration
All licenses need to be installed on the FLM (run the command[license] # License to use with FLM service number=TAB#XXXXXXXX
flmprg -l
to install licenses), but only one license needs to be specified in the product license configuration file.
When you install a new product version, just add details of the license in the Genero product license configuration file. With FLM there is no need to register the license (get the installation key).
Scenario 2: Sharing licenses on different servers for QA and Development
In this scenario, you have more than one server in your development environment. There are three servers dedicated to QA: a Windows®, a Linux®, and a Mac® server. You have five QA team members and on any given day they could be testing on Windows, Linux, or Mac versions of your product. You also have ten-users on a developer server.
- A ten-user license for your development server
- A two-user license for your Linux QA server
- A two-user license for your Windows QA Server
- A two-user license for your Mac QA Server
Implementation
- Install the Four Js License Manager (FLM) on a server.
- Edit your FLM configuration file, $FLMDIR/etc/flmprofile:
[server] # FLM host # host=localhost # Default service port port=6800
- Set the
host
resource to the name of the machine that hosts FLM. The default is localhost. - Set the
port
to the port number for the communication between the license controller and FLM. If not set, the default is 6800.
- Set the
- Start the FLM service. Run
flmprg -r
on UNIX® /Linux® orflmprg --service-start
on Windows®.
- Set the
host
andport
with details of the FLM. These values should be the same as the entry in the FLM configuration file ($FLMDIR/etc/flmprofile).[server] # FLM service host # host=localhost # FLM service port port=6800
- Add the license number in the configuration
All licenses need to be installed on the FLM (run the command[license] # License to use with FLM service number=TAB#XXXXXXXX
flmprg -l
to install licenses), but only one license needs to be specified in the product license configuration file.
Scenario 3: Development and/or runtime License Sharing
- Five users on one license
- Ten users on a second license
Using FLM, you can combine the licenses. Instead of having five users on one license and ten users on the other, you now have fifteen users using the two licenses as demand requires.
This license sharing solution applies only to licenses for the same product, type (runtime or developer), and extension (specific conditions of the license). The total user count can not exceed the number of users allowed for by the combined licenses.

Implementation
- Install the Four Js License Manager (FLM) on a server.
- Edit your FLM configuration file, $FLMDIR/etc/flmprofile:
[server] # FLM host # host=localhost # Default service port port=6800
- Set the
host
resource to the name of the machine that hosts FLM. The default is localhost. - Set the
port
to the port number for the communication between the license controller and FLM. If not set, the default is 6800. - Set the resource (
[shares]
) by declaring a name that allows sharing of similar licenses between a cumulative group of users.[shares] names="dev_licenses"
- Assign the share source licenses (one license can be shared).
For more details on configuring shared licenses, go to Share licenses for a group of users in the Four Js License Manager User Guide. All licenses need to be installed on the FLM (run the command[share.dev_licenses] licenses=TAB#XXXXXXX3 TAB#XXXXXXX6
flmprg -l
to install licenses).
- Set the
- Start the FLM service. Run
flmprg -r
on UNIX® /Linux® andflmprg --service-start
on Windows®.
- Update your Genero product license configuration file
(fgllicense or grelicense).
- Set the
host
andport
with details of the FLM. These values should be the same as the entry in the FLM configuration file ($FLMDIR/etc/flmprofile).[server] # FLM service host host=localhost # FLM service port port=6800
- Add the license share in the
configuration
[license] number="dev_licenses" # Set the license number to the share ("dev_licenses" in the example)
- Set the