Addressing Licensing Issues With Adobe CS3 Apps On SoftGrid

January 24, 2008

in Virtualisation

Adobe uses Macrovision FLEXnet to enforce licensing for their applications. This is a service that is installed when you install any of the CS3 applications and will start when you launch a CS3 application. This licensing tool is installed even if you are using volume license media.

In a MAV environment this service can be successfully virtualised, however you may encounter issues when running multiple CS3 applications in separate MAV environments (or bubbles). Running more than one CS3 application at a time (either on a single desktop or in a Terminal Server environment) will result in the following licensing errors and the application will exit:

The licensing subsystem has failed catastrophically. You must reinstall or call customer support.

Licensing Error

You cannot use this product at this time. You must repair the problem by uninstalling and then reinstalling this product or contacting your IT administrator or Adobe customer support for help.

Licensing Error

Fortunately the FLEXnet Licensing service only needs to run when the application starts – you can subsequently stop the service and the application will continue to run. With a script we can stop this service to get more than one CS3 application running.

Originally I had attempted using WMI to detect the state of the service, wait for it to start and then stop it. However, the virtual services are not detectable via WMI so I’ve had to resort to something a little more crude. This script reads the output from a NET START command until the FLEXnet service starts and then stops the service. It’s not a robust script by any means but it gets the job done.

Dim WshShell, oExec
Set WshShell = CreateObject("WScript.Shell")
Do While True
	Set oExec = WshShell.Exec("NET START")
	Do While oExec.Status <> 1
		WScript.Sleep 100
	Loop
	If InStr(oExec.StdOut.ReadAll, "FLEXnet Licensing Service") <> 0 Then Exit Do
	WScript.Sleep 5000
Loop
WScript.Sleep 3000
Set oExec = WshShell.Exec("NET STOP /YES " & Chr(34) & "FLEXnet Licensing Service" & Chr(34))
Do While oExec.Status <> 1
     WScript.Sleep 100
Loop

Run the script by adding a POST LAUNCH script event in the OSD file:

<SCRIPT EVENT="LAUNCH" TIMING="POST" PROTECT="TRUE" WAIT="FALSE" TIMEOUT="0">
	<HREF>CMDOW.EXE /RUN /HID CSCRIPT //NOLOGO \\SERVER\Scripts\StopFLEXnet.VBS</HREF>
</SCRIPT>

I’m using CMDOW here to hide the command window that users will see every few seconds. Unfortunately this method is a little clunky, but if you have a better suggest please let me know.

{ 1 trackback }

{ 4 comments }

1 Jonathan April 18, 2008 at 11:01 am

I had the same problem, but was unable to kill the process (mainly due to my lack of hacking skills no doubt :) ). I resorted to writing a batch file, called from the OSD file, that kills the licensing process…the syntax is…
@TASKKILL /F /IM FNPLicensingService.exe. Also, thanks for your help earlier Aaron

2 Anders May 16, 2008 at 1:16 pm

Is it just me, or has the POST LAUNCH script turned invisible?

3 Aaron Parker May 17, 2008 at 5:54 am

WordPress strikes again. I’ll fix the script when I get back to London next week.

4 Doug May 29, 2008 at 10:07 am

The FlexNet service doesn’t seem to behave well when playing with others.

In the installation source (under payloads) is the “AdobeALMAnchorServiceAll” folder, this contains the FlexNet service. This can be installed locally on the machine (as it’s just an MSI)… and should be installed on your sequencer machine. This can then be excluded from the bubble and can be used by all Adobe apps. We are running Photoshop, InDesign and Illustrator, which now all use the local service.

The service manages a local security database for the licences, and a config file for the apps supported. (from what I can make out).

If we ran 2 apps, that had their FlexNet service in the bubble, that would have some sort of conflict, and come up the the standard licensing error. We are running these on a Terminal Server, which makes running one Adobe app at a time impossible.

We can now run multiple Adobe apps on the same servers with no issue.

Comments on this entry are closed.

Previous post:

Next post: