Runtime Licensing
A runtime license allows you to run an IDL application that cannot display the IDL Workbench 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:
- If you wish to distribute a licensed application to each customer, you can perform the necessary licensing steps for each license you purchase and distribute a ready-to-run application to each customer. This saves your customers from having to perform the licensing themselves, but forces you to create separate distributions for each customer.
- If you would rather create a single unlicensed distribution that you can distribute to all your customers, you can purchase a license for each customer and provide that license along with the information necessary for the customer to license your application.
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, do the following:
- 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.
- Send this information to ITT Visual Information Solutions. We will generate a license file and send it to you.
- Install the license file in a
licensesubdirectory 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 of 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:
- In order for
lmtools.exeto be able to retrieve the correct information, your system must have a properly-configured network interface card installed. - Run the
lmtools.exeapplication. The Lmtools dialog appears. - Select the System Settings tab.
- Click the Save HOSTID Info to a File button, then save the information to your desktop with the file name
hostid.txt. - Send the
hostid.txtfile 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:
- Execute the command
lmhostid. If the user has an IDL installation, thelmhostidfile can be found in thebinsubdirectory of that installation. Text similar to the following will be displayed: - Provide the host ID returned by
lmhostid, along with the hostname of the machine to your application vendor. (To obtain the hostname, enter the commandhostname.)
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:
- Create a custom distribution for each individual end user by placing the
license.datfile in thelicensesubdirectory of your application's distribution tree prior to packaging it for the end user. Your end user will not need to perform any licensing steps manually. This is a good solution if you have a small number of end users. - Create a single unlicensed distribution that you provide to all your end users along with instructions to place the
license.datfile you provide separately in thelicensesubdirectory. This is a good solution if you have a relatively large number of end users, since it removes the need to create a custom distribution for each end user.
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 license 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 (Installation and Licensing Guide) for a discussion of how the licensing environment variables interact.