cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
david_to
Level 3

Application reads data from old path set in LM_LICENSE_FILE

Jump to solution

Hi

We use Flexlm License manager in our software for licensing. License manager doesn't reflect the path set in LM_LICENSE_FILE variable. It even shows the license details from the file path that was not mentioned in LM_LICENSE_FILE(We set that path earlier). How do we resolve this issue? 

Example:

LM_LICENSE_FILE(Initially): 1702@xyzServer

lmutil lmpath -status --> shows the above path in vendor list.

Change path in LM_LICENSE_FILE

LM_LICENSE_FILE(Now): C:\License\License.dat

lmutil lmpath -status --> shows both "1702@xyzServer" and "C:\License\License.dat" but LM_LICENSE_FILE has only the node locked path.

Thanks

0 Kudos
(1) Solution
aparashar1
Flexera Alumni

FNP has 2 different environment variables to search the license file. One is vendor specific i.e. VENDOR_LICENSE_FILE and other is the global one i.e. LM_LICENSE_FILE.

Whenever we run 'lmpath", it will show the path set for vendor daemon as well as the LM_LICENSE_FILE path set.

A FlexEnabled application looks for a license file as follows:


1. When the VENDOR_LICENSE_FILE environment variable has been set for the publisher of the application, then items in
the license search path set in this environment variable are searched in order.
2. The items in a license search path set in the LM_LICENSE_FILE environment variable are searched in order.
3. When any license file specified in a license search path contains a USE_SERVER line, then a license is requested from
the license server specified in the SERVER line. Any FEATURE and INCREMENT lines entries after the USE_SERVER line
in the license file are ignored.
4. When the environment variables are not set and the FlexEnabled application does not specify the location of the
license, then the following default locations are searched:
• On UNIX—/usr/local/flexlm/licenses/license.dat
• On Windows—C:\flexlm\license.dat
When licenses are held in trusted storage on the same machine as the FlexEnabled application, normally the publisher will
have configured the application to search local trusted storage first and then look for license files as previously described.

(If my response assists with your questions , then please click "ACCEPT AS SOLUTION" or 'Kudos' so that it help others.)

View solution in original post

(3) Replies
aparashar1
Flexera Alumni

FNP has 2 different environment variables to search the license file. One is vendor specific i.e. VENDOR_LICENSE_FILE and other is the global one i.e. LM_LICENSE_FILE.

Whenever we run 'lmpath", it will show the path set for vendor daemon as well as the LM_LICENSE_FILE path set.

A FlexEnabled application looks for a license file as follows:


1. When the VENDOR_LICENSE_FILE environment variable has been set for the publisher of the application, then items in
the license search path set in this environment variable are searched in order.
2. The items in a license search path set in the LM_LICENSE_FILE environment variable are searched in order.
3. When any license file specified in a license search path contains a USE_SERVER line, then a license is requested from
the license server specified in the SERVER line. Any FEATURE and INCREMENT lines entries after the USE_SERVER line
in the license file are ignored.
4. When the environment variables are not set and the FlexEnabled application does not specify the location of the
license, then the following default locations are searched:
• On UNIX—/usr/local/flexlm/licenses/license.dat
• On Windows—C:\flexlm\license.dat
When licenses are held in trusted storage on the same machine as the FlexEnabled application, normally the publisher will
have configured the application to search local trusted storage first and then look for license files as previously described.

(If my response assists with your questions , then please click "ACCEPT AS SOLUTION" or 'Kudos' so that it help others.)

Thanks for the information. My VENDOR_LICENSE_FILE is set to the first path i mentioned during license checkout and it is read by default when ever my application is invoked later. I did not set "LM_A_CKOUT_INSTALL_LIC" attribute for the license job created which helps to not store the license file path in VENDOR_LICENSE_FILE. My issue is resolved after setting this attribute. It now reads only from the path set in LM_LICENSE_FILE.

0 Kudos

Setting LM_A_CKOUT_INSTALL_LIC prevents the application from caching the license location in a preference file, so it is probably a good idea to set this (and make sure you delete ~/.flexlmrc or the Windows registry key so your machine doesn't keep reading those).    But I'd also like to encourage you to not use LM_LICENSE_FILE and only use VENDOR_LICENSE_FILE.  Your application will still always look at LM_LICENSE_FILE, but you should not set it and should not encourage your users to set it.  It is best to always use VENDOR_LICENSE_FILE instead.

The reason for this is that if LM_LICENSE_FILE is set, it affects ALL Flex enabled applications.  You don't want your application affecting others, and you don't want other applications affecting you.  If you set, or ask your users to set, VENDOR_LICENSE_FILE, they will not impact other applications.  And the more people that move away from LM_LICENSE_FILE, the less of us that get impacted by this.

 

 

0 Kudos