I was in the process of performing some patch management for the Zoom client and found there are two different versions offered, one for Intel and one for Apple silicone. How do I create separate patch management policies for the two separate architectures? I can only select 1 package in patch management for the Zoom client.
Probably need to drop the https:// from the url, see below he responded to someone with that suggestion and a screenshot.
@timdambrosio - I would like to give this a try. I've setup the secondary patch source for Apple Silicon software.
I selected Adobe Creative Cloud in both.
It has ingested data from our fleet from both, looks identical as it should.
So now I would attach the Intel package to one, and the Apple Silicone package to the other.
I guess I'm just worried about things colliding? Our Creative Cloud desktop app policies are setup with smart group targets/exclusions so that intel will only show up if you have intel, apple silicone will only show up if you have apple silicone.
How will patch management know to install the silicone version on ARM computers and the intel version only on intel? Or will both run on all machines and the version is isn't compatible will just fail.
I might be overthinking this, but I was just worried about things colliding somehow.
Seems like a good suggestion, I just wanted to hear more before I actually try it.
Thanks.
You just need to add the appropriate exclusion group to each patch policy. So All Intel Macs excluded from the ARM patch polices and vice versa.
It also helps to name everything clearly with _ARM or _Intel or use hyphen if that's your thing. The patch polices themselves don't need that though otherwise it'll show up in self service and look **bleep**. Just the software titles.
You just need to add the appropriate exclusion group to each patch policy. So All Intel Macs excluded from the ARM patch polices and vice versa.
It also helps to name everything clearly with _ARM or _Intel or use hyphen if that's your thing. The patch polices themselves don't need that though otherwise it'll show up in self service and look **bleep**. Just the software titles.
Awesome, makes perfect sense. I just hadn't quite proceeded that far out of caution. Just did it as you said and it's working. This is sweet. Many thanks!
You can also create your own custom package that has both of them included and some code to detect M1 use this package, non M1 use this one.
That's what I did. Using this method for Webex Teams & Meetings until they come up with a universal package. Here's what my postinstall script looks like and the referenced payload structure. If anyone needs help borrowing this method let me know.
#!/bin/sh
## postinstall
pathToScript=$0
pathToPackage=$1
targetLocation=$2
targetVolume=$3
#Set the temp paths to run the package
dir="/private/var/tmp/webex"
dirarm64="/private/var/tmp/webex/arm64"
dirintel="/private/var/tmp/webex/intel"
#Store device architecture type
uname=$(uname -m)
#Check for ARM architecture
if [ $uname = "arm64" ]; then
#Install the ARM package
echo "ARM Mac detected, installing arm64 Webex package."
/usr/sbin/installer -pkg $dirarm64/Cisco_Webex_Meetings.pkg -target /
#Check for Intel architecture
elif [ $uname = "x86_64" ]; then
#Install the Intel package
echo "Intel Mac detected, installing x86_64 Webex package."
/usr/sbin/installer -pkg $dirintel/Cisco_Webex_Meetings.pkg -target /
else
#Architecure check failed
echo "Architecture did not match arm64 or x86_64, aborting install."
fi
#Cleanup tmp files
/bin/rm -rf $dir
That's what I did. Using this method for Webex Teams & Meetings until they come up with a universal package. Here's what my postinstall script looks like and the referenced payload structure. If anyone needs help borrowing this method let me know.
#!/bin/sh
## postinstall
pathToScript=$0
pathToPackage=$1
targetLocation=$2
targetVolume=$3
#Set the temp paths to run the package
dir="/private/var/tmp/webex"
dirarm64="/private/var/tmp/webex/arm64"
dirintel="/private/var/tmp/webex/intel"
#Store device architecture type
uname=$(uname -m)
#Check for ARM architecture
if [ $uname = "arm64" ]; then
#Install the ARM package
echo "ARM Mac detected, installing arm64 Webex package."
/usr/sbin/installer -pkg $dirarm64/Cisco_Webex_Meetings.pkg -target /
#Check for Intel architecture
elif [ $uname = "x86_64" ]; then
#Install the Intel package
echo "Intel Mac detected, installing x86_64 Webex package."
/usr/sbin/installer -pkg $dirintel/Cisco_Webex_Meetings.pkg -target /
else
#Architecure check failed
echo "Architecture did not match arm64 or x86_64, aborting install."
fi
#Cleanup tmp files
/bin/rm -rf $dir
The current Webex Meetings ‘Apple M1 chip’ download package is universal. Don’t know why they don’t label it as such. The package has seperate binaries for x64 and Arm inside with a script that does the detection.
https://www.webex.com/downloads.html
https://akamaicdn.webex.com/client/Cisco_Webex_Meetings.pkg
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.