- Revenera Community
- :
- FlexNet Publisher
- :
- FlexNet Publisher Forum
- :
- Application reads data from old path set in LM_LICENSE_FILE
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
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.