Deploy Zoom to M1 Mac's

j_allenbrand
Contributor

Hi,

It looks like Zoom just released a Zoom Update with a separate download for M1 Mac, Is there a way to download/install that version on M1 Macs and skip intel? If you try to install the M1 version on an intel machine you'll get the "crossed out Zoom icon" 8f06038e68124533b3b15e552d842500

8 REPLIES 8

mhasman
Valued Contributor

Seems like for some applications, double-packaging is required

j_allenbrand
Contributor

There are 2 different installers now, 1. Intel, 2. M1 (Apple Silicon)

sebastian_santo
New Contributor III

You can yous this script to deploy and update zoom I have tested it on all my M1

!/bin/sh

#########################################################################################

# ABOUT THIS PROGRAM

NAME

ZoomInstall.sh -- Installs or updates Zoom

SYNOPSIS

sudo ZoomInstall.sh

########################################################################################

###################################################################################################

Script to download and install Zoom.

Only works on Intel systems.

Set preferences

hdvideo="true"
ssodefault="true"

ssohost="xxx.zoom.us"

choose language (en-US, fr, de)

lang=""

CHECK TO SEE IF A VALUE WAS PASSED IN PARAMETER 1 AND, IF SO, ASSIGN TO "lang"

if [ "$4" != "" ] && [ "$lang" == "" ]; then lang=$4
else lang="en-US"
fi

pkgfile="ZoomInstallerIT.pkg"
plistfile="us.zoom.config.plist"
logfile="/Library/Logs/ZoomInstallScript.log"
processname="zoom.us"

killall "$processname" &> /dev/null
if [ $? -eq 0 ]; then echo "Killing $processname"
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 version of Reader available from Zoom page. latestver=$(/usr/bin/curl -s -A "$userAgent" https://zoom.us/download | grep 'ZoomInstallerIT.pkg' | awk -F'/' '{print $3}') echo "Latest Version is: $latestver"

# Get the version number of the currently-installed Zoom, if any. if [ -e "/Applications/zoom.us.app" ]; then currentinstalledver=$(/usr/bin/defaults read /Applications/zoom.us.app/Contents/Info CFBundleVersion) echo "Current installed version is: $currentinstalledver" if [ ${latestver} = ${currentinstalledver} ]; then echo "Zoom is current. Exiting" exit 0 fi else currentinstalledver="none" echo "Zoom is not installed" fi

url="https://zoom.us/client/${latestver}/ZoomInstallerIT.pkg"

echo "Latest version of the URL is: $url" echo "date: Download URL: $url" >> ${logfile}

# Compare the two versions, if they are different or Zoom is not present then download and install the new version. if [ "${currentinstalledver}" != "${latestver}" ]; then

# Construct the plist file for preferences echo "<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>google</key> <string>1</string> <key>nofacebook</key> <string>1</string> <key>ZDisableVideo</key> <true/> <key>ZAutoJoinVoip</key> <true/> <key>ZDualMonitorOff</key> <ZDisableVideo/> <true>" > /tmp/${plistfile}

if [ "${ssohost}" != "" ]; then echo " <key>ZAutoSSOLogin</key> <false/> <key>ZSSOHost</key> <string>$ssohost</string>" >> /tmp/${plistfile} fi

echo "<key>ZAutoFullScreenWhenViewShare</key> <true/> <key>ZAutoFitWhenViewShare</key> <true/>" >> /tmp/${plistfile}

if [ "${hdvideo}" == "true" ]; then echo "<key>ZUse720PByDefault</key> <true/>" >> /tmp/${plistfile} else echo "<key>ZUse720PByDefault</key> <false/>" >> /tmp/${plistfile} fi

echo "<key>ZRemoteControlAllApp</key> <true/> </dict> </plist>" >> /tmp/${plistfile}

# Download and install new version /bin/echo "date: Current Zoom version: ${currentinstalledver}" >> ${logfile} /bin/echo "date: Available Zoom version: ${latestver}" >> ${logfile} /bin/echo "date: Downloading newer version." >> ${logfile} /usr/bin/curl -sLo /tmp/${pkgfile} ${url} /bin/echo "date: Installing PKG..." >> ${logfile} /usr/sbin/installer -allowUntrusted -pkg /tmp/${pkgfile} -target /

/bin/sleep 20 /bin/echo "date: Deleting downloaded PKG." >> ${logfile} /bin/rm /tmp/${pkgfile}

#double check to see if the new version got updated newlyinstalledver=$(/usr/bin/defaults read /Applications/zoom.us.app/Contents/Info CFBundleVersion) echo "Version on Mac is ${newlyinstalledver}" if [ "${latestver}" = "${newlyinstalledver}" ]; then /bin/echo "date: SUCCESS: Zoom has been updated to version ${newlyinstalledver}" >> ${logfile} echo "Zoom updated successfully" # /Library/Application Support/JAMF/bin/jamfHelper.app/Contents/MacOS/jamfHelper -windowType hud -title "Zoom Installed" -description "Zoom has been updated." & else /bin/echo "date: ERROR: Zoom update unsuccessful, version remains at ${currentinstalledver}." >> ${logfile} /bin/echo "--" >> ${logfile} echo "Zoom not updated - Installation error" exit 1 fi

# If Zoom is up to date already, just log it and exit. else /bin/echo "date: Zoom 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

UESCDurandal
Contributor II

I found that the regular Zoom install package includes a Universal binary now, so you can use that on both platforms.

I’m really not sure why they’ve released a separate “M1 Only” package at all. I checked both and they seem to install the same app on Apple Silicon Macs.

fernando_gonzal
Contributor

Like @UESCDurandal stated just use the Zoom IT Installer (Universal package):
https://zoom.us/client/latest/ZoomInstallerIT.pkg

robertliebsch
Contributor

Using the ZoomInstallerIT.pkg in script still gets me the Rosetta 2 requirement as of 08January.
Script result: installer: This package requires Rosetta 2 to be installed. Please install Rosetta 2 and then try again. sudo softwareupdate --install-rosetta

installer: Error - Zoom can’t be installed on this computer.

cgarvey
New Contributor

Just confirming that the IT installer (ZoomInstallerIT.pkg) that Fernando mentioned above also works for me. The installed binary is a universal binary.

# file /Applications/zoom.us.app/Contents/MacOS/zoom.us
/Applications/zoom.us.app/Contents/MacOS/zoom.us: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64] [arm64:Mach-O 64-bit executable arm64]
/Applications/zoom.us.app/Contents/MacOS/zoom.us (for architecture x86_64): Mach-O 64-bit executable x86_64
/Applications/zoom.us.app/Contents/MacOS/zoom.us (for architecture arm64):  Mach-O 64-bit executable arm64

jaredjcu23
New Contributor

Just create two smart groups, once for Intel Macs w/o Zoom and one for M1 Macs w/o Zoom. Scope two different packages to two different sets of machines.