Free Tool to Help You Better Understand What is Inside a Citrix License File

Update: Version 1.1 supports XenDesktop Licenses in Addition to XenApp Licenses

Most Citrix products rely heavily on license files. While the basic format of a license file is somewhat documented, most fields used in license files are not. This makes understanding their contents difficult. It does not help that the license files can hardly be called readable with most of the relevant data in one long line.

As an administrator of Citrix products it is sometimes necessary to analyze the contents of one’s license file(s). This requires manual parsing, a very tedious process. To illustrate this point here is the relevant portion of a typical license file (digital signature obliterated for obvious reasons):

SERVER this_host HOSTNAME=srv1
VENDOR CITRIX
USE_SERVER
INCREMENT MPS_ENT_CCU CITRIX 2008.0206 06-feb-2009 5 \
VENDOR_STRING=;LT=NFR;GP=720;CL=ENT,ADV,STD,AST;SA=0;ODP=0;AP=ADMIN/LOGON/-28D:NONADMIN/LOGON/ALW \
DUP_GROUP=V ISSUED=07-Mar-2007 NOTICE="sepago GmbH" \
SN=OR146610:845390 START=6-feb-2007 SIGN="XXXX XXXX XXXX XXXX \
XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX \
XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX \
XXXX XXXX"

See what I mean?

ParseCitrixLicense

To simplify license file analysis, I have written the tool ParseCitrixLicense. It takes a license file like the one above and displays the contents in a human-readable form:

ParseCitrixLicense.exe by Helge Klein

========================================

License server hostname: srv1
License server port: 27000 [default]
Vendor daemon: CITRIX

========================================

Vendor: CITRIX
Expiration date: 06-feb-2009
No. of licenses: 5
Licensed feature: Citrix Presentation Server Enterprise|Concurrent User
Software assurance expiry: 2008-02-06
Company name: sepago GmbH
Vendor string: [empty]
License sharing for the same client device: allowed
Serial number: OR146610:845390
Date issued: 07-Mar-2007
Validity start date: 6-feb-2007
License type: NFR [Not for resale]
Grace period: 30 days [default for all license files generated after August 19th, 2004]
Licensed components: Enterprise, Advanced, Standard, Application Streaming
Subscription advantage: no

----------

Unknown entries: ODP=0;AP=ADMIN/LOGON/-28D:NONADMIN/LOGON/ALW

As you can see, each field from the license file is shown with a short description and, where appropriate, a remark.

What is Missing

I have not (yet) been able to decipher all entries. I encourage anyone to point me into the right direction by commenting on this article. As soon as I figure out the meaning of the remaining fields I will post an updated version of ParseCitrixLicense.

These are the fields ParseCitrixLicense does not understand yet:

  • ODP=0

  • AP=ADMIN/LOGON/-84D:NONADMIN/LOGON/-28D, or

    AP=ADMIN/LOGON/-28D:NONADMIN/LOGON/ALW, or

    AP=ADMIN/LOGON/ALW:NONADMIN/LOGON/-7D

  • CCUDURMIN=90

    (1.5 hours?)

  • CCUDURMAX=525600

    (365 days?)

Download and Requirements

ParseCitrixLicense requires the .NET framework 2.0. It is a command line tool that expects the path to a license file as the first (and only) argument. If called without parameters the following help screen will be shown:

ParseCitrixLicense.exe by Helge Klein

ERROR: Please specify the name of the license file to be parsed on the command line!

Example:

ParseCitrixLicense.exe MyLicFile.lic

Download ParseCitrixLicense, version 1.0, x86

I have tested ParseCitrixLicense with various license files for Presentation Server 3.0, 4.0, 4.5 and XenApp 5.0. In case of problems please comment on this article.

Comments

Related Posts

DiskLED - A Flexible Hard Disk and General System Activity Indicator System Tray Applet

DiskLED - A Flexible Hard Disk and General System Activity Indicator System Tray Applet
What do you do when your computer reacts sluggishly to even the simplest commands? You probably look at its hard disk LED to determine if the disk is busy, because if it is, the only thing that really helps is waiting (apart from buying a faster disk or SSD). Problem solved - if you are sitting right next to the machine. But what if you are using a protocol like RDP or ICA to connect to a remote computer or VM? No HDD LED, no quick and simple way to check for hard drive activity. This has been bugging me enough to write a software replacement: DiskLED.
Helge's Tools

Latest Posts