-
Notifications
You must be signed in to change notification settings - Fork 0
/
Acrobat-DC-Update.sh
128 lines (110 loc) · 6.14 KB
/
Acrobat-DC-Update.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
#!/bin/bash -x
#####################################################################################################
#
# ABOUT THIS PROGRAM
#
# NAME
# AdobeAcrobatUpdate.sh -- Updates Adobe Acrobat Pro DC
#
# SYNOPSIS
# sudo AdobeAcrobatUpdate.sh
#
####################################################################################################
#
# HISTORY
#
# Version: 1.8
#
# - v.1.0 Joe Farage, 23.01.2015
# - v.1.1 Joe Farage, 08.04.2015 : support for new Adobe Acrobat DC
# - v.1.2 Deej, 10.11.2017: fork Reader script for Adobe Acrobat DC
# - v.1.3 amartin253, 10.15.2019: Modify Latest Version to be hardcoded until a new source path can be determined since Adobe
# seems to have abandoned support of the previous site.
# - v.1.4 Martyn Watts, 24.06.2021: removed the sed -e 's/20//' as this was breaking the 2021 downloads (Lines 47 & 63)
# - v.1.5 Martyn Watts, 05.07.2021: fixed the latest version lookup (Lines 41-43)
# - v.1.6 Martyn Watts, 28.09.2021: Added Open Console Parameter to use with TeamViewer
# - v.1.7 Martyn Wattsm 29.09.2021: Added scriptver variable and sending that to the logfile to create the initial entry
# - v.1.8 Martyn Watts, 03.12.2012 Changed the /tmp paths to /Library/Caches/com.purplecomputing.mdm/
#
####################################################################################################
# Script to download and install Adobe Acrobat Updates.
# Only works on Intel systems.
# Making Purple Cache directories for in the event that the helper script hasn't been run
mkdir -p /Library/Caches/com.purplecomputing.mdm/
mkdir -p /Library/Caches/com.purplecomputing.mdm/Logs/
mkdir -p /Library/Caches/com.purplecomputing.mdm/Apps/
dmgfile="acrobat.dmg"
logfile="/Library/Caches/com.purplecomputing.mdm/Apps/AdobeAcrobatDCUpdateScript.log"
scriptver="1.8"
echo "Script Version: ${scriptver}" >> ${logfile}
if [[ $@ == "openconsole" ]]; then
open ${logfile}
fi
# Are we running on Intel?
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 Update available from Adobe's Acrobat Support page.
# https://helpx.adobe.com/acrobat/release-note/release-notes-acrobat-reader.html
latestver=$(curl -s https://helpx.adobe.com/acrobat/release-note/release-notes-acrobat-reader.html | grep -m2 -A3 '>Focus' | grep '<a href' | cut -f3 -d">" | sed 's/.*(//' | cut -f1 -d ")")
echo "Latest Version is: $latestver"
# latestvernorm=`echo ${latestver} | sed -e 's/20//'`
latestvernorm=${latestver}
# Get the version number of the currently-installed Adobe Acrobat, if any.
if [ -e "/Applications/Adobe Acrobat DC/Adobe Acrobat.app" ]; then
currentinstalledver=`/usr/bin/defaults read /Applications/Adobe\ Acrobat\ DC/Adobe\ Acrobat.app/Contents/Info CFBundleShortVersionString`
echo "Current installed version is: $currentinstalledver"
if [ ${latestvernorm} = ${currentinstalledver} ]; then
echo "Adobe Acrobat DC is current. Exiting"
exit 0
fi
else
currentinstalledver="none"
echo "Adobe Acrobat DC is not installed"
fi
# ARCurrVersNormalized=$( echo $latestver | sed -e 's/[.]//g' -e 's/20//' )
ARCurrVersNormalized=$( echo $latestver | sed -e 's/[.]//g' )
echo "ARCurrVersNormalized: $ARCurrVersNormalized"
url=""
url1="http://ardownload.adobe.com/pub/adobe/acrobat/mac/AcrobatDC/${ARCurrVersNormalized}/AcrobatDCUpd${ARCurrVersNormalized}.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 Acrobat is not present then download and install the new version.
if [ "${currentinstalledver}" != "${latestvernorm}" ]; then
/bin/echo "`date`: Current Acrobat DC version: ${currentinstalledver}" >> ${logfile}
/bin/echo "`date`: Available Acrobat DC version: ${latestver} => ${latestvernorm}" >> ${logfile}
/bin/echo "`date`: Downloading newer version." >> ${logfile}
/usr/bin/curl -o /Library/Caches/com.purplecomputing.mdm/Apps/acrobat.dmg ${url}
/bin/echo "`date`: Mounting installer disk image." >> ${logfile}
/usr/bin/hdiutil attach /Library/Caches/com.purplecomputing.mdm/Apps/acrobat.dmg -nobrowse -quiet
/bin/echo "`date`: Installing..." >> ${logfile}
/usr/sbin/installer -pkg /Volumes/AcrobatDCUpd${ARCurrVersNormalized}/AcrobatDCUpd${ARCurrVersNormalized}.pkg -target /
/bin/sleep 10
/bin/echo "`date`: Unmounting installer disk image." >> ${logfile}
/usr/bin/hdiutil detach /Volumes/AcrobatDCUpd${ARCurrVersNormalized} -quiet
/bin/sleep 10
/bin/echo "`date`: Deleting disk image." >> ${logfile}
/bin/rm /Library/Caches/com.purplecomputing.mdm/Apps/${dmgfile}
#double check to see if the new version got updated
newlyinstalledver=`/usr/bin/defaults read /Applications/Adobe\ Acrobat\ DC/Adobe\ Acrobat.app/Contents/Info CFBundleShortVersionString`
if [ "${latestvernorm}" = "${newlyinstalledver}" ]; then
/bin/echo "`date`: SUCCESS: Adobe Acrobat has been updated to version ${newlyinstalledver}" >> ${logfile}
# /Library/Application\ Support/JAMF/bin/jamfHelper.app/Contents/MacOS/jamfHelper -windowType hud -title "Adobe Acrobat Updated" -description "Adobe Acrobat has been updated." &
else
/bin/echo "`date`: ERROR: Adobe Acrobat update unsuccessful, version remains at ${currentinstalledver}." >> ${logfile}
/bin/echo "--" >> ${logfile}
exit 1
fi
# If Adobe Acrobat is up to date already, just log it and exit.
else
/bin/echo "`date`: Adobe Acrobat 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