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.

  1. Make a backup copy of your FLM configuration file, FLMDIR/etc/lmprofile
  2. Start the command line interface.
    1. Open a command prompt.
      • On Windows®, open the License Manager Workplace window from the Start menu.
      • On Linux®, open a command prompt. "sudo" may be required.
    2. Type flmprg -s

      The FLM service is stopped.

  3. Install the new FLM package in the same directory as the existing installation.

    Take the option to overwrite the existing files.

  4. Replace the configuration file at FLMDIR/etc/lmprofile with the backup copy created in Step 1.

    Overwrite the existing file.

  5. Remove every file and directory in the FLMDIR/lock/ path.
  6. Start your new FLM
    flmprg -r

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.

Figure: Contents of the fglWrt upgrade download

Contents of the upgrade download
There are several files in the upgrade download. These files must overwrite the ones in the installation directory. You must extract the files to a local directory and run the upgrade-fglwrt or upgrade-grewrt tool provided in the package to perform the upgrade.
Warning: Stop processes using licenses before overwriting files

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).
Table 1. Genero Products and License Controllers
Genero product Licence controller
Genero Enterprise Four Js License Controller for BDL (fglWrt)
Genero Report Engine Four Js License Controller for GRE (greWrt)
  1. If a license controller configuration file already exists at the default location, make a backup copy.
    Locate your product's license controller configuration file.
    Table 2. Genero products and license configuration files
    Genero product Default license controller configuration file
    Genero Business Development Language (BDL) $FGLDIR/etc/fgllicense
    Genero Report Engine (GRE) $GREDIR/etc/grelicense
    Tip:

    Default locations of the license controller configuration files are shown. You can set the location of these files by using the FGLLICENSE or GRELICENSE environment variables.

    It is recommended to save your existing configuration, as this file is overwritten when you install the patch. You can skip this step if you keep your license controller configuration file in a different directory to the product installation directory.
  2. Access the Four Js website at https://4js.com.
  3. Select Download > Products.
    This brings you to the Products Download Area.
  4. In the License manager packages section, expand the entry for the license controller you need to download.
  5. Locate the license controller appropriate for your operating system and click on the link under Version to start the download.
  6. Stop all DVMs/GREs processes that are running.
    Ensure that processes using licenses are not running when you apply the upgrade. If files are in use, they may not be upgraded, and this will lead to licensing errors. If patching fglWrt, stop the DVMs. If patching greWrt, stop the GREs.
  7. When the download completes, extract the files in the archive to your local directory.
    Extract the files using an archiving tool, such as tar or gzip.
    • On Linux/macOS, open a command prompt. "sudo" may be required. Type the commands to change to your local directory and extract the contents of the archive file there.
      cd /myLicenseUpgrade
      tar xfz /home/user/Downloads/fjs-fglWrt-6.00.12-build202209270907-l64xl217.tgz
    • On Windows, open an Explorer window and navigate to your downloads directory. Right click on the downloaded zip file and select Extract All. Follow the instructions to browse to your local directory and click on Extract to extract the contents of the archive file.
  8. Run the upgrade tool, upgrade-fglwrt or upgrade-grewrt, to install the patch.
    ./upgrade-fglwrt --patch /opt/fourjs/fglgws

    The license controller is now updated. If a file cannot be removed, or a file cannot be copied, the upgrade is cancelled and a rollback is automatically performed.

  9. If you backed up the license controller configuration file in Step 1, replace the configuration file with the backup copy created. If you need to configure the license controller configuration file with FLM server details and the product's license number, see Configure a Genero license controller.

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

Beyond this recommendation, the license controller may require a minimal FLM version. If the FLM version does not match the version requested by the license controller, an error is returned.
Tip: If you encounter an issue regarding the versions installed, it is recommended that you download and install the latest FLM, then update the license controller on all instances of FGLGWS.

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

The -V option returns the version number of a Genero component.
Table 3. Finding the version
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.

Warning: Be sure you are installing the correct binary files for your operating system. To do so, examine the installation package name, which includes the operating system brand name. For more information on the installation package name, refer to Four Js License Manager packages.

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

  1. Choose a directory where Four Js License Manager will be installed, such as /opt/fourjs/flm.
  2. Log in as a user with permission to write to the chosen directory.
  3. Copy the self-extractable file into a temporary directory.
  4. Run the self-extractable shell script:
    ./fjs-flm-5.xx.xx-buildYYYYMMDDhhmm-osident.run
    Example:
    ./fjs-flm-5.20.22-build202211031608-l64xl212.run
  5. Follow the instructions displayed.

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.

Table 4. UNIX install options
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.

-f backup|overwrite|remove or

--force backup|overwrite|remove

Specify what happens if the installation directory already exists:
  • backup: Back up the installation directory.
  • overwrite: Overwrite installation file.
  • remove: Delete installation directory before installing.

-t install_dir or

--target install_dir

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

Warning:

The systemd feature is available on Linux only.

The template contains the service configuration options that allow you to control the FLM service via Linux 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.
An example of the systemd template, 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 in ExecStart, ExecStop, and so one. This parameter was introduced in systemd version 250. If your version of systemd is earlier (run systemctl --version), you will need to include the complete path to the flmprg commands in the Exec* parameters.
Usage
There are different ways of using the template depending on your requirements. You can either set the service as a global service or as a user service. For this example we set it as a global system service:
  • 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/.

  1. Choose a directory where Four Js License Manager will be installed, such as c:\fjs\flm.
  2. Log in as a user with permission to write to the chosen directory.
  3. Copy the self-extractable file into a temporary directory.
    fjs-product-version-build-osident.exe

    Example:

    fjs-flm-5.19.16-build201708251459-w64v140.exe
  4. Doubleclick the file to launch it, or right-click on the file name and select Run as administrator.
  5. Follow the instructions displayed by the installation wizard.
    As part of the wizard, you are asked whether to install as a service. If you elect to install as a service, it is installed and set to Manual start. To have the service restart automatically on reboot, you must edit the Startup Type and change to Automatic or Automatic Delayed.

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.

Table 5. msiexec install and uninstall options
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.

Table 6. Arguments for the msiexec installer
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.
  • NotToInstall (default): Do not install the service.
  • ServiceInstall: Install the service.
  • ServiceStart: Install the service and start it.
Note: Quotes are only required around the argument value when a space character is in the value string.

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/.

If you elected NOT to install as a service during the initial installation, you can execute the following command (from the License Manager Workplace Window) to install it as a service:
flmprg --service-install
If you attempt to start the service from the command line and the service is not yet installed, it will first install the service, and then start the service.
flmprg --service-start

Install FLM on macOS

Before you begin

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.

About this task

Follow these instructions to install the Four Js License Manager (FLM) on macOS.

  1. Determine the directory where you will install the product.
    The wizard will eventually suggest /opt/fourjs/flm. If you plan to use this default, ensure you have write permission to this directory.
  2. Log in as a user with permission to write to the directory in which you plan to install this product.
  3. Copy the self-extractable file into a temporary directory.
  4. From a command prompt, run the self-extractable shell script:
    sh fjs-flm-5.20.xx-buildYYYYMMDDhhmm-osident.run
    Example:
    sh fjs-flm-5.20.22-build202211031608-m64x1012.run
  5. Follow the instructions displayed.
    Tip: After you have read the licensing agreement, press "q" to return to the instructions and prompts.

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
Alternatively, if using the license manager systemd service on Linux, you can execute the following command:
systemctl start flm.service
On Linux/UNIX the License Manager runs as a daemon. On Windows, it runs as a service.
Important:

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.

You can also use the following command on Windows:
flmprg --service-start
Important:

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
Alternatively, if using the license manager systemd service on Linux, you can execute the following command:
systemctl stop flm.service
Alternatively, on Windows, you can also issue the following command:
flmprg --service-stop
Important:

On Windows you must run the command as administrator, it is not enough to simply have administrator permissions.