Previous Application Programming: Distributing Runtime Mode Applications Next

Runtime Licensing

A runtime license allows you to run an IDL application that cannot display the IDL Development Environment or IDL command line and which cannot compile .pro files. This type of licensing offers developers who have smaller customer bases the opportunity to buy single distribution licenses as they are needed, paying a small fee for each license. The license is either a node-locked license tied to the specific machine on which your application will run (which means you will need to obtain information about your customer's machine), or a more costly but less restricted floating license that will run on any machine.

When using runtime licensing, you can distribute licenses to your users in two ways:

Ensuring That Your License is Used

To ensure that your application will run with your runtime license and not in the IDL Virtual Machine, add code similar to the following to your application before preparing your application distribution:

isVM = LMGR(/VM)  
IF isVM THEN BEGIN  
   void = DIALOG_MESSAGE(['Please contact the author', $  
      'for licensing instructions'])  
   RETURN  
ENDIF  

Obtaining and Installing Runtime Licenses

Runtime applications are licensed using either node-locked licenses or floating single-user licenses. Node-locked licenses are tied to the specific computer on which the application will run, while floating licenses will run on any computer.

To license your runtime application, you will do the following:

  1. Get information about the specific computer on which your application will run. The process for retrieving the required information depends on the end user's operating system, as described below.
  2.  

  3. Send this information to ITT Visual Information Solutions. We will generate a license file and sent it to you.
  4.  

  5. Install the license file in a license subdirectory in your application's distribution, or provide instructions to your end user describing how to install the license file.

Custom Features

You can request that your own custom feature license be added to your runtime license. Using a custom feature license allows you to specify that your application will only run if the custom feature license is present. Contact your ITT Visual Information Solutions sales representative for information on adding custom features to your runtime license.

Obtaining a Windows License

In order to obtain the information needed to generate a node-locked license file, your end user must run the application lmtools.exe on the machine for which your application will be licensed. If your end user has already installed an unlicensed copy of your application, he or she will have access to the lmtools.exe application. Otherwise, you will need to provide the end user with a copy the lmtools.exe file, which can be found in the bin/bin.platform directory of your IDL distribution.

Provide your end user with the following instructions:

  1. In order for lmtools.exe to be able to retrieve the correct information, your system must have a properly configured network interface card installed.
  2.  

  3. Run the lmtools.exe application. The Lmtools dialog appears.
  4.  

  5. Select the System Settings tab.
  6.  

  7. Click the Save HOSTID Info to a File button, then save the information to your desktop with the file name hostid.txt.
  8.  

  9. Send the hostid.txt file saved in the previous step to your application vendor.

When your end user has provided you with the information obtained by lmtools.exe, email this information to register@ITTvis.com or fax the information to ITT Visual Information Solutions at (303) 786-9909. If you did not purchase IDL directly from ITT Visual Information Solutions, send the file to your local distributor.

ITT Visual Information Solutions will then send you a license file called license.dat.

Obtaining a UNIX License

In order to obtain the information needed to generate a node-locked license file, your end user must run the application lmhostid on the machine for which your application will be licensed. If your end user has already installed a copy of IDL, he or she will have access to lmhostid application.

If your end user does not already have an IDL installation, you can provide a copy of the lmhostid file, located in the bin/bin.platform directory of your IDL distribution where platform is the platform-specific bin directory. Note that you must provide the executable for the platform on which your end user will run IDL.

Provide the end user with the following instructions:

  1. Execute the command lmhostid. If the user has an IDL installation, the lmhostid file can be found in the bin subdirectory of that installation. Text similar to the following will be displayed:
  2. 	The FLEXlm host ID of this machine is "80598a67"  
    

     

  3. Provide the host ID returned by lmhostid, along with the hostname of the machine to your application vendor. (To obtain the hostname, enter the command hostname.)

When your end user has provided you with the information returned by lmhostid and the hostname of the machine, e-mail this information to register@ITTvis.com or fax the information to ITT Visual Information Solutions at (303) 786-9909. If you did not purchase IDL directly from ITT Visual Information Solutions, send the file to your local distributor.

We will then send you a license file called license.dat.

Installing the License File

Once you have received a license.dat file from ITT Visual Information Solutions, you must ensure that it is installed in a license subdirectory in your application's distribution. You can either:

Caution: IDL_LMGRD_LICENSE_FILE and LM_LICENSE_FILE Environment Variables

By default, when your application runs, IDL searches for a directory named license that contains a file named license.dat. It will use the first valid licence it encounters; if no licences are found, the application will either run in unlicensed mode or exit.

If the end user has defined either the IDL_LMGRD_LICENSE_FILE or the LM_LICENSE_FILE environment variable, IDL will check only the license files specified by the environment variable. This means that if the end user has defined either the IDL_LMGRD_LICENSE_FILE or the LM_LICENSE_FILE environment variable for any reason, IDL might not find your application's license file even if it is placed correctly in a license subdirectory of your distribution.

See License Sources for a discussion of how the licensing environment variables interact.

  IDL Online Help (March 06, 2007)