Licensing
The 30 day trial, the license key and RegisterLicense, the license states, the maintenance and the source license of the Fanuc SDK.
This page explains the licensing of the Fanuc SDK: the 30 day trial, the license key, the license states and the maintenance. The SDK is a commercial product. Every feature is available during the trial.
Trial period
The trial starts the first time the library is used on a machine and lasts 30 days. Nothing has to be registered, and no feature is disabled during the trial.
FanucRobot.LicenseInfo gives the current state. EvaluationDaysLeft is the number of days left, and becomes negative when the trial has expired.
Register a license
RegisterLicense
Buy a license (see pricing): you receive a license key and the name of your organization (the licensee). Pass both to the static method RegisterLicense of FanucRobot, once, before the first connection.
static void Main(){// Register the license once, before the first connectionFanucRobot.RegisterLicense("YourCompanyName", "YOUR_LICENSE_KEY");LicenseInfo info = FanucRobot.LicenseInfo;// Number of trial days remainingint? evaluationDaysLeft = info.EvaluationDaysLeft;bool licenseValid = info.State == LicenseState.Licensed;// A readable description of the current stateConsole.WriteLine(info);// Check the license once at startup, rather than catching the exception// on every connectionif (!FanucRobot.LicenseInfo.IsLicensed){Console.WriteLine(FanucRobot.LicenseInfo);return;}}}
The registration is static: it applies to the whole application, not to one FanucRobot. You can register a key after the end of the trial.
LicenseInfo.ToString() gives a readable description of the state. It is the message of an InvalidLicenseException.
License states
LicenseState | Meaning | The library runs |
|---|---|---|
None | No key is registered and no trial could be started | no |
Trial | The 30 day trial is running | yes |
ExtraTrial | An extended trial key is registered | yes |
Expired | The trial is over | no |
Invalid | The licensee and the key do not match | no |
MaintenanceNeeded | The key is valid, but this release is newer than its maintenance | no |
Licensed | The product is licensed | yes |
IsLicensed is true for Licensed, Trial and ExtraTrial.
Maintenance
A license includes a number of maintenance years. MaintenanceExpirationDate is the last date of the releases that the key can use. A release published after this date reports MaintenanceNeeded. The releases you already use keep working: a new key is only needed to use a newer release.
Without a valid license
Connect checks the license before it opens the connection. Without a valid license, it throws an InvalidLicenseException. The message says why, and the LicenseInfo property of the exception gives the full state.
Test IsLicensed once at startup, as in the code above, rather than catching the exception at each connection.
The offline features (kinematics, motion planner, file parsers) do not connect to a controller.
Source license
The Standard and Pro licenses deliver the obfuscated DLL. The Source license also delivers the full C# code of the library and its Visual Studio solution, to change and build it yourself, within the limits of the license agreement.
Try it in the demo application
Everything on this page can be tried without writing code, in the License page of the demo application.

The demo application is open source. The C# source of this page is LicenseControl.cs.
Reference
Information about a license key
| Member | Type | Description |
|---|---|---|
LicenseInfo(string, string) Constructor | Create a new LicenseInfo instance to retrieve informations about a pair of identifier/key This class should not be used to register your product. Please use static function RegisterLicense to specify your license.
| |
EvaluationDaysLeft Property read only | int? | Remaining days of the trial period. Null if the product is licensed. It could be negative if the trial period is ended since several days. |
EvaluationStartDate Property read only | DateTime | The date the trial period starts. If the product is licensed, the date of the library first use. |
IsLicensed Property read only | bool | True if the license state is Licensed, Trial or ExtraTrial ; false otherwise |
LicenseIssuedDate Property read only | DateTime? | The date you get the license |
LicenseKey Property read only | string | The license key supplied by UnderAutomation (null for trial period) |
Licensee Property read only | string | Name of your organisation |
MaintenanceExpirationDate Property read only | DateTime? | The date your maintenance contract end and you no longer can use this license with newer versions. |
MaintenanceYears Property read only | int | Number of maintenance years included in your license |
Product Property read only | string | Commercial name of this .NET Software library |
ProductReleaseDate Property read only | DateTime | The date this version of the product was released. |
State Property read only | LicenseState | The current license state |
TrialPeriodExpirationDate Property read only | DateTime? | The date the product will expire. Null if the product is licensed. |
ToString() Method | string | A human description of the license |
States that can take a license
| Name | Value | Description |
|---|---|---|
Expired | 3 | The trial period as expired, you no more can use the library |
ExtraTrial | 2 | The library is in an extra trial period, you can use the library |
Invalid | 0 | The pair License Identifier and License Key are incompatible, you cannot use the library |
Licensed | 5 | Congratulations, the library is licensed. |
MaintenanceNeeded | 4 | Your license does not allow you to use such a recent release. Please buy maintenance to use this version |
None | -1 | No license has been provided |
Trial | 1 | The library is in a trial period, you can use the library |