Skip to content
This repository has been archived by the owner on Feb 8, 2023. It is now read-only.

50 LaunchAgent and Manual Post Install Removal

daphatty edited this page Feb 27, 2018 · 1 revision

LaunchAgent

Note: The LaunchAgent is provided in the example Installer

SplashBuddy policy can be executed at any time after the Setup Assistant - User Creation step. It can also execute above the Setup Assistant, which is usually not wanted.

To make sure SplashBuddy executes while the user is logged in, we need to install a LaunchAgent.

It consists as a loop, running every 10 seconds that will:

  1. Check if SplashBuddy exists
  2. Check if User is not _mbsetupuser
  3. Check if User is on desktop (Finder process exists)
  4. Check if ~/Library/Containers/io.fti.SplashBuddy/Data/Library/.SplashBuddyDone doesn't exist

If not, the script will exit (and be re-executed 10 seconds later).

If yes, it will launch SplashBuddy. When SplashBuddy terminates, it will create the file ~/Library/Containers/io.fti.SplashBuddy/Data/Library/.SplashBuddyDone. This will stop the app from reopening every 10 seconds. You can also quit SplashBuddy with CMD+ALT+CTRL+Q.

Note: You are responsible for removing the LaunchAgent and all assets from the system (see below).

/Library/LaunchAgents/io.fti.SplashBuddy.launch.plist

io.fti.SplashBuddy.launch.plist

/Library/SplashBuddy/SplashBuddy.launch.sh

SplashBuddy.launch.sh

Jamf Policy to Remove SplashBuddy

As an example, you might want to run a policy which will remove all SplashBuddy components from the system:

  • Trigger when file ~/Library/Containers/io.fti.SplashBuddy/Data/Library/.SplashBuddyDone exists
  • Delete /Library/Application Support/SplashBuddy
  • Run Unix command launchctl disable io.fti.SplashBuddy.launch
  • Delete /Library/LaunchAgents/io.fti.SplashBuddy.launch.plist