Install Four Js License Manager
To centralize licensing, install the Four Js License Manager. Four Js License Manager is a separate product, to be installed in a dedicated directory with its own configuration file.
The installation and licensing of Genero products requires you to read and accept the End User License Agreement, which can be found on the Four Js website at https://4js.com/end-user-license-agreements/.
Installation can vary depending on the host operating system. Ensure you follow the installation instructions for your host operating system.
System requirements
For details about system requirements, refer to the Supported platforms and databases document (available on the Download page of the Four Js Web site) or contact your support center.
FLM and Genero compatibility
With Genero 3.21 or greater, you must use Four Js License Manager (FLM) 6.00.
Upgrade the FLM without re-applying licenses
When you upgrade the Four Js license manager, you do not need to reinstall your existing licenses.
It is also recommended to upgrade the license controllers for your Genero Business Development Language (fglWrt) or Genero Report Writer (greWrt) installations at this time. See Patching a license controller.
Patching a license controller
To make an older version of the Genero Dynamic Virtual Machine (DVM) and/or the Genero Report Engine compliant with the Four Js License Manager, or to use subscription licensing, you need to update the license controller.
To update the license controller to the latest version, download the operating system-appropriate version for your product from the Four Js web site.
If a license controller version is not available for your operating system and/or for assistance with a downloaded version, contact your Four Js support center for help.

If files are in use, you will need to stop processes using licenses before applying the upgrade; otherwise, the file copy may fail, and this will cause licensing errors.
- bin
- Contains updates for various binary files including the license controller files (fglWrt or greWrt) and shared library files used by the license controller (libwrtl.so for FGL or libwrtj.so for GRE). The library extension will vary depending on the operating system - Linux libraries have .so extensions, Windows have .dll, and macOS™ libraries have .dylib extensions. The fglchk.dll library is for upgrading FGL 3.20 and earlier version for compatibility in a Windows system.
- etc
- Contains updates for the license controller configuration file (fgllicense or grelicense).
- msg
- Contains directories with updates to licensing error messages.
- wrtfiles
- Contains updated files for the browser-based graphical user interface (GUI) license management tool used to install, update, and manage your Genero product license.
- upgrade-fglwrt or upgrade-grewrt
- This is the command to update license software in your existing Genero BDL or GRE installation. For more information about using this tool, see License upgrade tool (upgrade-fglwrt) or License upgrade tool (upgrade-grewrt).
Genero product | Licence controller |
---|---|
Genero Enterprise | Four Js License Controller for BDL (fglWrt) |
Genero Report Engine | Four Js License Controller for GRE (greWrt) |
License controller versions
When patching a license controller, what version information do you need to examine when considering compatibility with the Four Js License Manager (FLM) and with the Dynamic Virtual Machine (DVM)?
The license controller (fglWrt) works with the DVM and the FLM; the DVM does not know about the FLM, and the FLM does not know about the DVM.
The license controller and the FLM
To examine whether a version of the license controller works with a version of Four Js License Manager, start with the axiom:
fglWrt version >= FLM version
The license controller and the DVM
While the license controller is expected to be compatible with all versions of the DVM, a DVM may require a minimal version of the license controller.
The license controller bundled with the DVM (in the FGLGWS package) is always compatible. If you attempt to downgrade the license controller, it may fail; however, an upgrade of the license controller is always allowed.
Version number commands
To find the version for the ... | Execute the command ... |
---|---|
license controller | fglWrt -V |
Four Js License Manager (FLM) | flmprg -V |
DVM | fglrun -V |
Four Js License Manager packages
The Four Js License Manager (FLM) software is a self-extractable installation program.
On UNIX™, the installation program is a shell script. On Windows, the installation file is an executable (exe) file.
A Four Js or Genero software package follows a specific naming convention:
fjs-product-version-build-osident.extension
where:
- product is the product identifier ("flm" for Four Js License Manager).
- version is the software release number.
- build is the software build number.
- osident is the operating system identifier.
- extension is the file extension: sh or run on UNIX platforms, exe on Windows platforms, and dmg or run on macOS platforms.
Launching the installation
Four Js License Manager can be installed on Windows, UNIX, or macOS platforms.
Install Four Js License Manager on UNIX platforms
The installation and licensing of Genero products requires you to read and accept the End User License Agreement, which can be found on the Four Js website at https://4js.com/end-user-license-agreements/.
To display the installation options, run the installation command with the help
(-h
) option:
./fjs-flm-5.xx.xx-buildYYYYMMDDhhmm-osident.run
-h
For example:
./fjs-flm-5.20.22-build202211031608-l64xl212.run -h
When installation is complete, see the Four Js License Manager User Guide for configuration information and instructions.
Install Four Js License Manager on UNIX platforms in silent mode
Install Four Js License Manager silently on GNU/Linux and UNIX platforms.
To start the installation, type the following:
./fjs-flm-version-buildYYYYMMDDhhmm-osident.run -a -q -t install_dir
For example:
./fjs-flm-5.20.17-build202005061204-l64xl25.run -a -q -t $PWD/fjs-flm-5.20.17
Options
Table 4 shows the most common options relating to installation.
Install option | Description |
---|---|
-a or --accept |
Bypass the display and the prompt for acceptance of the license
agreement. Using the -a option indicates that you have read and accepted the End
User License Agreement, located on the Four Js website at http://4js.com/end-user-license-agreements/. |
-h or --help |
Display help about all possible options. |
-q or --quiet |
Silent mode with no UI. If -q is not specified,
the interactive installer is used. |
|
Specify what happens if the installation directory already
exists:
|
|
Install the product in the specified target directory. If
-t is not specified, the default installation
is used. |
Systemd service template
Using the license manager systemd template allows you to run commands to stop and start the service using systemctl in Linux systems.
A template for FLM systemd is provided in FLMDIR/systemd/flm.service
The systemd feature is available on Linux only.
systemctl
commands. It contains the basic commands to use the service; you may want
to adapt the template to suit your needs. For more information on working with systemd, see the
systemd documentation.flm.service
, is shown in the
sample.# Installed in the global system
#
# /lib/systemd/system/flm.service
# systemctl daemon-reload
# systemctl stop flm.service
# systemctl start flm.service
# systemctl status flm.service
#
# Installed in user space
#
# ~/.config/systemd/user/flm.service
#
# systemctl --user daemon-reload
# systemctl --user stop flm.service
# systemctl --user start flm.service
# systemctl --user status flm.service
[Unit]
Description=FourJs License Manager 6.00.13-202303241116
After=network.target nss-lookup.target
Documentation=https://4js.com/online_documentation/fjs-flm-manual-html
[Service]
Type=exec
Environment="FLMDIR=/opt/fourjs/flm"
ExecSearchPath=/opt/fourjs/flm/bin
ExecStartPre=flmprg -a env
ExecStart=flmprg -D
ExecReload=flmprg --service-restart
ExecStop=flmprg --service-stop
KillMode=mixed
Restart=on-abort
SuccessExitStatus=SIGTERM 0
PrivateTmp=true
[Install]
WantedBy=multi-user.target
Where:- Examples of the
systemctl
commands you can use to manage the service are included in the comments at the top of the file. - The configuration items are in the
[Unit]
,[Service]
, and[Install]
sections. - The
ExecSearchPath
parameter specifies the path to the FLM for the service. It affects where systemd looks for the commands specified inExecStart
,ExecStop
, and so one. This parameter was introduced in systemd version 250. If your version of systemd is earlier (runsystemctl --version
), you will need to include the complete path to the flmprg commands in theExec*
parameters.
Usage
- Copy the FLMDIR/systemd/flm.service service file to the /lib/systemd/system directory.
- Reload the systemd
configuration:
$ systemctl daemon-reload
- Now you should be able to start, stop, and check the FLM service
status.
$ systemctl start flm.service $ systemctl stop flm.service $ systemctl status flm.service
- To configure the service to start automatically on boot, you need to
enable
it:$ systemctl enable flm.service
- To check the service logs,
run:
$ journalctl -u flm.service
Install Four Js License Manager on Windows platforms
The installation and licensing of Genero products requires you to read and accept the End User License Agreement, which can be found on the Four Js website at https://4js.com/end-user-license-agreements/.
When installation is complete, see the Four Js License Manager User Guide for configuration information and instructions.
Install Four Js License Manager on Windows in silent mode
Install Four Js License Manager on Windows platforms using the MSI installer.
The installation and licensing of Genero products requires you to read and accept the End User License Agreement, which can be found on the Four Js website at https://4js.com/end-user-license-agreements/.
The msiexec utility provides the means to install,
modify, and perform operations on Windows Installer from the command line. The
/qn
option allows you to install in silent mode. The
msiexec utility expects an msi file. To be
compliant with Microsoft® User Access Control
(UAC) requirements, the msi file is embedded inside an
exe file. To extract the msi file from the
exe file, use the /x
option:
fjs-product-version-build-osident.exe /x
For example:
fjs-flm-5.20.17-build202005061204-w64v141.exe /x
A msi file is created in the same directory and with the same name as the exe file.
Options
Table 5 shows the most common options for msiexec relating to installation and un-installation.
msiexec option | Description |
---|---|
/qn |
Silent mode with no UI. If /qn is not
specified, the graphical installer is used. |
/i package-name.msi
|
Install the specified msi package. |
/x package-name.msi
|
Uninstall the specified msi package. |
/log logfile
|
Write processing info to the specified log file. |
/l*vx logfile |
Provide verbose (detailed) logs in the specified log file |
Enter msiexec from the command prompt to view the complete list of available options.
Arguments
You can pass arguments to the msiexec installer on the command line.
Argument | Description |
---|---|
PRODUCTDIR=your_flmdir_path |
The path where FLM will be installed. It is an alias of
FLMDIR variable. |
STARTMENUFOLDER=your_startmenufolder_path
|
Customize the location for the shortcuts in the startmenu. For example, "fjs\flm". |
FORCEREMOVEPRODUCTDIR=YES |
On uninstall, force the removal of the
PRODUCTDIR directory, even if it is not empty.
For any value other than YES , keep the files in the
PRODUCTDIR location. Default value:
"" . |
FORCEINNONEMPTY=YES |
Force the installation of a folder, even if it is not empty. For
any value other than YES , do not allow installation
into a non-empty folder. Default value: "" . |
SERVICECONFIG=[NotToInstall|ServiceInstall|ServiceStart] |
Specify whether the service is installed.
|
Installing the service (Windows only)
The installation wizard gives you the option of installing the Four Js License Manager as a service.
The installation and licensing of Genero products requires you to read and accept the End User License Agreement, which can be found on the Four Js website at https://4js.com/end-user-license-agreements/.
flmprg --service-install
flmprg --service-start
Install FLM on macOS
The installation and licensing of Genero products requires you to read and accept the End User License Agreement, which can be found on the Four Js website at https://4js.com/end-user-license-agreements/.
You need a macOS and an user account which has administrator access level.
Download the installation package for the macOS .
Genero packages for Apple® Mac® and the macOS operating system are provided as x86 packages, which are designed to run on Intel® processors. Rosetta enables a Mac with Apple silicon to use apps built for a Mac with an Intel processor. If you are using such a machine, you will be asked to install Rosetta the first time you install or open your Genero app. Rosetta works automatically in the background whenever you use an app that was built only for Mac computers with an Intel processor. It translates the app for use with Apple silicon. If Rosetta is already installed, you are not asked to install it again.
Follow these instructions to install the Four Js License Manager (FLM) on macOS.
When installation is complete, see the Four Js License Manager User Guide for configuration information and instructions.
Setting the environment
Before starting the Four Js License Manager, the FLMDIR
and
PATH
environment variables must be set.
A script for setting the environment is created during the installation phase. Located in the
Four Js License Manager installation directory (FLMDIR
), this file is
named envflm on UNIX
platforms and envflm.bat on Windows platforms. By running this script file, the
following actions are performed:
on UNIX (using sh as shell script):
FLMDIR=/opt/fourjs/flm
export FLMDIR
PATH=$PATH:$FLMDIR/bin
export PATH
on Windows:
set FLMDIR=c:\fjs\flm
set PATH=%PATH%;%FLMDIR%\bin
Starting Four Js License Manager
To start the License Manager service, execute the following command:
flmprg -r
systemctl start flm.service
On Linux/UNIX the License
Manager runs as a daemon. On Windows, it runs as a
service.On Linux/UNIX systems, for security reasons, it is strongly recommended that the daemon be run as a non-privileged user (not root). To avoid issues with directory permissions, it is recommended that the non-privileged user should also add the licenses.
flmprg --service-start
On Windows you must run the command as administrator, it is not enough to simply have administrator permissions.
Stopping license manager
To stop the License Manager service, execute the following command:
flmprg -s
systemctl stop flm.service
Alternatively,
on Windows, you can also issue the following
command:flmprg --service-stop
On Windows you must run the command as administrator, it is not enough to simply have administrator permissions.