Skip to main content

As you might know, zoom works perfectly when doing media sharing while you have a web conference.
Her now my issue:



When I try screen sharing and select "Share computer sound" (on the picture, lower left corner), it will ask the very first when doing this for admin credentials. Do you know how can grant the app the respective permissions in order to have working right away without asking for admin rights?



Thanks for your support.
Thomas



@jonw thanks for the update. Off the back of your comment, I have also tested the enterprise installation package and now seeing it's no-longer prompting for admin credentials when sharing audio for the first time after install/update.



Great to see the installer does the work for us!


Greetings,



I am using the script below with the standard zoom installers.



On zoom Version 5.6.4 (765) standard and M1



and it is working for my fleet.
Staff sign into the app with their company Google account.



#!/bin/bash

### Zoom audio device driver repair
### 2021.01.15 JW - update Buck Crockett 05/15/2021 added cleaned up the function from jfilice_at_csumb

### There is a packaging or broken script issue in recent Zoom installer(s?)
### where /Library/Audio/Plug-Ins/HAL/ZoomAudioDevice.driver is either broken or failing to install.
### Either way, users are being prompted for admin pass to install the audio driver when attempting to share desktop or videos 'with sound'
### This should hopefully resolve, though resetting coreaudio sometimes seems hit or miss, take with a grain of salt.

### more details found here (see dates 2021.01.11)
### https://www.jamf.com/jamf-nation/discussions/27069/zoom-app-asks-for-admin-credentials-when-trying-to-share-computer-audio


### if this is part of a re-install, let's give installer a few extra seconds to finish up
sleep 10


### concept below pulled from factory ZoomInstallerIT.pgk post-install script:
### However an issue I see is coreaudiod was not reliably being reset,
### I reworked Zoom's method for grabbing PID and it seems to work much better now! -JW
### Note an easy clue as to whether this is working or not is to have open /Applications/Utilities/Audio MIDI Setup...
### ...if the ZoomAudioDevice loads we're golden... otherwise back to the drawing board.

function kill_coreaudiod()
{
# Set variable to all PIDs of /usr/sbin/coreaudiod
# --invert-match to remove PID for the grep command itself
coreaudiod_pid=$( ps -ax -o pid -o command | grep "/usr/sbin/coreaudiod" | grep --invert-match grep | awk '{print $1}' )

for each_pid in $coreaudiod_pid
do
if [[ $each_pid -gt 0 ]]
then
kill -9 $each_pid
fi
done
}
AudioPluginPath=/Library/Audio/Plug-Ins/HAL
audioPluginfile=/Applications/zoom.us.app/Contents/Plugins/ZoomAudioDevice.driver

st=$(kextstat -b zoom.us.ZoomAudioDevice | grep zoom.us.ZoomAudioDevice 2>&1)

if [[ $st = *zoom.us.ZoomAudioDevice* ]] ; then
echo "audio device is loaded, skipping"
exit 1
else
#(re)install audio driver
if [[ -d "$AudioPluginPath/ZoomAudioDevice.driver" ]]; then
rm -rf "$AudioPluginPath/ZoomAudioDevice.driver"
fi

cp -rf "$audioPluginfile" "$AudioPluginPath"

### reset coreaudiod ...see function & notes on Audio MIDI setup
kill_coreaudiod
sleep 5
fi

@jonw thanks for the update. Off the back of your comment, I have also tested the enterprise installation package and now seeing it's no-longer prompting for admin credentials when sharing audio for the first time after install/update.



Great to see the installer does the work for us!



@petestanley I took over apple / jamf duties very recently. Yesterday I started getting tickets for this same issue.  Can you walk me thru how this was resolved? It's happing in Big Sur, Catalina. Zoom.us 5.9.3 (4239) is the version installed.

Thank you!


@petestanley I took over apple / jamf duties very recently. Yesterday I started getting tickets for this same issue.  Can you walk me thru how this was resolved? It's happing in Big Sur, Catalina. Zoom.us 5.9.3 (4239) is the version installed.

Thank you!


The short answer is you need to install the ZoomAudioDevice.driver  (zoom.us.app/Contents/Plugins/ZoomAudioDevice.driver) into /Library/Audio/Plug-Ins/HAL/. Then restart /usr/sbin/coreaudiod. 

I accomplished this by building a custom PKG: Extracted the ZoomAudioDevice.driver from ZoomInstallerIT.pkg  and post install script based on jonw to kill/restart coreaudiod. 

 


The short answer is you need to install the ZoomAudioDevice.driver  (zoom.us.app/Contents/Plugins/ZoomAudioDevice.driver) into /Library/Audio/Plug-Ins/HAL/. Then restart /usr/sbin/coreaudiod. 

I accomplished this by building a custom PKG: Extracted the ZoomAudioDevice.driver from ZoomInstallerIT.pkg  and post install script based on jonw to kill/restart coreaudiod. 

 


If you haven't tried it, I highly recommend Suspicious Package for inspecting packages and extracting components.


If you haven't tried it, I highly recommend Suspicious Package for inspecting packages and extracting components.


 @JasonAtCSUMB @JM14_2 
What Jason said.  Suspicious Package is the best!  Thought to be honest, I've not bundled my own script lately as Zoom eventually fixed the issue and I've had no complaints... either that or my previously deployed copies of /Library/Audio/Plug-Ins/HAL/ZoomAudioDevice.driver are simply holding down the fort?  I'd have to do some blank slate testing to find out if they broke their post-install script again.  One other minor tidbit is I always deploy the ZoomInstallerIT.pkg (not the one from the big DOWNLOAD button on their site).  Good luck!  


 @JasonAtCSUMB @JM14_2 
What Jason said.  Suspicious Package is the best!  Thought to be honest, I've not bundled my own script lately as Zoom eventually fixed the issue and I've had no complaints... either that or my previously deployed copies of /Library/Audio/Plug-Ins/HAL/ZoomAudioDevice.driver are simply holding down the fort?  I'd have to do some blank slate testing to find out if they broke their post-install script again.  One other minor tidbit is I always deploy the ZoomInstallerIT.pkg (not the one from the big DOWNLOAD button on their site).  Good luck!  


Good morning gentleman, 

I'm still unable to install 

zoom.us.app/Contents/Plugins/ZoomAudioDevice.driver) into /Library/Audio/Plug-Ins/HAL/. 

 

Any thoughts? Am I missing something? 

 

Thank you!

 


Good morning gentleman, 

I'm still unable to install 

zoom.us.app/Contents/Plugins/ZoomAudioDevice.driver) into /Library/Audio/Plug-Ins/HAL/. 

 

Any thoughts? Am I missing something? 

 

Thank you!

 


@JM14_2 What did you try?  As Jason mentioned above, all it boils down to is that the driver gets into /Library/Audio/Plug-Ins/HAL by whatever means necessary & that coreaudiod is restarted in order to load the driver.  

I just tested a hand install of the latest ZoomInstallerIT.pkg 5.9.3 (4239) and it does indeed install the driver, so no workarounds should be necessary.  I tested my script as well (again I'm no longer using it) and it's still functioning in Big Sur.  Are you positive you're downloading the 'ZoomInstallerIT.pkg' not 'Zoom.pkg' ?


@JM14_2 What did you try?  As Jason mentioned above, all it boils down to is that the driver gets into /Library/Audio/Plug-Ins/HAL by whatever means necessary & that coreaudiod is restarted in order to load the driver.  

I just tested a hand install of the latest ZoomInstallerIT.pkg 5.9.3 (4239) and it does indeed install the driver, so no workarounds should be necessary.  I tested my script as well (again I'm no longer using it) and it's still functioning in Big Sur.  Are you positive you're downloading the 'ZoomInstallerIT.pkg' not 'Zoom.pkg' ?


@jonw Yes I have pushed out the driver from Jamf following normal process 1st. I then pushed out the script. Nothing happened. I then after 45 min or so I pushed out the ZoomInstalledIT.pkg thinking done deal it should work. Still nothing. I'm thinking the device should be removed from the "scope" or flushed out of a cache, something similar to how you would remove a device from SCCM in order to get an install to work after a failed attempt. 


@jonw Yes I have pushed out the driver from Jamf following normal process 1st. I then pushed out the script. Nothing happened. I then after 45 min or so I pushed out the ZoomInstalledIT.pkg thinking done deal it should work. Still nothing. I'm thinking the device should be removed from the "scope" or flushed out of a cache, something similar to how you would remove a device from SCCM in order to get an install to work after a failed attempt. 


@JM14_2 I'm sorry I can't help with your Jamf config & deployment issues, but what I can definitively say is the current ZoomInstallerIT.pkg 5.9.3 (4239) is working as intended at the moment.  No script and no extracted driver workaround or any other monkey business required.  Hang in there, you'll work it out I'm sure!  Just use this installer (see pic) found here: https://zoom.us/download


Pretty old thread, but we ran into this issue in our organization recently and I wrote the script below to resolve the issue. Work perfectly when ran after Zoom installs. Pretty short and sweet. Hope this helps. 


#!/bin/sh


# Defines the path to the Zoom Audio Driver directory
DRIVER_PATH="/Library/Audio/Plug-Ins/HAL/ZoomAudioDevice.driver"


# Checks if the Zoom Audio Driver already exists in the correct directory
if [ -d "$DRIVER_PATH" ]; then
echo "Driver is already in the correct directory."
exit 0 # Exits the script if the driver already exists in the correct directory
else
echo "Driver not found. Copying Driver..."
# Copies the Zoom Audio Driver to the HAL Directory
sudo cp -R /Applications/zoom.us.app/Contents/PlugIns/ZoomAudioDevice.driver /Library/Audio/Plug-Ins/HAL/
echo "Driver copied successfully."


# Kills coreaudiod to restart audio services and apply the new driver
sudo killall coreaudiod
echo "Audio services restarted (coreaudiod killed)."
fi


 


 


Pretty old thread, but we ran into this issue in our organization recently and I wrote the script below to resolve the issue. Work perfectly when ran after Zoom installs. Pretty short and sweet. Hope this helps. 


#!/bin/sh


# Defines the path to the Zoom Audio Driver directory
DRIVER_PATH="/Library/Audio/Plug-Ins/HAL/ZoomAudioDevice.driver"


# Checks if the Zoom Audio Driver already exists in the correct directory
if [ -d "$DRIVER_PATH" ]; then
echo "Driver is already in the correct directory."
exit 0 # Exits the script if the driver already exists in the correct directory
else
echo "Driver not found. Copying Driver..."
# Copies the Zoom Audio Driver to the HAL Directory
sudo cp -R /Applications/zoom.us.app/Contents/PlugIns/ZoomAudioDevice.driver /Library/Audio/Plug-Ins/HAL/
echo "Driver copied successfully."


# Kills coreaudiod to restart audio services and apply the new driver
sudo killall coreaudiod
echo "Audio services restarted (coreaudiod killed)."
fi


 


 


mysticmac, what you really want to do is install the enterprise installer from https://zoom.us/client/latest/ZoomInstallerIT.pkg


This installer package includes a postinstall script that will install the zoom.us.ZoomAudioDevice driver.


mysticmac, what you really want to do is install the enterprise installer from https://zoom.us/client/latest/ZoomInstallerIT.pkg


This installer package includes a postinstall script that will install the zoom.us.ZoomAudioDevice driver.


This is the script snippet from the current installer pkg. I know this snippet has other function and variable dependencies, but you can see it is doing something similar. 


#################################
# use audio device plugin
AudioPluginPath=/Library/Audio/Plug-Ins/HAL
audioPluginfile="$ZOOM_PATH"/Contents/PlugIns/ZoomAudioDevice.driver
installedAudioPlistPath="$AudioPluginPath"/ZoomAudioDevice.driver/Contents/Info.plist
appAudioPlistPath="$audioPluginfile"/Contents/Info.plist
installedAudioVersion=$(defaults read "$installedAudioPlistPath" CFBundleVersion)
appAudioVersion=$(defaults read "$appAudioPlistPath" CFBundleVersion)

function versionLessThan() { test "$(echo "$@" | tr " " "\\n" | sort -rV | head -n 1)" != "$1"; }

function installAudioDeviceDriver()
{
echo "----------- installAudioDeviceDriver start ------------" >> $LOG_PATH
if [[ -d "$AudioPluginPath/ZoomAudioDevice.driver" ]]; then
rm -rf "$AudioPluginPath/ZoomAudioDevice.driver"
fi

if [[ ! -d "$AudioPluginPath" ]]; then
mkdir -p "$AudioPluginPath"
fi

verify_codesign "$audioPluginfile"
verifyAudioResult=$?

if [[ $verifyAudioResult != 0 ]]; then
echo "verify audioDevice.driver codesign fail">>$LOG_PATH
exit 1
fi

cp -rf "$audioPluginfile" "$AudioPluginPath"

if [[ ! -d "$AudioPluginPath/ZoomAudioDevice.driver" ]]; then
echo "error! install audio driver failed">>$LOG_PATH
fi

kill_coreaudiod
echo "----------- installAudioDeviceDriver end ------------" >> $LOG_PATH
}

echo "Install audio device drive">>$LOG_PATH
# unload device kernel if loaded
st=$(kextstat -b zoom.us.ZoomAudioDevice | grep zoom.us.ZoomAudioDevice 2>&1)
if [[ $st = *zoom.us.ZoomAudioDevice* ]] ; then
echo "audio device is loaded: ($st) skip driver">>$LOG_PATH
else
#install audio driver
echo "installedAudioPlistPath=$installedAudioPlistPath, appAudioPlistPath=$appAudioPlistPath">>$LOG_PATH
echo "installedAudioVersion=$installedAudioVersion, appAudioVersion=$appAudioVersion">>$LOG_PATH

if [[ ! -d "$AudioPluginPath/ZoomAudioDevice.driver" ]]; then
echo "current not install ZoomAudioDevice, need install">>$LOG_PATH
installAudioDeviceDriver
else
# if versionLessThan "$installedAudioVersion" "$appAudioVersion"; then
if [[ "$installedAudioVersion" != "$appAudioVersion" ]]; then
echo "the version not match, need install ZoomAudioDevice.driver">>$LOG_PATH
installAudioDeviceDriver
else
echo "not need install ZoomAudioDevice.driver">>$LOG_PATH
fi
fi
fi

 


Reply