Adobe and Flexnet

image

This is a repost of an old article published on an old-blog.

Ever since Aaron Parker did a series on how to virtualize Creative Suite 3 and the slightly updated post regarding virtualizing Adobe Acrobat (8/9) on my part – licensing has been a discussion surfacing when discussing Adobe applications.

This resurfaced again – this time while using a Photoshop Elements 8 package and Adobe Creative Suite 3 / 4 or Acrobat 8 / 9 at the same time. It relates to different versions of the FlexNet license engine running – and if a compatible version of the engine is not available the licensing will fail.

Using a Adobe Anchor MSI from the Creative Suite 3 or 4 DVD has been the solution so far – once you deploy that natively to both your clients and sequencers the problem is resolved (as first posted in the comments on Aarons blog). The FlexNet service will only run one instance that is available natively – as opposed to running several instances virtualized.

As Photoshop Elements 8 uses the same FlexNet service, we didn’t anticipate a problem in reusing the previously recommended solution. The FlexNet service is good in such a way that it is backwards compatible – so any Creative Suite 3 application can use the newer Creative Suite 4 service. Photoshop Elements 8 did require a newer version – yet again – of the service. Something that was not provided as an easy to extract MSI. 
To break it down:

· AdobeALMAnchorServiceAll.msi – from the Creative Suite 3 DVD

· AdobeALMAnchorService2-mul.msi – from the Creative Suite 4 DVD

There is an update for Adobe Acrobat 8 which installs a newer version of the FlexNet service compared to CS4. This looks a little bit different in terms of how it’s installed.

image

It seems that all that is provided is a .DLL and an .EXE – when executing the following is printed out:

Trying to install anchor service… 
Installation succeeded.

What version does the Photoshop Elements 8 require? Since we had setup the sequencer with the Creative Suite 4 edition of the FlexNet service – it would have been all set incase it could live with the version from Creative Suite 4. However – as part of the package there was an update file relating to the FlexNet service.

image

It seems that Photoshop Elements 8 indeed require a newer version of the Flexnet-service compared to both the patch and the previously used Creative Suite 4 installed service. However – this update was baked into the installer for Adobe Photoshop Elements 8 and not so easily extracted as the MSI from the Creative Suite 4 media.

Remember the FNP_Act_Installer.dll above from the licensing-service path installation-kit?

image

It seems there is a copy located in the folder of Elements Organizer 8.0 when Photoshop Elements 8 is installed. The above screenshot shows the new FNP_Act_Installer.dll copied in along side with the older-version of the license patch (named FNP_Act_installerold.dll).

What if you run the InstAS.exe now? Actually it installs the service or updates to the required version.

However, our story does not end here. It seems that when installing the MSI from the Adobe CS3/CS4 media – it does one more additional thing apart from just installing a service. Using the above service will fail unless you are executing a dependent application with non-elevated privileges – as the user does not have the permission to trigger a start of the service.

The permissions of the services differ from the default permissions applied to a standard service installation. A working installation of the FlexNet Licensing Service has the following permissions applied:

C:\Users\nicke>sc sdshow “FlexNet Licensing Service” 
D:(D;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;NU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CC 
DCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCLCSWRPLOCRRC;;;IU)

For a full understanding of what the above permissions list means, please see the following web page: 
http://msmvps.com/blogs/erikr/archive/2007/09/26/set-permissions-on-a-specific-service-windows.aspx

The relevant permissions are the following extract:
(A;;CCLCSWRPLOCRRC;;;IU) 
Which means that Interactive User (IU) has Query Config, Query Status, Enumerate Dependts, Interrogate, User Defined Control, Read security descriptor, Start service permissions (and whatever else was missed).

An export of the permissions from the registry looks as follows:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\FlexNet Licensing Service\Security] 
“Security”=hex:01,00,14,80,8c,00,00,00,98,00,00,00,14,00,00,00,30,00,00,00,02,\ 
00,1c,00,01,00,00,00,02,80,14,00,ff,01,0f,00,01,01,00,00,00,00,00,01,00,00,\ 
00,00,02,00,5c,00,04,00,00,00,01,00,14,00,ff,01,0f,00,01,01,00,00,00,00,00,\ 
05,02,00,00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,\ 
20,02,00,00,00,00,14,00,ff,01,0f,00,01,01,00,00,00,00,00,05,12,00,00,00,00,\ 
00,14,00,9d,01,02,00,01,01,00,00,00,00,00,05,04,00,00,00,01,01,00,00,00,00,\ 
00,05,12,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00

That means that an interactive (logged on) user can start the service and therefore receive its licensing information. If the above is not implemented – the following error message can be seen:


Licensing for this product has stopped working.

This product has encountered a problem which requires that you restart your computer before it can be launched.

If your continue to see this message after restarting your computer, please contact either your IT administrator or Adobe technical support for help, and mention the error code shown at the bottom of this screen;

Error: 147:21

This error has also reported in a few forum posts:

http://forums.adobe.com/message/2989946
http://forums.adobe.com/message/3433233
http://www.appdeploy.com/messageboards/tm.asp?m=53453