License activation for Adobe CS6 in a View linked clone environment

Update 2018-08-02

I haven’t had to do this since I wrote this blog post in 2012. However, somebody found this post about a year ago and told me they were able to use Adobe’s current tooling with my old post to make it work for their Horizon environment. I just got a question today on this blog post.

The current tool is called Creative Cloud Packager. It’s not quite the same as Adobe Application Manager, but the concepts are similar.


Original Post 2012-09-23

I recently had to work out the process for license activation of the Adobe CS6 suite. Adobe offers an academic FTE licensing scheme similar to Microsoft’s FTE program. The calculation for licensing cost is based on your employee count; the entire district is then licensed and you don’t pay a dime for students. The Adobe K-12 Enterprise Agreement contains Design/Web Premium, Photoshop Elements, Captivate, and Presenter.

The total installed size of these products turns out to be 8-10GB, quite a bit of a nightmare to attempt a ThinApp. I decided to bake the Adobe software directly into the base image. However, Adobe license keys do not survive the quickprep process. The software comes up unlicensed when you log in to a linked clone.

Adobe offers a free enterprise deployment tool called Adobe Application Manager. One of the functions is to create a serialized installer key along with an executable that will license the already-installed Adobe software. Note that this does NOT work on Photoshop Elements. We have a ticket in to Adobe support for assistance, but at the moment it doesn’t appear possible to activate Photoshop Elements anywhere other than during installation.

First, download and install Adobe Application Manager. Then download your Adobe software and unzip the installation files. Then launch Adobe Application Manager. I found that it only worked properly when I chose Run as Administrator.
Launch Adobe Application Manager
Select the Serialization File option from the main menu.
AAM Main Menu Selector
Browse to your unzipped installer, you need to point to the folder that contains Set-up.exe. Then enter a folder name to save the serialized output, and a location on the network to save the folder.
Path to Installer

Enter the serial number.
Enter Serial Number

The output of the tool will be an executable and XML configuration file.
Application Manager output

Now we need to make this script run after guest customization. We put a C:\scripts folder inside each template. Then create customize.cmd in C:\scripts. Customize.cmd is a generic batchfile that will be called by View after it performs guest customization. You can only call one batchfile, so you either need to put every command in the customize.cmd batchfile, or use customize.cmd to call other batchfiles.
The script looks like this:
Customize script

Put one copy of the AdobeSerialization.exe into C:\scripts\adobe. Then create a folder for each Adobe product that you installed. Inside each of those folders is the prov.xml output file. Create the adobe-commands.cmd file and write it to call the executable once for each xml config file.
The syntax to run the licensing is as follows: AdobeSerialization.exe –tool=VolumeSerialize –provfile=prov.xml
Adobe licensing commands

Configure your View pool to run the customization script after the linked clone is quickprepped.
View Post-sync script

Now the Adobe products will be fully activated anytime you recompose your linked clone pools.


  1. Michael Rinken

    Thanks for a great article Patrick. I started to do this and I’m stuck at the end – we run a Sysprep at the end to customize the linked clones to join our domain, use our KMS server for the Windows 7 key, etc. The problem is can you run both that sysprep AND a post-synchronization script? Doesn’t look like you can and that’s where I get stuck because I need to run both. Let me know if you have run across that and how you solved it.

    Thanks again!

    1. pkremer

      Glad it was helpful. I don’t think the post-sync was designed to work with sysprep. Is there any particular reason you’re using sysprep?

      Maybe use a RunOnce in the registry that calls the script after sysprep?

      1. Michael Rinken

        Hmmm – I assumed when it refreshed the systems it needed the sysprep. Perhaps that’s only needed at recompose?

        Also – when I go to edit the settings of the pool to try and use a script, the options are greyed out so I can’t choose Use QuickPrep. Wonder if that’s a function of setting up the pool and it’s not changeable once the pool has been created.

        I’d love to give this a shot – we do need it to work!

        1. Michael Rinken

          So when you try and create a new pool, you choose one or the other – we have to use a sysprep as to call out the domain, Windows 7 KMS key, etc. Can’t use the QuickPrep unless there is a way to mix the two.

          Hopefully I’m making sense, not an expert by any stretch of the imagination!

          1. pkremer

            There’s no need for Sysprep for those requirements. Quickprep will join to the domain, and your KMS key should already be registered in DNS. The Windows 7 guests will automatically activate based on the SRV records registered in DNS. nslookup -type=srv _vlmcs._tcp at a command prompt will show you what’s currently in DNS – if your KMS host(s) are there, you are good to go.

            Give it a shot, just create a test pool with a single VM in it using Quick prep and see what it does in your environment. I’ve set up dozens of View environments and haven’t ever had a use case for Sysprep.

  2. pkremer

    Unfortunately no, the ticket closed with no resolution. They have no enterprise method to license Photoshop Elements and don’t appear to have much interest in making it happen.

  3. Tammy

    Did you ever get a resolution for the Phototshop Elements serialization? We are looking to deploy this via images, as well and it doesn’t seem to be working for us either.

Leave a Reply

Your email address will not be published. Required fields are marked *