Monday, 19 September 2011

Making an Application which fixes all the little things

Fix Everything Please Application
A while ago I had the idea of making a little application which fixes any little problems we have in the college with the Apple Mac accounts. Part of the trouble is to do with the Active Directory accounts, but a lot of the trouble comes from Applications coming up with errors related to the preferences.

Basically, this program deletes preferences and folders to all the programs which cause the most problems.

I made the program in Automator, and it basically just runs a shell script with a lot of 'rm' for removing stuff. I originally tried using a lot of the options in the library to find certain files and put them in the trash. This doesn't work for different users though, as they have a different location for their home drive. So I ended up using the '~' option to specify the users home drive:

these three lines remove anything related to Adobe:

rm -R -f ~/Library/Application\ Support/Adobe/
rm -R -f ~/Library/Preferences/Adobe*
rm -R -f ~/Library/Preferences/com.adobe*

this removes the key Firefox preferences, which cause it to say "A copy of Firefox is already open"
rm -R -f ~/Library/Application\ Support/Firefox/

this removes any ScanWizard preferences
rm -R -f ~/Library/Preferences/com.microtek*
rm -R -f ~/Library/Preferences/Microtek\ Preferences/
rm -R -f ~/Library/Preferences/Microtek*
rm -R -f ~/Library/Preferences/ScanWizard*
rm -R -f ~/Documents/ScanMaker\ 8700/

this removes any HP Scanner preferences
rm -R -f ~/Library/Preferences/HP*
rm -R -f ~/Library/Preferences/com.hp*
rm -R -f ~/Library/Preferences/ScanExpert\ Folder/

This removes Nikon references for the Nikon browser
rm -R -f ~/Library/Preferences/Nikon/
rm -R -f ~/Library/Application\ Support/Nikon/

This removes the Network Home Relocation for the Caches folder and makes a new one

rm -R -f ~/Library/Caches
mkdir ~/Library/Caches

I added the -R so that it would force the removal, and the -f so it doesn't come up with an error if the file/folder doesn't exist.

Here's a screenshot of the workflow in Automator:

Automator workflow for "Fix Everything Please"
It proves very popular amongst the students and staff here, and I just add to the list when another program has this sort of problem. I just have to work out a quick way of deploying it to all the workstations, hopefully make a '.pkg' file and put it to the task server.

No comments:

Post a Comment