AdobeAcrobatReaderDC (installAcrobatDC.zsh) failing to install from the CDN
`Mon Jan 27 08:20:58 EST 2025 | Creating [/Library/Logs/Microsoft/IntuneScripts/Adobe Acrobat Reader DC] to store logs
##############################################################
Mon Jan 27 08:20:58 EST 2025 | Logging install of [Adobe Acrobat Reader DC] to [/Library/Logs/Microsoft/IntuneScripts/Adobe Acrobat Reader DC/Adobe Acrobat Reader DC.log]
############################################################
Mon Jan 27 08:20:58 EST 2025 | Checking if we need Rosetta 2 or not Mon Jan 27 08:20:58 EST 2025 | Waiting for other [/usr/sbin/softwareupdate] processes to end Mon Jan 27 08:20:58 EST 2025 | No instances of [/usr/sbin/softwareupdate] found, safe to proceed Mon Jan 27 08:20:58 EST 2025 | Rosetta is already installed and running. Nothing to do. Mon Jan 27 08:20:58 EST 2025 | Checking if we need to install or update [Adobe Acrobat Reader DC] Mon Jan 27 08:20:58 EST 2025 | [Adobe Acrobat Reader DC] not installed, need to download and install Mon Jan 27 08:20:58 EST 2025 | Dock is here, lets carry on Mon Jan 27 08:20:58 EST 2025 | Starting downlading of [Adobe Acrobat Reader DC] Mon Jan 27 08:20:58 EST 2025 | Waiting for other [curl -f] processes to end Mon Jan 27 08:20:58 EST 2025 | No instances of [curl -f] found, safe to proceed Mon Jan 27 08:20:58 EST 2025 | Downloading Adobe Acrobat Reader DC [https://ardownload2.adobe.com/pub/adobe/reader/mac/AcrobatDC/2400520393/AcroRdrDC_2400520393_MUI.dmg] Mon Jan 27 08:20:59 EST 2025 | Failure to download [https://ardownload2.adobe.com/pub/adobe/reader/mac/AcrobatDC/2400520393/AcroRdrDC_2400520393_MUI.dmg] to [] ` Navigating to that url shows a 404
It looks like Adobe has change their naming conventions and bundleID. If I download Adobe Reader from their website, it looks like it installs Acrobat DC. In Intune it's showing the following included apps: com.adobe.Acrobat.Pro 24.005.20320 com.adobe.Acrobat.framework 24.005.20320 com.adobe.ICUUnicode 71.1.0 com.adobe.ICUConverter 71.1.0 com.adobe.FileInfo.framework Adobe XMP FileInfo 5 . 0 . 0 . 0 -ia 010 com.adobe.AdobeCrashReporter 16.6.0 com.adobe.CrashReporterClient 16.6.0 com.adobe.boost-system.framework 8.0.0 com.adobe.ACE 6.0.1 com.adobe.AcroSQLite AcroSQLite AcroDunamis.framework 1 com.Adobe.ProjectionEngine 1.0 com.adobe.AXE8SharedExpat 6.0.52225 com.adobe.AIDE 5.7.53286 com.adobe.ARE 4.0.0 com.adobe.PDFPort 4.0.0 com.adobe.piaglbreakfinder 1.0 com.adobe.boost-filesystem.framework 8.0.0 com.adobe.BIB 4.0.0 com.adobe.eulaframework 1.0 com.adobe.AGM 7.1.9 com.adobe.adobe_caps adobe_caps 9.0.0.28 com.adobe.framework.adobe3d 8.0 com.apple.carbonframeworktemplate Adobe2D version 8.0 atmo.mac.macho.3dif.bundle AdobeU3D version 0.0 atmo.mac.macho.zbuffer.bundle AdobeZBuffer version 0.0 atmo.mac.macho.prcr.bundle AdobeU3D version 0.0 atmo.mac.macho.tesselate.bundle AdobeTesselate version 0.0 atmo.mac.macho.gl.bundle AdobeOpenGL version 0.0 com.adobe.pip 8.8.0.7 com.adobe.PDFSettings AdobePDFSettings 2.04.0 org.cef.framework 105.3.44.0 com.adobe.AdobeXMPCore Adobe XMP Core 9.1 -c 1 com.adobe.JP2K 4.0.54782 com.adobe.headlights.LogSessionFramework 8.8.0.7 com.adobe.AXEXSLT 6.0.52225 com.adobe.amtlib 11.0.0.39 com.adobe.BIBUtils AdobeBIBUtils 4.0.0 com.adobe.boost-threads.framework 8.0.0 com.adobe.acrobat.acroamt 1.0 com.adobe.CoolType AdobeCoolType 9.1.0.55773 com.adobe.boost-regex.framework 8.0.0 com.adobe.ahclientframework 4.5.1 com.adobe.ICUData 71.1.0
No reference to "Reader" anywhere.
I have created a new script with and URL. Adobe completely changes their version\bundleID and Reader is no longer a separate applications.
Here is what I have working currently:
`#!/bin/zsh
LOG_FILE="/Library/Logs/Microsoft/IntuneScripts/installReader.log" DMG_URL="https://ardownload2.adobe.com/pub/adobe/acrobat/mac/AcrobatDC/2400520320/AcroRdrSCADC2400520320_MUI.dmg" DMG_PATH="/tmp/AcroRdrSCADC2400520320_MUI.dmg" appname="Adobe Acrobat"
Function to update the Swift Dialog status
function updateSplashScreen() { ################################################################################################################# ################################################################################################################# ## ## This function is designed to update the Splash Screen status (if required) ## ############################################################### ###############################################################
# Is Swift Dialog present
if [[ -a "/Library/Application Support/Dialog/Dialog.app/Contents/MacOS/Dialog" ]]; then
log_message "Updating Swift Dialog monitor for [Adobe Acrobat] to [$1]"
echo listitem: title: Adobe Acrobat, status: $1, statustext: $2 >> /var/tmp/dialog.log
# Supported status: wait, success, fail, error, pending, or progress:xx
fi
}
echo "$(date) | Starting installation of $appname" | tee -a "$LOG_FILE" updateSplashScreen wait Initializing
Kill lingering Acrobat mounts
echo "$(date) | Checking for existing mounts..." | tee -a "$LOG_FILE" MOUNTED_VOLUMES=$(hdiutil info | grep "/Volumes/AcroRdrSCADC" | awk '{print $3}') if [[ -n "$MOUNTED_VOLUMES" ]]; then echo "$(date) | Found existing mounts. Unmounting..." | tee -a "$LOG_FILE" for volume in ${(f)MOUNTED_VOLUMES}; do hdiutil detach "$volume" -force -quiet sleep 2 done fi
Ensure old DMG is removed before downloading
if [[ -f "$DMG_PATH" ]]; then echo "$(date) | Removing old DMG from /tmp..." | tee -a "$LOG_FILE" rm -f "$DMG_PATH" sleep 1 fi
Download Adobe Acrobat Reader DC
echo "$(date) | Downloading $appname from $DMG_URL" | tee -a "$LOG_FILE" updateSplashScreen wait Downloading curl -L -o "$DMG_PATH" "$DMG_URL"
Verify the DMG exists
if [[ ! -f "$DMG_PATH" ]]; then echo "$(date) | ERROR: DMG download failed!" | tee -a "$LOG_FILE" updateSplashScreen fail Failed exit 1 fi
Mount the DMG
echo "$(date) | Mounting DMG..." | tee -a "$LOG_FILE" updateSplashScreen wait Mounting MOUNT_OUTPUT=$(hdiutil attach "$DMG_PATH" -nobrowse -quiet 2>&1)
Extract mount point dynamically
MOUNT_POINT=$(echo "$MOUNT_OUTPUT" | grep "/Volumes/AcroRdrSCADC" | awk '{$1=$2=""; print $0}' | sed 's/^[ \t]*//')
Retry mount detection if needed
if [[ -z "$MOUNT_POINT" ]]; then sleep 2 MOUNT_POINT=$(hdiutil info | grep "/Volumes/AcroRdrSCADC" | awk '{$1=$2=""; print $0}' | sed 's/^[ \t]*//') fi
if [[ -z "$MOUNT_POINT" ]]; then echo "$(date) | ERROR: Could not determine mount point!" | tee -a "$LOG_FILE" updateSplashScreen fail Failed exit 1 fi
echo "$(date) | DMG mounted at $MOUNT_POINT" | tee -a "$LOG_FILE"
Find the PKG inside the mounted DMG
PKG_PATH=$(find "$MOUNT_POINT" -name "*.pkg" -type f | head -n 1)
if [[ -z "$PKG_PATH" ]]; then echo "$(date) | ERROR: No PKG found inside DMG!" | tee -a "$LOG_FILE" updateSplashScreen fail Failed hdiutil detach "$MOUNT_POINT" -force exit 1 fi
echo "$(date) | Found package: $PKG_PATH. Beginning installation..." | tee -a "$LOG_FILE" updateSplashScreen wait Installing
Install the PKG
installer -pkg "$PKG_PATH" -target / -verboseR | tee -a "$LOG_FILE"
Check if installation was successful
if [[ $? -ne 0 ]]; then echo "$(date) | ERROR: Installation failed!" | tee -a "$LOG_FILE" updateSplashScreen fail Failed hdiutil detach "$MOUNT_POINT" -force exit 1 fi
echo "$(date) | Installation completed successfully!" | tee -a "$LOG_FILE" updateSplashScreen success Installed
Unmount and clean up
echo "$(date) | Unmounting DMG..." | tee -a "$LOG_FILE" hdiutil detach "$MOUNT_POINT" -force -quiet rm -f "$DMG_PATH"
echo "$(date) | Cleanup complete. Exiting." | tee -a "$LOG_FILE" exit 0 `
one workaround could be to pull the data from brew's api https://formulae.brew.sh/api/cask/adobe-acrobat-reader.json
the 'url' field on that response will be the dmg download url