03. Evaluation License: No License Manager Server, Any Host, Any User
04. Node-Locked License: No License Manager Server, Specific Node, Any User
05. Floating License: License Manager Server, Any Host, Any User
This tech note describes the FLEXlm licensing for RAPID RMA. At this time we use three kinds of licenses: (1) evaluation, (2) node-locked, and (3) floating. We discuss each in a subsection below.
FLEXlm was developed in the Unix world where a workstation has a unique identifier called a "hostid", a value stored in the workstation's non-volatile RAM (NVRAM). Adapting this to Windows, FLEXlm tries to use something unique and relatively permanent on the computer that can be interrogated. One candidate is the MAC address for an ethernet NIC. Another candidate is the disk volume-serial number. When considering a hostid for a Windows computer, we need to know which element is being used. So, the hostid usually has the form "element=value". For example, the hostid based on a disk volume-serial number is a string like
DISK_SERIAL_NUM=ffffffff If the hostid is a bare hexadecimal string (has no "element=" part) then it is the 12-digit (hexadecimal) ethernet address.Users may obtain the FLEXlm hostid of a Windows computer by using one of the FLEXlm vendor’s utilities. These utilities may be downloaded from their web site at http://www.globes.com/support/fnp_utilities_download.htm. On this page, about a third of the way down the page, is the heading “Windows Platforms” and underneath the heading are the links to the end-user utility downloads.
lmtools.exeThe FLEXlm Windows application lmtools.exe displays a window as shown in Figure 02-A. The window has a set of tabs. The tab labeled "System Settings" displays items for the "Ethernet address" (MAC address) and for the "Disk Volume Serial Number".
lmutil.exeThe FLEXlm command-line utility lmutil.exe can be run in a DOS command prompt window. The commands below show how to get the hostid based on the disk volume-serial number and the ethernet address, respectively.
lmutil lmhostid -vsn
lmutil lmhostid -ether
![]() |
For the evaluation and node-locked licenses, I recommend using the disk volume-serial number so one doesn't need to worry whether or not there is a network card or if networking is up or down. For the floating license, we can safely assume that there is a networking card and networking is up. I tend to use the ethernet address for floating licenses.
NOTE: Which computer's hostid needs to be used depends on the license type. Node-Locked License Use the hostid from the computer where RAPID RMA will run.
Node-Locked License
Use the hostid from the computer where RAPID RMA will run.
NOTE: Which computer's hostid needs to be used depends on the license type.
Node-Locked License
Use the hostid from the computer where RAPID RMA will run.
Floating License
Use the hostname and hostid from the computer where the license manager (lmgrd.exe) will run.
The evaluation license allows the RAPID RMA application to run on any computer for any user. This type of license is provided to customers who wish to evaluate the software or to other users for temporary, short-term needs. It is easy to use because it works on any computer, and customers do not need to provide hostids. It is usually set to expire within a couple weeks. We want to make it widely available to anyone who wants to examine the product.
A sample license file is shown in Figure 03-A.
Copy the file as license.lic into the RAPID RMA License subdirectory. Thus, if RAPID RMA is installed in the folder C:/Program Files/RapidRMA, then the whole pathname of the license file is C:/Program Files/RapidRMA/license/license.lic
Use the default rma.bat (Figure 03-B); the full pathname of this file is C:/Program Files/RapidRMA/rma.bat. The invocation of the java on the second line assumes that the JRE is installed in the C:/Program Files/JavaSoft folder.
| @ECHO OFF "C:\Program Files\JavaSoft\JRE\1.3\bin\javaw.exe" -cp .;jbcl.jar;dx.jar;RapidRMA.jar com.tripac.rapidrma.RapidRMA |
The node-locked license restricts the RAPID RMA application to run on one specific computer. The customer must provide the hostid for the computer they will use to run the product. This type of license is the simplest and most popular for single users. One need not bother installing, configuring, and maintaining separate FLEXlm license manager software.
This type of license file looks like the sample in Figure 04-A.
Copy the file as license.lic into the RAPID RMA license subdirectory (so the whole path name is C:/Program Files/RapidRMA/license/license.lic).
Use the default rma.bat (Figure 03-B shown in the previous section).
The floating license enforces an upper limit on the number of concurrent (simultaneous) users. This is used when the application is to be shared among users working from different computers. It can simplify the system administration tasks associated with installing and upgrading the application.
Oftentimes the floating license is used in networked environments when there are many end users of the product. The RAPID RMA application itself may be installed on a file server, a computer other than the one where it runs and shared among the many end users. There are some configuration issues that must be addressed for those installations of RAPID RMA. Those issues are described in another tech note. For this discussion and for the examples presented here, we continue to the assumptions described in the Introduction: The RAPID RMA application and the Java run-time environment are installed on the local computer (ie, the computer where the end user runs the RAPID RMA application). Adapting the information here to the networked case should be straightforward with the help of the other tech note
In this section we need to consider both sides of the client-server model. First we'll discuss how to setup the license server. Then we'll describe two ways to indicate the location of license server to the RAPID RMA application (the license client).
For making concrete examples, we make several assumptions about where software is installed, ie, what folders.
RAPID RMA is installed on the local computer in the folder C:/Program Files/RapidRMA
JRE is installed on the local computer in the folder C:/Program Files/Javasoft
FLEXlm is installed on the host called licserv in the directory C:/Program Files/flexlm.
NOTE: The hostid used with a floating license must be the hostid of the computer where the license manager runs. In this example, it is the host licserv. Do not use the hostid from a different computer where the user happens to run the RAPID RMA application.
We use TCP port 27006 for the license server. This is fairly arbitrary, but the client and server must agree on the number.
In the configuration I maintain here, I keep my license file and the vendor executables in the FLEXlm installation directory. The locations for these items can be almost anywhere and the locations are specified to the FLEXlm license manager through a control panel window (Figure 05-B).
In adapting the examples to their site, customers will need to make the appropriate changes to pathnames.
First we'll examine the license file for a floating license and, for sites already running the FLEXlm license manager, consider the task of adding lines to an existing license file. Next we'll discuss the vendor executable needed for floating licenses. Then we'll look at the installation of the FLEX license manager program and subsequent setup using the control panel.
Let's start by looking at a license file (see Figure 05-A).
In general, the license manager may serve many products from several different vendors. There are many variations and optional fields that can go into a license file. This discussion is quite simplified and considers only enough to serve our purposes and to cooperate with other applications that use the license manager (many products by various vendors may control their usage with the same license server and a single license file). The critical lines in a license file are the SERVER, VENDOR and FEATURE lines.
In the SERVER lines, the license file names the host(s) on which the license manager runs (the license manager, not the RAPID RMA application). Many times there is only a single host. Some sites with critical applications may use a three-server redundant license manager configuration to provide availability in case a license manager host fails.
The fields in the SERVER line are (1) the keyword "SERVER", (2) the hostname, (3) the hostid, and (4) the TCP-IP port. The hostname and the hostid are those of the computer where the license manager (not the RAPID RMA application) run. The end user may edit the hostname and the TCP-IP port fields without damaging the file.
If the customer already has a license server and they want to add our VENDOR and FEATURE lines to their existing license file, then they need to provide us with the set of SERVER lines in their existing license file and we need to construct the license file to match those SERVER lines. Specifically, we both must use the same set of hostids.
The VENDOR line specifies the vendor executable (or vendor daemon in older terminology, and, in fact, old licenses used the keyword DAEMON). More information about the vendor executable is given below. Product lines (lines with keywords including FEATURE and INCREMENT) refer to vendor identifiers. As there may be several vendors with products all served by a single license manager, the license file may have several VENDOR lines.
The fields in the VENDOR line are (1) the keyword "VENDOR", (2) the vendor identifier (ours is "tripac"), and (3) the full path name to the vendor executable. The vendor identifier constitutes the base filename of the executable.
When the license file is delivered from us, the VENDOR line will have only the first two fields. The customer should not edit those two fields. The customer should edit the license file and add a third field in the VENDOR line. That field contains the full pathname to the vendor executable program, tripac.exe.
The FEATURE lines specify information about individual products, including the expiration date and the number of seats in the license. We have three FEATUREs (products) at this time.
A site may already have a license server installed that is serving other applications. The site managers may wish to control RAPID RMA from that same license server. Then we need to build the license so the SERVER lines are the same as for the existing file (the customer should send those lines to Tri-Pacific Software). When the customer receives our license, they can then cut the VENDOR and FEATURE lines from our license and append them to the existing license. As before, the customer should also copy the vendor executable to the license server host and add the third field (the full pathname to the vendor executable) to the VENDOR line.
In the configuration I maintain here, I keep both the license file and the vendor executable in the FLEXlm (license manager) installation directory.
The license manager program works in conjunction with other programs called vendor executables to validate and serve license requests. In older terminology, the vendor executable was called the vendor daemon. Each vendor with products that use FLEXlm has their own vendor executable that gets used with their products. The FLEXlm program lmgrd.exe is the central point of contact that receives alluests and it dispatches the request to the corresponding vendor executable. Our vendor executable is called tripac.exe.
In earlier releases of RAPID RMA, the program tripac.exe. is delivered in the RAPID RMA installation package and, after installation, it can be found in the license subdirectory of the RAPID RMA installation directory. More recently, the program is available separately from our web site.
In the configuration I maintain here, I keep both the license file and the vendor executable in the FLEXlm (license manager) installation directory.
For customers with floating licenses to use on Windows platforms, we can provide an easy-to-install FLEXlm package to setup the license manager on a computer. Run the self-extracting executable and step through a typical set of dialog windows for installing a Windows application.
The installation copies several programs into the folder the customer specifies including, of course, the license manager lmgrd.exe. Another program copies is lmtools.exe, which we use to configure some attributes of the license manager program. Opening the lmtools application, go to the "Service/License File" tab (see Figure 5-B). Specify that you want "Configuration using Services" and the "Configure Services" tab appears (rightmost tab).
![]() |
Go to the "Configure Services" tab (see Figure 5-C). Here one specifies settings for operation as a service, and for configuration parameters like the full path name of the license file and for information and diagnostics. I put these all into the FLEXlm installation directory. Settings appropriate for your site may different than these.
C:/Program Files/flexlm/7.2/lmgrd.exePut a checkmark in the checkbox for the license manager to start at power-on. Hopefully we are running the license manager on an NT host, so put a checkmark in the checkbox to use NT Services for the license manager. This is the cleanest, easiest mechanism in Windows to start the server automatically when the computer boots.
![]() |
Install the FLEXlm license manager. Perhaps you install it into C:\Program Files\flexlm.
Copy the vendor executable tripac.exe program to an appropriate folder. Perhaps you copy it to C:\Program Files\flexlm. The vendor executable tripac.exe may be downloaded from our web site.
Add the vendor executable full pathname to the VENDOR line in the license file. This name must match the actual location used in the previous step (possibly C:\Program Files\flexlm\tripac.exe).
Copy the license file to an appropriate folder. Perhaps you copy it to C:\Program Files\flexlm. The license file lines are emailed to customers. Request a license from This e-mail address is being protected from spambots. You need JavaScript enabled to view it
Configure the FLEXlm license manager with the control panel. The pathname of the lmgrd.exe must match that of the actual location resulting from the FLEXlm installation in the first step (possibly C:\Program Files\flexlm\lmgrd.exe). The pathname of the license file must match that of the actual location used in the previous step (possibly C:\Program Files\flexlm\license.lic).
When the RAPID RMA application runs on the end user's computer, RAPID RMA must determine where the license manager is located and request a seat. RAPID RMA must learn the hostname of the license server and the license server port at that host. Here are two ways to do that.
Make a copy of the server license file (Figure 05-A) on the client host. Put the file in the license subdirectory of the RAPID RMA installation directory.
The license file must be a valid license file, but, as far as I can tell, only the server name and TCP port are used by the application.
Use the default rma.bat file (Figure 03-B shown in a earlier section).
Specify the hostname and TCP port with an environment variable:
SET TRIPAC_LICENSE_FILE=27006@licservAdd that line to the rma.bat file. I suggest that it be unset at the end when it is no longer needed. So the file now looks like Figure 05-C.
It is critical that the port number match the port number used in the license file. The port number in both places can be changed to whatever would be appropriate for your site.
An environment variable can be added to one's configuration by putting that SET line in one's autoexec.bat or by specifying it through the Windows NT System Environment Variables dialog box. However it seems safest and cleanest to set it only when we need it.
The FLEXlm vendor (formerly Globetrotter Software, now Macrovision) provides much information about FLEXlm at their web site. At the time this web page is being prepared, the location for FLEXlm support information in their web site at the URL: http://www.globes.com/support/fnp_utilities_download.htm
The manual for end users can be found at the URL: http://www.globes.com/support/fnp_utilities_download.htm#docs
The FLEXlm tools can be found at the URL: http://www.globes.com/support/fnp_utilities_download.htm#downloads