Posted on 06-07-2012 01:42 PM
Can a self-service app installation be programmed with dependencies? My real-world example is that I just packaged both Adobe Flash Player (yes, I know, yuck) and Adobe Air. It turns out the latter is a plugin to the former. So I don't want users to be able to install Adobe Air unless they have Adobe Flash. But I also don't want to merge them into one package, since Adobe keeps releasing new Flash players every other week.
Posted on 06-07-2012 01:47 PM
Can you use Smart Computer Groups for this? In other words, only scope the Adobe Air SS policy to machines that already have Flash installed, as well as any other criteria that they need to fall into for them to see the policy.
Posted on 06-07-2012 09:40 PM
A smart group would be best. Members of the groups would only qualify if Flash was installed. That way Air would'd be visible to users who didn't have flash.
You could also create a run script in the Adobe Air pkg that scans for the presence of flash. If it's not detected, the script executes `jamf policy -trigger "installFlash"`. This calls the policy with custom trigger "installFlash" which you'd make to install flash. Error checking in the script would ensure flash is installed before Air is deployed.
something like:
#!/bin/bash
if ! [ -e "/Library/Internet Plug-Ins/Flash Player.plugin" ]; then
echo "Flash Player.plugin is was detected!"
jamf policy -trigger "installFlash"
#check to see if exit code is 0
if [ $? != "0" ]; then
echo "an error occurred during flash install"
exit 1
fi
else
echo "Flash Player.plugin was detected, deploying Abobe Air"
#installer -pkg /path/to/abobeairinsteller.pkg -target /
#check to see if exit code is 0
if [ $? != "0" ]; then
echo "an error occurred during Adobe Air install"
exit 1
fi
fi
exit 0