Select to view content in your preferred language

HELP: How to automatically release Spatial Analyst extension

6174
9
12-29-2014 05:13 PM
AnthonyCheesman1
Frequent Contributor

Hi

I have a circumstance where our organisation only has a limited number of SA extensions available in our LM for a comparatively large number of users. It is not a commonly used extension for most of our Desktop users, but it is for our specialist users.

When a extension is selected, it seems to stay persistent for subsequent uses of ArcGIS Desktop - which is really annoying, as someone may have selected the extension for a specific task, and then not released the extension, effectively locking it out for other users to access.

After repeated sessions of trying to source an extension for core work, I've finally cracked today. There has to be an easier way.

Is there a programmatic way to change this - ie extension automatically is released on exiting software or on startup or similar? I'm imagining that this may be controlled by a registry key or similar.

Please help!

0 Kudos
9 Replies
MikeCusi
Frequent Contributor

Had the same problem a while back. I had a look at using OPENLM for a while and it looked like it could do what you want. I did not have the chance to test it though as our organization got an Enterprise License Agreement with ESRI soon after.

0 Kudos
StevenGraf1
Frequent Contributor

You can use License Manager to forcibly check in a license.  This will kick the current user out of it and allow someone else to take control. License Manager Reference Guide

Steven

0 Kudos
AnthonyCheesman1
Frequent Contributor

Thanks Steven - good information.

The issue in my circumstance is that I don't have access to the LM, and the admin is reluctant to kick people off.

We used to have a service that would publish licence usage (and users) to an intranet site, but for whatever reason that is broken. I've suggested that we reinstate this service, even just on a smaller scale.

I suppose I'm thinking about the root cause of the issue - ie make users explicitly select the extension when they need it, rather than a user needing one (and not being able to access it) having to chase it down.

A bit of digging around has found me the arcpy.CheckExtension and arcpy.CheckInExtension options - a brute force option would be to write a ArcGIS start-up script that executes a short .py script to release any extensions held.

I am going to have a tinker with this today and see if it's possible.

What I was hoping for was that there was a pre-existing option on starting up ArcGIS that would force release of any extensions, either by registry key or by flag on the .exe - eg arcmap.exe /release or similar.

Anyway, I'll keep tinkering and see what works.

0 Kudos
AnthonyCheesman1
Frequent Contributor

As a post-script to this, trying to release the extension via Python was unsuccessful, and probably due to the extension information being stored in normal.mxt or similar.

No solution yet but I haven't given up looking.

0 Kudos
RebeccaStrauch__GISP
MVP Emeritus

Anthony, if you you are just looking for a quick way to see what users have what core and extensions checked out, and 1) you have access to the lmutil command line tool, and 2) can ping the LM machine, you can do this come a command line window.  Simplest version, is to open a command window where the lmutil.exe is located, and execute:

     lmutil lmstat -a -c <@IP or @servername>

I have a simple .bat file setup that I run to do a quick usage check and to see if who I can email, before bumping.  Not necessarily practical if you have hundreds of licenses, but for us it works.

In our case, we also track usage and can use LM to look, but this is a quick peek.

AnthonyCheesman1
Frequent Contributor

Hi Rebecca, that solution worked perfectly (once I found a copy of lmutil). There's a bit of funniness with the way our licences and groups are structured, but at least now I know who has what, and more importantly who I can harass to release an extension.

0 Kudos
RebeccaStrauch__GISP
MVP Emeritus

Anthony, just in case "funniness" is multiple license managers (which is how I have some groups separated, and a set of licenses to borrow separated), you can set up separate .bat files.  I have a command window shortcut (pinned to my windows task bar) that opens to the directory with the lm util and the bat files...then I run based on the group/LM I need to check, eg. Chk_av.bat chk_av2.bat or chk_ai.bat.    of course you do not need to specify the .bat when running.

if using groups within the options (.opt) files within the license manager (which I dont), does that display differently with the lmutil command?  Just wondering if that was what you meant.

0 Kudos
AnthonyCheesman1
Frequent Contributor

Hi Rebecca, the 'funniness' was more to do with the way our licence manager user groups are structured. I don't actually administer the manager myself, so I don't have a working knowledge of how it is constructed. The specific situation is that we have some INFO licences reserved for a particular group (works ok) and SA extensions reserved for the same group, plus another group, and there appears to be some conflict there, which I don't completely understand.

As to the original question - at least now I know who has what extension checked out, so at least I have a fighting chance of getting an extension when I actually need it.

0 Kudos
MarkBoucher
Honored Contributor

Is a frustrating issue.

We have a ap called "WhereHaveAllTheLicensesGone.exe". At least I can see who has it locked and get them to turn SA off on their machine.