Deploy Slack on macOS Ventura via curl script

alex_at_work
New Contributor II

I am attempting to deploy Slack to our macOS Ventura devices via a curl script. When a user launches the app for the first time, they get a pop-up that says '"Slack" is damaged and can't be opened. you should move it to the Trash. '

Screenshot 2023-03-16 at 1.16.59 PM.png

This is only occurring in Ventura. If I download the software manually through the same URL I am calling in the curl script and install it normally, it works fine. Is there something new I have to do to get past the gatekeeper in macOS Ventura? This worked in Monterey.

 

The script in question:

#!/bin/bash

# this is the full URL
url="https://slack.com/ssb/download-osx-universal"

# change directory to /private/tmp to make this the working directory
cd /private/tmp/

# download the installer
/usr/bin/curl -L $url -o slack-desktop-latest.dmg

# mount the dmg
hdiutil attach slack-desktop-latest.dmg -nobrowse

# check if ~/Applications exists and create it if not
DIRECTORY=~/Applications
if [ -d "$DIRECTORY" ]; then
  echo "$DIRECTORY exists"
elif [ ! -d "$DIRECTORY" ]; then
  echo "$DIRECTORY does not exist"
  mkdir $DIRECTORY
fi

# copy app to ~/Applications

cp -rf /Volumes/Slack/Slack.app ~/Applications/

# modify permissions for ~/Applications
chown $3: ~/Applications
chmod u+w ~/Applications

# unmount the dmg and remove the installer
hdiutil detach -force -quiet /Volumes/Slack
/bin/rm -f slack-desktop-latest.dmg

exit 0

 

9 REPLIES 9

scottb
Honored Contributor

Hi, wondering why you don't just use Slack from the App Store and have it update automatically?

IanMyers
New Contributor
New Contributor

Slack is also available as a Jamf App Catalog app with will keep it patched if you want to avoid the App Store. https://learn.jamf.com/bundle/jamf-pro-documentation-current/page/App_Installers.html

scottb
Honored Contributor

Yep, either way.  Some companies do not like using curl for things for security reasons.
I'd use one of the two ways above and be done with it!

shannon_pasto
New Contributor III

This is what I use

#!/bin/sh

/usr/bin/curl -sL "https://slack.com/ssb/download-osx-universal" -o /tmp/slack.dmg
TMPDIR=$(mktemp -d)
hdiutil attach /tmp/slack.dmg -noverify -quiet -nobrowse -mountpoint "${TMPDIR}"
ditto "${TMPDIR}"/Slack.app /Applications/Slack.app
xattr -r -d com.apple.quarantine /Applications/Slack.app
hdiutil eject "${TMPDIR}"
rm /tmp/slack.dmg

 

Thanks @shannon_pasto will give this a try

alex_at_work
New Contributor II

Thanks for the replies. We don't use the App Store deployment because of a conflict with a config profile payload. Since we have the "require admin password to install or update apps" payload configured, the slack helper app constantly pops up asking for an admin pw every time slack pushes an update and our users are not admins.  That's also why we install to the user's application folder (per slack's documentation here).

jcarr
Valued Contributor

Restrictions on the App Store should not preclude installing Mac App Store apps via the volume purchasing mechanism.  @scot was not suggesting installing Slack via the App Store on each individual machine.

AJPinto
Valued Contributor III

If we are not wanting to deal with the AppStore, why not just download the desktop app and make a package with it?

AtillaTheC
Contributor II

I use Installomator for most of our 3rd party app installs. Works like a charm.