Posted on 10-30-2020 07:57 AM
Hey folks...
Been using the Adobe Reader download and install script for many months now without issue and as of last week it seems to be broken.
Adobe must have changed something on their site and now the script is just thrown in to continuous loop when running the CURL command.
I've tried the following scripts and they're all broken.
https://www.jamf.com/jamf-nation/third-party-products/files/1043/acrobat-reader-dc-updater
https://github.com/PhillyPhoto/JAMF-Scripts/blob/master/Adobe-Products/AdobeReaderUpdate.sh
https://github.com/jamf/Jamf-Nation-Scripts/blob/master/AdobeReaderUpdate.sh
Does anyone have a fix???? We'd rather not deploy a package installer as Adobe updates it so often.
Posted on 10-30-2020 08:15 AM
I saw a post in the Macadmins Slack about this, and someone posted the script below, and it seems to work:
#!/bin/bash
SCRIPT=$( basename "${0}" )
##setParams
properName="Adobe Acrobat DC" ## Edit this to change the name that appears log output
installerString="AcroRdrDC" ## Name (or part of) of pkg filename
appPath="/Applications/Adobe Acrobat Reader DC.app" ## Install location
installType="PKG" ## Just for reference
fileType="dmg"
URL=$( curl --silent --fail -H "Sec-Fetch-Site: same-origin" -H "Accept-Encoding: gzip, deflate, br" -H "Accept-Language: en-US;q=0.9,en;q=0.8" -H "DNT: 1" -H "Sec-Fetch-Mode: cors" -H "X-Requested-With: XMLHttpRequest" -H "Referer: https://get.adobe.com/reader/enterprise/" -H "Accept: */*" "https://get.adobe.com/reader/webservices/json/standalone/?platform_type=Macintosh&platform_dist=OSX&platform_arch=x86-32&language=English&eventname=readerotherversions" | grep -Eo '"download_url":.*?[^\]",' | head -n 1 | cut -d " -f 4 )
evalFunc=$( curl --silent --fail -H "Sec-Fetch-Site: same-origin" -H "Accept-Encoding: gzip, deflate, br" -H "Accept-Language: en-US;q=0.9,en;q=0.8" -H "DNT: 1" -H "Sec-Fetch-Mode: cors" -H "X-Requested-With: XMLHttpRequest" -H "Referer: https://get.adobe.com/reader/enterprise/" -H "Accept: */*" "https://get.adobe.com/reader/webservices/json/standalone/?platform_type=Macintosh&platform_dist=OSX&platform_arch=x86-32&language=Dutchh&eventname=readerotherversions" | grep -Eo '"Version":.*?[^\]",' | head -n 1 | cut -d " -f 4 )
curlFlag="-L"
CFVers="CFBundleVersion"
## Start Functions
function ScriptLogging () {
echo "[$SCRIPT] [$(date +"%Y-%m-%d %T")] " "$1"
}
function getCurrVers () {
## Description: This function is called to get current version and download URL
echo "[Stage ${StepNum}]: Determining current version of ${properName}..."
currVers="${evalFunc}"
if [[ ! -z "${currVers}" ]]; then
echo "DEBUG: current version of ${properName} found was: $currVers"
## If we pulled back a current version, get the download location
download_url="${URL}"
## Check the URL to make sure its valid
curl -sfI "$download_url" 2>&1 > /dev/null
last_exit=$?
if [[ "$last_exit" == "0" ]]; then
## Get Installed version
getinstVersion
else
echo "There was a problem getting the download information."
dlError
fi
else
## Else on error, run the getVersErr function
getVersErr
fi
}
function getinstVersion () {
## Description: This function is called to get the installed application/plug-in version on disk.
let StepNum=$StepNum+1
echo "[Stage ${StepNum}]: Determining installed version of ${properName}..."
if [[ -e "${appPath}" ]]; then
instVers=$( defaults read "${appPath}/Contents/Info.plist" ${CFVers} 2>/dev/null)
if [[ ! -z "$instVers" ]]; then
echo " Found version ${instVers} for ${properName}"
compareVers
fi
else
instVers="0"
notInstalled
fi
}
function compareVers () {
let StepNum=$StepNum+1
echo "[Stage ${StepNum}]: Determining newer version of ${properName}..."
## Print back the actual version strings and the integer comparison strings
echo " Current version of ${properName}: ${currVers}"
echo " Installed version of ${properName}: ${instVers}"
## Build 2 new arrays from captured current and installed versions
IFS=. CURRVERS=(${currVers##})
IFS=. INSTVERS=(${instVers##})
## See if they contain the same number of indices
if [[ "${#CURRVERS[@]}" == "${#INSTVERS[@]}" ]]; then
## Set a default state condition
state="SAME"
## Loop over each index in each array and compare the numbers
for ((i=0;i<${#CURRVERS[@]};i++)); do
if [[ $((10#${CURRVERS[$i]})) -gt $((10#${INSTVERS[$i]})) ]]; then
state="NEW"
break
elif [[ $((10#${CURRVERS[$i]})) -lt $((10#${INSTVERS[$i]})) ]]; then
state="OLDER"
break
else
continue
fi
done
else
## If the numbers of indices do not match, run an alternate version comparison algorithm
echo "Not the same number of indices. Using alternate version comparison..."
## Strip the version strings down to pure numbers
instVers_Int=$( echo "${instVers}" | tr -cd [:digit:] )
currVers_Int=$( echo "${currVers}" | tr -cd [:digit:] )
## Determine which integer string is the longest and assign its character length as a length variable
## Modify the shorter integer string to match the length of the longer integer by adding 0's and cut to the same length
if [ "${#instVers_Int}" -gt "${#currVers_Int}" ]; then
length="${#instVers_Int}"
currVers_N=$( printf "%s%0${length}d
" $(echo "${currVers_Int}") | cut -c -${length} )
instVers_N="${instVers_Int}"
elif [ "${#currVers_Int}" -gt "${#instVers_Int}" ]; then
length="${#currVers_Int}"
instVers_N=$( printf "%s%0${length}d
" $(echo "${instVers_Int}") | cut -c -${length} )
currVers_N="${currVers_Int}"
elif [ "${#instVers_Int}" -eq "${#currVers_Int}" ]; then
instVers_N="${instVers_Int}"
currVers_N="${currVers_Int}"
fi
## Determine the proper state to set the version comparison to
if [ "${currVers_N}" -gt "${instVers_N}" ]; then
state="NEW"
fi
if [ "${currVers_N}" -eq "${instVers_N}" ]; then
state="SAME"
fi
if [ "${currVers_N}" -lt "${instVers_N}" ]; then
state="OLDER"
fi
fi
unset IFS
## Upon exit, we should have a 'state' set we can take the appropriate action on
if [ "$state" == "NEW" ]; then
echo "[Stage ${StepNum} Result]: Version ${currVers} is newer than the installed version, ${instVers}"
## Run the download latest function
echo "Downloading latest version"
dlLatest
elif [ "$state" == "SAME" ]; then
## Run the up to date function
upToDate
elif [ "$state" == "OLDER" ]; then
echo "[Stage ${StepNum} Result]: The installed version (${instVers}) is newer"
## Run the newerInstalled function
newerInstalled
fi
}
function dlLatest () {
## Description: This function is used to download the current, or latest version of the specified product.
## This function gets the download_url string passed to it and uses curl to pull down the update into
## the "/Library/Application Support/ITUpdater/Downloads/" directory
let StepNum=$StepNum+1
if [[ "$updateMode" == "" ]]; then
updateMode="update"
fi
curl -sf $curlFlag "${download_url}" -o "/Library/Application Support/ITUpdater/Downloads/${properName}_${currVers}.${fileType}"
if [[ -e "/Library/Application Support/ITUpdater/Downloads/${properName}_${currVers}.${fileType}" ]]; then
echo " Download of ${properName}_${currVers}.${fileType} was successful"
installPKGUpdate
else
echo " Download of ${properName}_${currVers}.${fileType} failed. Exiting..."
exit 1
fi
}
function installPKGUpdate ()
{
## Description: This function is called when the specified app is in a package install format and SelfService is not set.
## It first mounts the disk image, gets the volume name, then proceeds with the installation.
let StepNum=$StepNum+1
echo "[Stage ${StepNum}]: Silently mounting the ${properName} disk image..."
updateVolName=$( /usr/bin/hdiutil attach "/Library/Application Support/ITUpdater/Downloads/${properName}_${currVers}.${fileType}" -nobrowse -noverify -noautoopen 2>&1 | awk -F'[ ]' '//Volumes/{ print $NF }' )
if [[ "$?" == "0" ]]; then
## Get the package name in the mounted disk image
updatePKGName=$( ls "$updateVolName" | egrep ".pkg$|.mpkg$" | grep -i "${installerString}" )
if [[ ! -z "${updatePKGName}" ]]; then
echo " A package was located in the mounted volume. Getting package details..."
sleep 1
echo "Installing the ${properName} pkg update..."
## Install the pkg while reading output from installer
## Check for the successful upgrade line to set the installation status
installStatus=1
while read line; do
if [[ $( echo "$line" | egrep "The upgrade was successful|The install was successful" ) ]]; then
installStatus=0
fi
done < <(/usr/sbin/installer -pkg "${updateVolName}/${updatePKGName}" -tgt / -allowUntrusted -verboseR 2>&1)
## Pause 1 second to allow installation to finish out
sleep 1
## Unmount the volume (use -force flag in case of locked files)
hdiutil detach "${updateVolName}" -force
## Now check the installation results
if [[ "$installStatus" == "0" ]]; then
## Get the new version number
getNewVers
else
## If we didn't get a status 0 returned from the installation, exit with an error code
echo "Installation exited with an error code. Install failed..."
exit_status=1
cleanUpAction_Failure
fi
else
echo "Could not locate the package in the mounted volume. There was a problem."
exit_status=2
cleanUpAction_Failure
fi
else
echo "Mounting of the disk image failed. Exit"
exit_status=3
cleanUpAction_Failure
fi
}
function getNewVers () {
## Description: This function is called at the end of an installation to check the new version number
## to ensure it is what we expect. The function will call another function based on success or failure results.
let StepNum=$StepNum+1
## Get the new version number from disk to ensure it matches the expected current version
updatedVers=$( /usr/bin/defaults read "${appPath}/Contents/Info.plist" ${CFVers} )
if [[ "${multiInstallString}" == "firefox" ]]; then
currVers=$(echo "${currVers}" | tr -cd '[[:digit:]]._-')
fi
## If the assigned application has a versProcessor var assigned, run it to generate a modified version string
if [ ! -z "$versProcessor" ]; then
updatedVers=$( eval echo "$updatedVers" | $versProcessor )
fi
## Create 2 new arrays from captured current and updated versions
IFS=. CURRVERS=(${currVers##})
IFS=. UPDVERS=(${updatedVers##})
## See if they contain the same number of indices
if [[ "${#CURRVERS[@]}" == "${#UPDVERS[@]}" ]]; then
## Set a default poststate condition
poststate="SUCCESS"
## Loop over each index in each array and compare the numbers
for ((i=0;i<${#CURRVERS[@]};i++)); do
if [[ "${CURRVERS[i]}" -gt "${UPDVERS[i]}" ]]; then
poststate="FAILED"
break
elif [[ "${CURRVERS[i]}" -lt "${UPDVERS[i]}" ]]; then
poststate="SUCCESS"
break
else
continue
fi
done
else
## If the numbers of indices do not match, run an alternate version comparison algorithm
echo "Not the same number of indices. Using alternate version comparison..."
## Strip the version strings down to pure numbers
updatedVers_Int=$( echo "${updatedVers}" | tr -cd [:digit:] )
currVers_Int=$( echo "${currVers}" | tr -cd [:digit:] )
## Determine which integer string is the longest and assign its character length as a length variable
## Modify the shorter integer string to match the length of the longer integer by adding 0's and cut to the same length
if [ "${#updatedVers_Int}" -gt "${#currVers_Int}" ]; then
length="${#updatedVers_Int}"
currVers_N=$( printf "%s%0${length}d
" $(echo "${currVers_Int}") | cut -c -${length} )
updatedVers_N="${updatedVers_Int}"
elif [ "${#currVers_Int}" -gt "${#updatedVers_Int}" ]; then
length="${#currVers_Int}"
updatedVers_N=$( printf "%s%0${length}d
" $(echo "${updatedVers_Int}") | cut -c -${length} )
currVers_N="${currVers_Int}"
elif [ "${#updatedVers_Int}" -eq "${#currVers_Int}" ]; then
updatedVers_N="${updatedVers_Int}"
currVers_N="${currVers_Int}"
fi
## Determine the proper state to set the version comparison to
if [ "${currVers_N}" -gt "${updatedVers_N}" ]; then
echo "[Stage ${StepNum} Result]: Version ${currVers} is newer than the installed version, ${updatedVers}"
poststate="FAILED"
fi
if [ "${currVers_N}" -eq "${updatedVers_N}" ]; then
echo "[Stage ${StepNum} Result]: The installed version (${instVers}) is current"
poststate="SUCCESS"
fi
if [ "${currVers_N}" -lt "${updatedVers_N}" ]; then
echo "[Stage ${StepNum} Result]: The installed version (${instVers}) is newer"
poststate="SUCCESS"
fi
fi
unset IFS
if [ "$poststate" == "SUCCESS" ]; then
echo "[Stage ${StepNum}]: Confirmed the new version of ${properName} on disk is now ${updatedVers}..."
rm -f "/Library/Application Support/ITUpdater/Downloads/${properName}_${currVers}.${fileType}"
cleanUpAction_Success
fi
if [ "$poststate" == "FAILED" ]; then
echo "[Stage ${StepNum}]: New version was not updated to equal or greater than ${currVers}. Installation may have failed..."
rm -f "/Library/Application Support/ITUpdater/Downloads/${properName}_${currVers}.${fileType}"
cleanUpAction_Failure
fi
}
function cleanUpAction_Success () {
## Description: This function runs on a successful installation of the app or package.
if [ "$updateMode" == "update" ]; then
echo "[Final Result}]: ${properName} update installation was successful."
elif [ "$updateMode" == "new" ]; then
echo "[Final Result]: ${properName} installation was successful."
fi
rm -Rf /Library/Application Support/ITUpdater/Downloads/*
rm -f "/Library/Application Support/ITUpdater/NoQuit.xml" 2>/dev/null
}
function upToDate () {
## Description: This function is called when the application/plug-in is already up to the current version.
echo -e "[Final Result]: No new version of ${properName} is available for this Mac.
"
}
function newerInstalled () {
## Description: This function is called when the installed application appears newer than the current version.
echo -e "[Final Result]: The installed version of ${properName} (${instVers}) is already newer than the current release located ($currVers).
"
}
function notInstalled () {
## Description: This function is called when the target application or plug-in is not installed or not found on the client system
echo " ${properName} is not installed, or was not found on this system" ##Edited line
updateMode="new"
dlLatest
}
function dlError () {
## Description: This function is called when it was not possible to obtain the correct download location for the application or plug-in.
## It displays this to the end user in a dialog if SelfService mode is enabled.
echo "Could not determine download location for ${properName}"
exit 1
}
function getVersErr () {
## Description: This function is called if we aren't able to gather current version information on the app/plug-in.
## Since the cause of the error can be because the OS is incompatible, or (more rarely) because no active internet connection
## we attempt to check for an active internet connection first, and display appropriate messaging based on the results.
## Check to make sure we have an active internet connection first
curl --connect-timeout 4 --max-time 4 -sfI http://google.com 2>&1 > /dev/null
if [[ "$?" == "0" ]]; then
echo -e "We have internet access, but couldn't pull version information for ${properName}.
"
else
echo -e "Somehow there is no active internet connection on this Mac.
"
fi
exit 1
}
function cleanUpAction_Failure () {
## Description: This function runs on a failed installation of the app or package.
## Delete the downloaded disk image from /Library/Application Support/ITUpdater/Downloads/
echo "Deleting downloaded disk image..."
rm -f "/Library/Application Support/ITUpdater/Downloads/${properName}_${currVers}.${fileType}"
echo "Installation failure for ${properName} ${currVers}. Exiting..."
exit 1
}
## Start Script
## Create the necessary folder structure for downloads if not present
if [ ! -d "/Library/Application Support/ITUpdater/Downloads/" ]; then
mkdir -p "/Library/Application Support/ITUpdater/Downloads/"
chmod -R 775 "/Library/Application Support/ITUpdater"
fi
if [ ! -d "/Library/Application Support/ITUpdater/Reminders/" ]; then
mkdir -p "/Library/Application Support/ITUpdater/Reminders/"
fi
StepNum=1
getCurrVers
Posted on 10-30-2020 08:25 AM
Thanks @dennisnardi Works perfectly!!!!
Posted on 11-11-2020 04:27 PM
Get it here : https://www.jamf.com/jamf-nation/third-party-products/files/1058/acrobat-reader-dc-updater-nov-2020link text
Posted on 02-17-2021 08:50 AM
@dennisnardi Thanks! also did the trick for me
Posted on 03-05-2021 06:54 AM
Looks like it's not working again... Anyone know a fix???
Script result: Latest Version is: 21.001.20142
Adobe Reader DC is not installed
ARCurrVersNormalized: 2100120142
Latest version of the URL is: http://ardownload2.adobe.com/pub/adobe/reader/mac/AcrobatDC/2100120142/AcroRdrDC_2100120142_MUI.dmg
2021-03-05 06:39:00.248 defaults[2449:13574]
The domain/default pair of (/Applications/Adobe Acrobat Reader DC.app/Contents/Info, CFBundleShortVersionString) does not exist
Posted on 04-14-2021 07:33 AM
Is there an update for this? I've tried a few different scripts but nothing seems to be working as of a month or so ago now.
Latest one I tried was
dmgfile="reader.dmg"
logfile="/tmp/AdobeReaderDCUpdateScript.log"
if [ '/usr/bin/uname -p
'="i386" -o '/usr/bin/uname -p
'="x86_64" ]; then
## Get OS version and adjust for use with the URL string
OSvers_URL=$( sw_vers -productVersion | sed 's/[.]/_/g' )
## Set the User Agent string for use with curl userAgent="Mozilla/5.0 (Macintosh; Intel Mac OS X ${OSvers_URL}) AppleWebKit/535.6.2 (KHTML, like Gecko) Version/5.2 Safari/535.6.2"
# Get the latest version of Reader available from Adobe's About Reader page.
latestver=``
while [ -z "$latestver" ]
do
latestver=/usr/bin/curl -s -L -A "$userAgent" https://armmf.adobe.com/arm-manifests/mac/AcrobatDC/reader/current_version.txt
done
echo "Latest Version is: $latestver"
latestvernorm=echo ${latestver}
# Get the version number of the currently-installed Adobe Reader, if any.
if [ -e "/Applications/Adobe Acrobat Reader DC.app" ]; then
currentinstalledver=/usr/bin/defaults read /Applications/Adobe Acrobat Reader DC.app/Contents/Info CFBundleShortVersionString
echo "Current installed version is: $currentinstalledver"
if [ ${latestvernorm} = ${currentinstalledver} ]; then
echo "Adobe Reader DC is current. Exiting"
exit 0
fi
else
currentinstalledver="none"
echo "Adobe Reader DC is not installed"
fi
ARCurrVersNormalized=$( echo $latestver | sed -e 's/[.]//g' ) echo "ARCurrVersNormalized: $ARCurrVersNormalized" url="" url1="http://ardownload2.adobe.com/pub/adobe/reader/mac/AcrobatDC/${ARCurrVersNormalized}/AcroRdrDC_${ARCurrVersNormalized}_MUI.dmg" url2=""
#Build URL
url=echo "${url1}${url2}"
echo "Latest version of the URL is: $url"
# Compare the two versions, if they are different or Adobe Reader is not present then download and install the new version.
if [ "${currentinstalledver}" != "${latestvernorm}" ]; then
/bin/echo "date
: Current Reader DC version: ${currentinstalledver}" >> ${logfile}
/bin/echo "date
: Available Reader DC version: ${latestver} => ${latestvernorm}" >> ${logfile}
/bin/echo "date
: Downloading newer version." >> ${logfile}
/usr/bin/curl -s -o /tmp/reader.dmg ${url}
/bin/echo "date
: Mounting installer disk image." >> ${logfile}
/usr/bin/hdiutil attach /tmp/reader.dmg -nobrowse -quiet
/bin/echo "date
: Installing..." >> ${logfile}
/usr/sbin/installer -pkg /Volumes/AcroRdrDC_${ARCurrVersNormalized}MUI/AcroRdrDC${ARCurrVersNormalized}_MUI.pkg -target / > /dev/null
/bin/sleep 10
/bin/echo "date
: Unmounting installer disk image." >> ${logfile}
/usr/bin/hdiutil detach $(/bin/df | /usr/bin/grep Adobe Acrobat Reader DC Installer | awk '{print $1}') -quiet
/bin/sleep 10
/bin/echo "date
: Deleting disk image." >> ${logfile}
/bin/rm /tmp/${dmgfile}
#double check to see if the new version got updated
newlyinstalledver=/usr/bin/defaults read /Applications/Adobe Acrobat Reader DC.app/Contents/Info CFBundleShortVersionString
if [ "${latestvernorm}" = "${newlyinstalledver}" ]; then
/bin/echo "date
: SUCCESS: Adobe Reader has been updated to version ${newlyinstalledver}" >> ${logfile}
# /Library/Application Support/JAMF/bin/jamfHelper.app/Contents/MacOS/jamfHelper -windowType hud -title "Adobe Reader Updated" -description "Adobe Reader has been updated." &
else
/bin/echo "date
: ERROR: Adobe Reader update unsuccessful, version remains at ${currentinstalledver}." >> ${logfile}
/bin/echo "--" >> ${logfile}
exit 1
fi
# If Adobe Reader is up to date already, just log it and exit.
else
/bin/echo "date
: Adobe Reader is already up to date, running ${currentinstalledver}." >> ${logfile}
/bin/echo "--" >> ${logfile}
fi
else
/bin/echo "date
: ERROR: This script is for Intel Macs only." >> ${logfile}
fi
exit 0
Posted on 04-14-2021 08:57 AM
Not sure about the scripts already posted here, but I have an AdobeAcrobatReader Install script that seems to still work fine. Feel free to use or compare.
Posted on 01-05-2022 10:02 AM
Your script worked for me too. Thank you.
Posted on 04-23-2021 01:40 AM
Posted on 04-23-2021 01:50 AM
I checked this again, it seems that when the script goes to check for what version is the latest, it will find 21.001.20149 (on https://armmf.adobe.com/arm-manifests/mac/AcrobatDC/acrobat/current_version.txt), however, the link to download it doesn't seem to work: https://ardownload2.adobe.com/pub/adobe/reader/mac/AcrobatDC/2100120149/AcroRdrDC_2100120149_MUI.dmg
If you go for version 21.001.20145 instead, it does work because the link is there: https://ardownload2.adobe.com/pub/adobe/reader/mac/AcrobatDC/2100120145/AcroRdrDC_2100120145_MUI.dmg
For now, I'm using another "universal installer" script and hardcoding the link above to make this work. If you go to manually install Acrobat DC it is the .20145 version that it downloads anyway.
Posted on 04-23-2021 08:57 AM
I figured out why the script is no longer working. Version 2100120149 is an update only. It's not a full install. Also the file name for it is AcroRdrDCUpd2100120149_MUI.dmg so the script can't find it. So I modified the script to see what happens, it will download the the 0149 version then fail out, it is because it's an update only, so it is looking for the version to update. Thanks Adobe for breaking this. Here is a link link text to where you can see the info about the 149 version.
Posted on 04-23-2021 09:18 AM
Here is a somewhat messier way to get the current version. This uses the version number from the actual download page instead of the current_version file.
curl -LSs "https://get.adobe.com/reader" | grep "id="buttonDownload1"" | awk -F '?installer=' '{print $NF}' | awk -F "Reader_DC" '{print $NF}' | awk -F "_" '{print $2}' | sed 's/.//g' | tail -c 11
Posted on 05-11-2021 07:56 AM
Has anyone got a working script?
Posted on 12-23-2021 12:48 PM
Found this by cwmcbrewster and it worked for me! But I'm also brand new to jamf ><; https://github.com/cwmcbrewster/Adobe/blob/2ef9ff18550bc512178e9ba96b996698969f00e0/Install_AdobeAcr...
Posted on 01-04-2022 01:30 PM
This worked flawlessly for us @kik0 and thank you for the share!
Posted on 04-14-2022 01:39 AM
This stopped working for us - again. Getting an error message:
Current version does not appear to match the 10 digit format expected
Got it functioning again with the previous way of getting the version number:
currentVersion=$(curl -LSs "https://armmf.adobe.com/arm-manifests/mac/AcrobatDC/acrobat/current_version.txt" | sed 's/\.//g')
I'm not quite familiar with scripting - just using what's at hand.
I felt obligated to create an account and share this with you, as you've helped me enormous ways previously with your multiple posts. Keep up the good work!
Posted on 05-31-2022 03:15 PM
The script installed adobe on one of our Mac's, but the other one, it got the error "Current version does not appear to match the 10 digit format expected". The script has the above change in it. Should this also update the current version?
Posted on 05-31-2022 03:34 PM
Try the current version of the script.
https://github.com/cwmcbrewster/Adobe/blob/main/Install_AdobeAcrobatReaderDC.sh
06-03-2022 12:28 PM - edited 06-14-2022 09:22 AM
.
Posted on 05-31-2022 03:46 PM
That's the one I'm testing out. It worked on my device, but the other 2 I tested on came back with the 10 digit error. We're just in the process of getting Jamf all setup and trying to get the updates in order. I think the problem might be that the initial install failed and kept some residual files on those devices. When we first added adobe we used installomator to deploy, but that kept failing.
Posted on 10-18-2022 02:26 AM
I had an old script that was updating but failing so decided to use the script above as a test HERE
I was also getting the same issue, it was installing but not reporting back, and also my smart group was not reporting correctly.
Its down to Adobe have changed the app name from Adobe Acrobat Reader DC.app to Adobe Acrobat Reader.app
Once i changed my smart group and the script line from appName="Adobe Acrobat Reader DC.app" to appName="Adobe Acrobat Reader.app"
All is now working again.
Just thought i would post my findings.
Posted on 10-18-2022 11:18 AM
Fixed. Thanks.
Posted on 11-02-2022 08:07 AM
I've been testing the script and it's worked on a few devices, but on the majority I'm getting the below message. I did change the app name to remove DC.
Script result: Current version: 2200320258
Adobe Acrobat Reader.app not installed
Starting download
AdobeReader not currently running
Temp dir set to /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.K3CMGKL1
Download successful
Failed to mount DMG
Removed file
Posted on 11-02-2022 12:48 PM
Looks like our issue is when we run the policy on the network or the VPN. Off our network, the update goes through just fine.
Posted on 01-24-2023 11:57 AM
Please check out the Installomator https://github.com/Installomator/Installomator
04-03-2023 10:20 AM - edited 04-03-2023 10:46 AM
Great reccomendation
After analyzing the script Installomator uses. Gotta say, it's very clever. Essentially, it sequentially checks each download link from newest to oldest and grabs the newest link that returns 200 (i.e. it exists).
You may not install the newest version, but at least it will install a somewhat recent version that can be updated to the latest version.
Here is that section of code, for anyone interested:
versions=( $( curl -s https://www.adobe.com/devnet-docs/acrobatetk/tools/ReleaseNotesDC/index.html | grep -Eo "[0-9]+\.[0-9]+\.[0-9]+"| head -n 30) )
local version
for version in $versions; do
version="${version//.}"
local httpstatus=$(curl -X HEAD -s "https://ardownload2.adobe.com/pub/adobe/reader/mac/AcrobatDC/${version}/AcroRdrDC_${version}_MUI.dmg" --write-out "%{http_code}")
if [[ "${httpstatus}" == "200" ]]; then
downloadURL="https://ardownload2.adobe.com/pub/adobe/reader/mac/AcrobatDC/${version}/AcroRdrDC_${version}_MUI.dmg"
unset httpstatus
break
fi
done