Construct Options File for FLEXNet Publisher


This article provides information on how to construct and format the options file for use with FLEXnet Publisher. When using FLEXnet Publisher, an options file must be created to assign permissions. Options files allow the license administrator to:

  • Grant the use of licenses
  • Deny the use of licenses
  • Reserve licenses
  • Restrict the number of licenses available
  • Control the amount of information logged about license usage
  • Enable a report log file


Note: Before you use FlexNet Publisher, you should consider NI Volume License Manager (VLM). NI VLM is a free tool built and fully supported by NI to help you manage your licenses.  Please note that NI provides limited support for FlexNet Publisher. If you would like full support for Flexera products, please visit


Create an Options File

  1. Create a new text file and save it as a .opt file.
  2. Use any text editor to add the appropriate keywords listed in Supported Options File Keywords to fit your needs.
  3. Place the options file in the same directory as the license file.

The options file can be referenced in FlexNet by the following methods:

  • Allow FlexNET to find the file automatically. This method requires that the file meets the following criteria:

The name of the file is < vendor>.opt, where vendor is the vendor daemon name.
The .opt file is in the same directory as the license file used by lmgrd. 

  • Add the path to the options file in the license file as the fourth field on the VENDOR line for the application’s vendor daemon.

    For example: 

VENDOR sampled /etc/sampled \ [options=]/sample_app/sampled/licenses/sampled.opt 
enables the sampled vendor daemon to look at the specified options file.

Supported Options File Keywords

Options file keywords define a specific operation or object within the options file. Each line in the options file begins with one of these keywords and specifies the action the line is to perform. NI supports and has tested the following options file keywords; however, functionality is not necessarily limited to the keywords that appear in this table.

Note: Support for BORROW commands was discontinued after FLEXNet 4.0.

For keyword syntax and examples, refer to FlexNet Publisher 11.1 End User Guide (Chapter 5, page 46). For an example of an options file, download nilm.opt from the Attachments section.



Sets case sensitivity for user or host lists specified in USER_GROUP and HOST_GROUP keywords. This should be placed at the top of the options file.


Defines a group of users.


Defines a group of hosts (computers).


Reserves licenses for a user, host, or group. Used for concurrent or disconnected licenses to guarantee access.


Allows a user, host, or group access to a product.


Denies a user, host, or group access to a product.


Includes a user, host, or predefined group in the list of who is allowed to use all features served by this vendor daemon.


Excludes a user, host, or predefined group from the list of who is allowed to use all features served by this vendor daemon.


Limits usage for a group or user.


Specifies the report log file for this vendor daemon.


Specifies a location for the debug log output from the vendor daemon associated with this options file.


Suppresses logging the selected type of event in the debug log file. Logging is enabled by default.


Find Correct NI Product Feature Name

When using the RESERVE, INCLUDE, and EXCLUDE keywords, you must specify the NI product you are specifying permissions for. This name can be found in your NI license file that is sent to the software administrator (or whoever is managing the FLEXlm server). This file will typically be named by the Service ID of the agreement followed by .lic. If you open this file in a text editor, you will see the naming convention for each of the licensed products next to the keyword PACKAGE.

Assign a License to a User or Host

Use the INCLUDE keyword and specify the <type> input to USER or HOST to assign licenses to a single user or host. If you have both user and host-based licenses, you can put both types of INCLUDE lines in the same options file.

#Allows user jDoe access to LabVIEW.

#Allows host ComputerA access to Measurement Studio.

Create a User or Host Group

Use the USER_GROUP or HOST_GROUP keywords to define a user or host-based group. Host groups can be defined by the computer name or an IP address range.

USER_GROUP MyUserGroup jDoe jSmith

HOST_GROUP MyHostGroup ComputerA ComputerB ComputerC

HOST_GROUP MyHostGroup2 10.0.*.*

Assign a License to a User or Host Group

Use the INCLUDE keyword and specify the <type> input to USER_GROUP or HOST_GROUP to assign licenses to group of users or hosts.



INCLUDE SoftwareSolutions_SS_PKG HOST_GROUP MyHostGroup2 

Configure Debug Log File

The debug log file is enabled by default. To disable the debug log file, use the NOLOG keyword.

#disables logging of license checkins. 

#disables logging of license checkouts.

#disables logging when user does not have access to a license.

Include vs. Reserve

The INCLUDE keyword allows access to a license, while the RESERVE keyword guarantees access. For instance, say you have 25 concurrent LabVIEW licenses and 40 users that you want to have access to these licenses. You could use the USER_GROUP keyword to create a group that contains these 40 users. Then, you could use the INCLUDE keyword to grant them access to these LabVIEW licenses. Then these users would be able to check-out these licenses on a first-come first-serve basis.

However, say you have five key developers who you want to have guaranteed access to these licenses. You could use the RESERVE keyword to guarantee these five users access. The other 35 users not given reserved privileges would then share access to the remaining 20 licenses on a first-come, first-served basis.

If you have purchased a non-concurrent license for a product, you can only grant access to as many users or hosts as you have seats for. If you try to grant permissions for more users or hosts than there are seats, you will receive a licensing error.


Was this information helpful?