Extensis Connect Fonts deployment

DavidN
Contributor

I have been working on deploying Connect Fonts and wanted to share my experience.

Extensis has tools for installing the plugins.

https://help.extensis.com/hc/en-us/articles/6290207443227

sudo "/Applications/Connect Fonts.app/Contents/Resources/plugin-installer" [ --install-all | --uninstall-all|--uninstall-obsolete]

And more info here.

https://help.extensis.com/hc/en-us/articles/5628781808027-Remotely-deploying-Connect-Fonts-Desktop-M...

 

The problem is even after running the plugin-installer command through Jamf, the users were still getting prompted to install the plugins. And since our users are not admins they are not able to install them. Further the users were greeted with a startup wizard part of which prompts them to install plugins.

 

Also Extensis suggests a method of packaging up their software in their knowledge base. This DOES NOT work since the app and the plugins within the app are quarantined from the DMG they provide.

 

Here's the script I came up with.

#!/bin/bash
# sudo xattr -cr "/Applications/Connect Fonts.app"
# Removes the quarantine flag recursively from the app.
sudo xattr -dr com.apple.quarantine "/Applications/Connect Fonts.app"

# unsinstalls obsolete plugins from UTC or other apps then installs current plugins
sudo "/Applications/Connect Fonts.app/Contents/Resources/plugin-installer" --uninstall-obsolete
sudo "/Applications/Connect Fonts.app/Contents/Resources/plugin-installer" --uninstall-all
sudo "/Applications/Connect Fonts.app/Contents/Resources/plugin-installer" --install-all

 

Next I needed to create a script that is triggered by a LaunchAgent in order to set the preferences of the ConnectFonts app for each user logging in.

#!/bin/bash
#xattr -dr com.apple.quarantine "/Applications/Connect Fonts.app"
"/Applications/Connect Fonts.app/Contents/Resources/plugin-installer" --uninstall-obsolete
"/Applications/Connect Fonts.app/Contents/Resources/plugin-installer" --install-all
defaults write com.extensis.SuitcaseFusion SUEnableAutomaticChecks 0
defaults write com.extensis.SuitcaseFusion DocumentTrackingEnabled 0
# defaults write com.extensis.SuitcaseFusion suppressProductivityTips 1
# defaults write com.extensis.SuitcaseFusion google-web-fonts.enabled 0
defaults write com.extensis.SuitcaseFusion showFirstLaunchWizard 0

 

 

8 REPLIES 8

DavidN
Contributor

(Note that I have some lines commented out that I didn't need. Your deployment may be different.)

rM2
New Contributor

Thanks for this, we do something similar but probably much less effectively.

Are your preference settings now bypassing the wizard completely? Eg. user opens app, signs in and thats all?

Would be great, we still guide users through the setup "next, next, next" 
*prompts for plugins to install*, *admin window appears*, cancel (because they are already installed via postinstall script), next, next

Pretty annoying experience for everyone involved

Agree, pretty annoying experience. I've passed feedback along to Extensis.

And yes, this key will skip the setup wizard completely.

defaults write com.extensis.SuitcaseFusion showFirstLaunchWizard 0

clarbgb
New Contributor

Hi all, has anyone figured out a way for non-admin users to update/install plugins?  Our users are non-admin, and so can't sudo.  Running script as root will fail, because the command is looking to update config files in the logged in user's library.

rM2
New Contributor

I feel like dropping the below into a the postinstall script works to install plugins, it's what we've been doing.

"/Applications/Connect Fonts.app/Contents/Resources/plugin-installer" --install-all

with 2 considerations though:

- We make sure users have Adobe CC + the apps they use installed first (InDesign, AfterEffects etc)

- The first time launch assistant seems to still prompt that there are "new plugins to install" regardless, but we have users cancel this because they are already installed with the app.

But would test and confirm yourself to be sure

That seems to handle initial deployment (albeit not ideal), still working out best method to have the script available for the users to run on demand after the fact

Yes see above. I'm running the 2nd script as a LaunchAgent on login. And I can confirm that even though the plugins are installed, users are still prompted. This unfortunately also happens on ANY upgrade, even after running their install command. We are going to have to prompt users to hit "no". 

 

. :(  MicrosoftTeams-image.png

Here's my LaunchAgent which goes in /Library/LaunchAgents/com.company.connectfontsprefs.plist and calls the script.

 

<?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>Label</key>
<string>com.company.connectfontsprefs.plist</string>
<key>Program</key>
<string>/Library/Scripts/SetConnectFontsPrefs.sh</string>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>

 

LOTO
New Contributor II

I have fought to get this working. I managed to get all dialogs to disappear except for the tooltips, which still appear for some users. The proper syntax seems to be the following:

#!/bin/zsh


# Rename the application in case it's still called Suitcase Fusion
mv "/Applications/Suitcase Fusion.app" "/Applications/Connect Fonts.app"


# Unquarantine the application from GateKeeper
xattr -dr com.apple.quarantine "/Applications/Connect Fonts.app"


# Uninstall obsolete plugins and install new plugins
"/Applications/Connect Fonts.app/Contents/Resources/plugin-installer" --uninstall-obsolete


"/Applications/Connect Fonts.app/Contents/Resources/plugin-installer" --install-all


# Suppress messages and updates
defaults write com.extensis.SuitcaseFusion SUEnableAutomaticChecks -bool NO


defaults write com.extensis.SuitcaseFusion SUAutomaticallyUpdate -bool NO


defaults write com.extensis.SuitcaseFusion SUHasLaunchedBefore -bool YES


defaults write com.extensis.SuitcaseFusion suppressProductivityTips -bool YES


defaults write com.extensis.SuitcaseFusion showFirstLaunchWizard -bool NO


defaults write com.extensis.SuitcaseFusion PluginLastVersionChecked -string "25.0.1.11288"


defaults write com.extensis.SuitcaseFusion SavedEULAHash -string "Tk0iQiltNlNrRLLLErzbb3kAiwTRey5EXj/+ZfLLJiY="