Update Adobe CC 2018 via Self Service

jcosma
New Contributor II

Hello everyone,

In our current environment our designers are using Adobe CC 2017 on Sierra 10.12.6. I am looking to update them to Adobe CC 2018. I'd like to make this option available in Self Service so the users can update themselves when they have time in their schedule. I have created individual packages based on users needs in the past (example: only a handful of users use Premiere so I created that as a stand alone pack from the Adobe package creation site and then brought it in to Composer to build a Self Service package).

My question is, what is the best practice to push updates for Adobe CC 2018? I know Adobe will come out with other versions of 2018 and I'm trying to avoid a separate and new package for each update.

Thanks everyone!
Sorry if I explained anything in a confusing way; I'm a Jamf n00b!

23 REPLIES 23

Taylor_Armstron
Valued Contributor

I'd suggest (given the size) set up a policy in SS that simply installs each package. If you don't have an HTTP file distribution point, you may want to cache the packages first, then install.

Once you've upgraded, for routine updates, consider the use of Adobe's Remote Update Utility - lets you run an easy CLI command to pull updates from Adobe. Simplifies things considerably.

SDamianoINWK
New Contributor III

On all future brand-new installs of Adobe Creative Cloud, you should consider pushing the elevated privilege package of Creative Cloud Desktop. Unfortunately, you cannot install this over an existing install of Creative Cloud, but this does allow users to upgrade/downgrade Creative Cloud apps at their own will.

This installer is available in your team or enterprise portal, and can be built using the package creator tool.

rrouleau
Contributor

For CC updates (after your Self Service deployment of CC2018), we use and I would recommend Adobe RUM (Remote Update Manager).

You can use this in two ways, either with your own Adobe Update Server (See AUSST) or pointed directly at Adobe for updates... Whichever is best for your environment.

With the use of Jamf and RUM, you can set up a policy (daily/weekly/monthly/etc..) to check for all installed software updates.

bpavlov
Honored Contributor

RUM will not handle major update. It handles only minor updates (e.g. Adobe Acrobat 18.0.1 to 18.0.2 (if only their versioning was this simple), but not v18.0.1 to v19.0.1).

Another thing to note, the Creative Cloud Desktop App can be pushed out with elevated permissions which is definitely nice since you can have your users upgrade whenever they want. That said, it also means your users may be on different versions and that Adobe plugins may not be compatible when they upgrade. The CCDA does let users uninstall and/or keep the old version of the Adobe app they have. It also lets them install older versions too. CCDA also would required named-user licensing.

pete_c
Contributor III

I've had success using this script in Self Service to update existing Adobe CC apps.

mlitton
New Contributor II

Can you run the RUM if applications are still open? Like a designer is working in PS and when RUM runs, it updates PS.
Or does it just download and will install when the app is not in use?

Taylor_Armstron
Valued Contributor

It won't HURT anything, but it won't update. In my experience, it downloads, but fails the install if a given app is open. User never notices, but the next time you run it, it downloads all over again and tries again.

jmahlman
Valued Contributor

Author of the script here, @Taylor.Armstrong is correct; it will download the update and try to install but just fail to update if the application is open.

I haven't added any checks to the script because, honestly, I'm lazy and since it doesn't harm anything when a program is open it's not super important for us.

Maybe another update ;)

mlitton
New Contributor II

@jmahlman cocoa dialog is not available for download anymore. If I can find it, does it still work with your script?

Taylor_Armstron
Valued Contributor

@jmahlman . THANK YOU.

Now, if you happen to make those changes, I'd so totally buy you a beer. Or 6. Suspect that I'm far from the only one... just sayin'.

jmahlman
Valued Contributor

It does! It even works on 10.13. I know it's technically not supported but until it stops working we're probably just going to keep using it.

I actually didn't even realize that CCD 2 was not available for download anymore. Here's the package that we use (drops it into /Applications/Utilities/).

If I'm not allowed to post this here, I will remove it.

jmahlman
Valued Contributor

Hah, thanks @Taylor.Armstrong. I'm not sure if/when I'll get to that but I'll try to post something on JN for those that use my script (I know there are a few out there).

If CocoaDialog 3 doesn't become a real thing I will probably look to moving it to some other utility. That would probably be when I do any major updates with it.

mlitton
New Contributor II

@jmahlman thanks for the link to your CCD!

remyb
Contributor

Even though I like the functionality of CCD, the lack of development makes me kind of nervous for it to be a tool to depend on in my environment. I'll probably be modifying your script to suit our environment, and replace CCD with JAMF helper.

remyb
Contributor

Like this... Big thanks to you @jmahlman

#!/bin/sh
#
#
# Created by John Mahlman, University of the Arts Philadelphia (jmahlman@uarts.edu)
# Name: Adobe-RUMWithProgress
#
# Purpose: This script uses CocoaDialog to show which updates are available for Adobe CC and asks
# if they would like to install those updates.  If they choose to install updates it will
# show a progress bar to the user and begin installing updates. The pregress bar doesn't change,
# it's only there to show the user that something is actucally happening.
#
# Changelog
#
# 2/22/18 - Cleaned up some logic to make it prettier
# 1/8/18    - Updated channel ID list with new channels and names
# 9/8/17    - Added link to channel ID list from Adobe
# 8/31/17 - Just some cleaning up
# 8/29/17 - Added a "caffeinate" command when installing updates to stop systems from sleeping during long installs
# 6/19/17 - Removed the "wait" command at the end because it was just causing things to hang
#                   - Added some sleep 0.2 lines to allow the script some time to catch up
#                   - Fixed Dreamweaver channel ID
#                   - Added jamf_bin to determine which jamf binary to use
# 3/23/17 - Added more to "super-echo" to make it nicer for the user to read what's available for updates
# 2/21/17 - Cleaned up script to make it in line with my styling.
# 25/04/18 - Changed all CacoaDialog stuff to jamfHelper - remyb
#

icons=/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources
rumlog=/var/tmp/RUMupdate.log # mmmmmm, rum log
jamfHelper="/Library/Application Support/JAMF/bin/jamfHelper.app/Contents/MacOS/jamfHelper"
oldRUM=/usr/sbin/RemoteUpdateManager # this is where RUM used to live pre-10.11
rum=/usr/local/bin/RemoteUpdateManager # post-10.11
jamf_bin=/usr/local/bin/jamf

# Installer function
installUpdates ()
{
    # Let's caffinate the mac because this can take long
    caffeinate -d -i -m -u &
    caffeinatepid=$!

    # Displaying jamfHelper
    "$jamfHelper" -windowType hud -title "Adobe Updater" -description "Downloading and Installing Updates, this may take some time..." -icon "$icons/Sync.icns" -lockHUD > /dev/null 2>&1 &

    # do all of your work here
    $rum --action=install

    # Kill jamfhelper
    killall jamfHelper > /dev/null 2>&1

    # No more caffeine please. I've a headache.
    kill "$caffeinatepid"

    exit 0
}


#############
#  Script   #
#############


# old RUM installed?
if [ -f $oldRUM ] ; then
    rm -rf $oldRUM
fi

# new/current RUM installed?
if [ ! -f $rum ] ; then
    echo "Couldn't find RUM! Exiting."
    exit 1
fi

# Not that it matters but we'll remove the old log file if it exists
if [ -f $rumlog ] ; then
    rm $rumlog
fi

#run RUM and output to the log file
touch $rumlog
$rum --action=list > $rumlog

# super-echo!  Echo pretty-ish output to user. Replaces Adobes channel IDs with actual app names
# I think it's silly that I have to do this, but whatever. :)
# Adobe channel ID list: https://helpx.adobe.com/enterprise/package/help/apps-deployed-without-their-base-versions.html
secho=`sed -n '/Following*/,/*/p' $rumlog 
    | sed 's/Following/The Following/g' 
    | sed 's/ACR/Acrobat/g' 
    | sed 's/AEFT/After Effects/g' 
    | sed 's/AME/Media Encoder/g' 
    | sed 's/AUDT/Audition/g' 
    | sed 's/FLPR/Animate/g' 
    | sed 's/ILST/Illustrator/g' 
    | sed 's/MUSE/Muse/g' 
    | sed 's/PHSP/Photoshop/g' 
    | sed 's/PRLD/Prelude/g' 
    | sed 's/SPRK/XD/g' 
    | sed 's/KBRG/Bridge/g' 
    | sed 's/AICY/InCopy/g' 
    | sed 's/ANMLBETA/Character Animator Beta/g' 
    | sed 's/DRWV/Dreamweaver/g' 
    | sed 's/IDSN/InDesign/g' 
    | sed 's/PPRO/Premiere Pro/g' 
    | sed 's/LTRM/Lightroom Classic/g' 
    | sed 's/CHAR/Character Animator/g' 
    | sed 's/ESHR/Dimension/g' `

if [ "$(grep "Following Updates are applicable" $rumlog)" ] ; then
    userChoice=$("$jamfHelper" -windowType hud -lockHUD -title "Adobe Updater" -icon "$icons/ToolbarInfo.icns" -heading "Do you want to install these updates?" -description "$secho" -button1 "Yes" -button2 "No")
    if [ "$userChoice" == "0" ]; then
        echo "User said yes, installing $secho"
        installUpdates
    elif [ "$userChoice" == "2" ]; then
        echo "User said no"
        exit 0
    fi
else
    "$jamfHelper" -windowType hud -title "Adobe Updater" -description "There are no Adobe Updates available." -icon "$icons/ToolbarInfo.icns" -button1 Ok -defaultButton 1
    exit 0
fi

jmahlman
Valued Contributor

Hey, @remyb..you just saved me some time. I was literally going to start converting it today.

It still needs some tweaking as the text doesn't fit properly on the jamfhelper windows. Is there any way to set a specific size for the window?

jmahlman
Valued Contributor

Unrelated question, should I have my changelogs going the other way? I notice that everyone seems to add to the tail end, not the beginning :P

remyb
Contributor

I just noticed the text fitting issue too, I'm not sure if there is a way to 'fix' that, i'd just change it a bit so that the heading is no longer a header, but in the description text:

so this:

userChoice=$("$jamfHelper" -windowType hud -lockHUD -title "Adobe Updater" -icon "$icons/ToolbarInfo.icns" -heading "Do you want to install these updates?" -description "$secho" -button1 "Yes" -button2 "No")

to this:

userChoice=$("$jamfHelper" -windowType hud -lockHUD -title "Adobe Updater" -icon "$icons/ToolbarInfo.icns" -description "Do you want to install these updates?

$secho" -button1 "Yes" -button2 "No")

jameson
Contributor II

Great script - is there any option to force this out to users. Or give them some time period and if not installed at given X days it forced to install

EDIT. Just tried to test. If I am on a Adobe photoshop CC2015 - will it not update to latest CC release, but "only" latest patch release for CC2015 ?

erowan
New Contributor III

@jameson Generally, Adobe Remote Update Manager installs updates, not full version upgrades, meaning newer versions like CC2019 must be installed separately.

jameson
Contributor II

Ok - Thanks.
Thought it could be easier:)
Is there a speciel tool for For creating this adobe full package releases

sbirdsley
Contributor

@jameson

Creative Cloud Packager is your best supported bet

Create packages for Adobe Creative Cloud - Adobe Help Center

endor-moon
Contributor II

There is a bug in Adobe's RUM (Remote Update Manager) that updates Lightroom Classic from 2017 to 2018 which instantly requires each user to login with a valid Adobe ID or Enterprise ID. I had to delete the app and install version 7.0 to get around this bug and now I can't use RUM without parameters (/usr/local/bin/RemoteUpdateManager) until this bug is fixed and until Adobe releases its new licensing scheme for Mac labs...

I recently received an invitation to join an Adobe Webinar about Shared Device Licensing for education customers. Check with your Adobe rep if you didn't get one of these.

Adobe sent me the following after my phone call to Enterprise Support:

Lightroom Classic CC Known Upgrade Issue :- https://helpx.adobe.com/enterprise/kb/lightroom-classic-asks-signin-on-update.html

Adobe Remote Update Manager:- https://helpx.adobe.com/in/enterprise/package/help/using-remote-update-manager.html

Adobe Creative Cloud Deployment Base Version :- https://helpx.adobe.com/in/enterprise/package/help/apps-deployed-without-their-base-versions.html