Adobe CS 5.5 with MunkiServer (and CS6, kinda)

Got Munki? Want Adobe CS5.5? Read on.

Using the AAMEE, it is possible to make one big fat installer .pkg that will install of CS5.5, fully patched and serialized. Unfortunately, at present the Munki tools aren't capable of delineating the original Adobe installs from the update package created by doing it this way.

Therefore, it's necessary to make four packages:

1) A package for the Adobe licensing tool
2) The CS5.5 Design Premium install
3) A recent updater package
4) A package that serializes the machine with a serial number of your choosing (this way we can share the software without handing out licensing information).

The Sassafras ashbuilder is handy for step 4 if you use the Sassafras Key Client (http://www.sassafras.com/tools/ashbuilder.html)

It's relatively simple, especially with the fantastic munki server.


Creating the Adobe licensing tool install pkg (APTEE):

  1. Download this
  2. Fix the .dmg made by morons at Adobe so the "adobe_prtk" CLI binary is in the root of the .dmg

3.    Make a pkginfo file for this .dmg by running:

4. makepkginfo -i adobe_prtk -d /usr/local/bin adobe_prtk_22012.dmg > ~/pkginfo.plist
 

(which specifies the "adobe_prtk" install item (-i), and its' destination (-d) will be /usr/local/bin)

  1. Upload the .dmg into your Munki repo. Be sure to click options and upload the accompanying pkginfo.plist from the above step. Remember to edit your pkginfo.plist to include version info, a description and a good bundle name.

Creating the CS5.5 Design Premium install:

  1. Get the Mac AAMEE kit here. Install it. Get your original Adobe CS5.5 install media mounted.
  2. Run the AAMEE, create a new pkg, name it appropriately and point the tool at your install media (it's locale matches the your serial number, right? See notes at bottom!!)
  3. Disable all popups, surveys, EULA agreements, updating, Adobe AIR, surveys. DISABLE EVERYTHING, OKAY?
  4. Do not download, or include updates.
  5. Read that last line again.
  6. Don't include a serial number (you can, at this point, but in order to provide shared/federated packages it's best to not serialize the software). We take care of that in the last step, anyhow.
  7. Edit the info.plist to get descriptive info for the Munki server
  8. Plop the resulting install and uninstall .pkgs into .dmgs, (in the root of the .dmg). Just the install.pkg into one, and the uninstall.pkg into another different one. Nothing else.
  9. Upload to Munki server and make sure both are of "Installer Type": AdobeCS5AAMEEPackage

10. You'll likely have to make reliable installs keys (the app paths/versions, for example - the installer will not make a receipt). This is a bit of an art form, as not all CS5 install variants are the same! If you fail to get this right, managedsoftwareupdate will continue to try and install CS5 every time it runs. You NEED to get this right (See the notes).

11.  Make the APTEE a requirement for the install.

Creating the CS5.5 Update package:

  1. Start the AAMEE kit again.
  2. Make a new update pkg
  3. Include all updates
  4. Wait
  5. Edit the info.plist to get descriptive info for the Munki server
  6. Plop the resulting install .pkg into .dmg, (in the root of the .dmg).
  7. Upload to Munki server and make sure both are of "Installer Type": Package
  8. You can use the receipts key reliably (ca.sfu.CS5_5DesignPremium-5.5-updates).
  9. Make this pkg an update for the CS5.5 Design Premium install package

Creating the CS5.5 Design Premium "serializer" package:

  1. Know how to make a payload-free package? Make one. If you don't, feel free to use Greg's template.
  2. Find out:
    1. your serial number (it's locale matches the install media you used above, right? See notes at bottom)
    2. your package LEID (internal to Adobe. Look it up here)

3.    Edit the postinstall script with contents:

4. /usr/local/bin/adobe_prtk --tool=ReplaceSN --serialize=DesignSuitePremium-CS5.5-Mac-GM --serial=0000-0000-0000-0000-0000-0000
 (that last string is YOUR serial number)
  1. Make sure the postinstall script is executable
  2. Plop the resulting install .pkg into .dmg, (in the root of the .dmg).
  3. Upload to Munki server and make sure both are of "Installer Type": Package
  4. You can use the receipts key reliably.
  5. Make the "CS5.5 Design Premium install" package a requirement for the install.

Deploy:

Bundle the software together in MunkiServer.

You should also include the "Java for OS X 2012-003" package for Lion clients that don't necessarily ship with Java. Dreamweaver and Flash will ask for it on first run.

Assign to your unit/group/department/client

Caveats:

·       The command to UN-serialize the machine is:

·       /usr/local/bin/adobe_prtk --tool=ReplaceSN --unserialize=DesignSuitePremium-CS5.5-Mac-GM
 

(I might make a un-serialize pkg. Then again I might not. YMMV).

NOTES:

*** It's really important to make sure what locale you're dealing with when managing Adobe products. If your installer .pkg is made with en_GB (International English), you cannot register it with a en_US (Universal English) serial. Or vice versa.

Munki installs keys:

Installs keys aren’t necessarily the best way, but they are the most exact. If you get a basic CS5 suite installed, you will shortly be updating the suite with an update package. So your updater will throw the versions off for the installs keys you’ve set in the base package. Not good. You’ll get repeated installs forever. The package receipt is another good option:

Receipts:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
       <dict>
             <key>filename</key>
             <string>CreativeSuite5_5DesignPremium-5.5_Install.pkg</string>
             <key>installed_size</key>
             <integer>0</integer>
             <key>packageid</key>
             <string>ca.sfu.CreativeSuite5_5DesignPremium</string>
             <key>version</key>
             <string>5.5.1</string>
       </dict>
</array>
</plist>

Combined with a couple reliable installs keys should be sufficient. Your mileage may vary!

Installs:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
       <dict>
             <key>path</key>
             <string>/Applications/Adobe Photoshop CS5.1/Adobe Photoshop CS5.1.app/Contents/Info.plist</string>
             <key>type</key>
             <string>file</string>
       </dict>
       <dict>
             <key>path</key>
             <string>/Library/Application Support/Adobe/Uninstall/{04ADB20D-99A3-4F83-8176-F07787237EBA}.db</string>
             <key>type</key>
             <string>file</string>
       </dict>
</array>
</plist>
 

More information:

http://code.google.com/p/munki/wiki/MunkiAndAdobeCS5

http://afp548.com/mediawiki/index.php/Munki_and_Adobe_CS5_deployment#Licensing_postflight_pkginfo

Adobe enterprise deployment tools, manuals and downloads:

http://www.adobe.com/devnet/creativesuite/enterprisedeployment.html

Adobe package IDs for the PRTK serializer tool:

http://www.adobe.com/devnet/creativesuite/enterprisedeployment/licensing-identifiers.html

Greg's easy  payload free package template (useful for tons of things):

http://managingosx.wordpress.com/2010/02/18/payload-free-package-template