Easy to use FlexLM / FlexNet license status viewer
August 31, 2014
License Status is now available on GitHub.
October 23, 2012
This release improves the parsing of users that have spaces in their name or display.
To do this some rules were added that attempt to determine the user’s host or display. These rules are relatively simple, so there will be situations where the user’s information will not parse correctly. In those cases any spaces will be assumed to be part of the user’s name.
September 18, 2012
This update provides support for multiple checkouts by the same user.
For some situations a user can check out more than one license from the same host and display. In the lmstat report this is shown as:
user11 comp11 comp11 (v2.0) (SERVER1/27001 209), start Sun 9/16 8:21, 2 licenses
License Status will now read the number of licenses checked out and display it in the new ‘Checked out’ column. By default this column is not displayed, but it can be turned on anytime.
This change also corrects the issue where the feature information did not report the same number of licenses being used as the lmstat report did. Previously I assumed that the number of users would equal the number of licenses in use, which is not correct when the user can check out more than one license.
July 27, 2012
A quick update which corrects another language related problem. This corrects the problem where the checkout time was not displayed for all but a few English languages.
July 26, 2012
License Status has been updated to correct a problem where it would crash when refreshing the status. This was caused by the language Windows was using, effectively making it unusable on all but a few English languages. Now it will work with all languages.
June 14, 2012
I’ve released v3.2 of License Status with these changes:
April 1, 2012
License Status had basic support for multiple monitors in that the window would be restored to whichever monitor it was last used on. The problem was that it would restore to a monitor even if the monitor was disconnected. I’ve updated it to ensure that the window will be visible regardless of monitor configuration or resolution changes.
March 6, 2012
It’s been a while, but I’ve finally taken the time to upgrade License Status to use .NET Framework 4.0. Functionally nothing has changed, but visually you should notice that the font display is sharper.
Previous versions which only require .NET Framework 3.5 SP1 are still available.
August 30, 2009
Part of my work involves checking the status of FlexLM/FlexNet licenses. Usually I would use LMTools or the lmstat command line to get the status. While these get the job done I wanted something a little more usable. So I made my own program, License Status, and decided I’d make it available to anyone that wants it.
License Status reads the output of lmstat and presents it in a sortable table. Multiple licenses can be displayed. For those parts of lmstat that are not shown (such as redundant server information) the original lmstat report can be shown.
License Status requires .NET Framework 3.5 Service Pack 1.
The other reason I wanted to create this program was to try out WPF.
After the initial learning curve, WPF’s data binding and customizable controls made it easy to create the UI. But I did encounter two issues with License Status.
First, and I’m not sure if this is noticeable to everybody, is the blurry font display in WPF. Even though I ignored this in License Status I would be concerned about making a production program that users would be reading from frequently.
The second, and more significant, issue is as much my fault as the design of WPF. If you have several hundred features in a license there is a noticeable pause in the UI as the display is updated. If you have a thousand or more this pause becomes very noticeable.
This is a fault in my code because I have not optimized the list handling. To keep things simple I chose not resolve this in this version.
The other aspect of this issue is that it is how WPF’s ListView is designed. For those who know WPF you know there is a VirtualizingStackPanel which basically improves the performance of a large list. The problem in License Status is that I’ve enabled grouping which disables virtualization.
Possibly when .NET Framework 4.0 is released I’ll reexamine these issues.
In case it would be useful to anyone else I’ve implemented a class library, LicenseManager.dll. This is where the actual processing of the lmstat output is done. This only requires .NET Framework 2.0 to make it more accessible.