I've spent the day doing several researches and attempts on how to copy a file that is located inside an AppleScript app to the root Application Support directory (hdd -> Library -> Application Support). Originally I thought it was an issue with calling do shell script and administrator privileges but for some reason if I have a file located in an AppleScript app I try to call that file to be added to Application Support, for example:
set foo to "Macintosh HD/Users/vader/someapp.app/Contents/Resources/Scripts/foobar.txt" set bar to "Macintosh HD/Library/Application Support/" do shell script "cp " & (quoted form of foo) & space & (quoted form of bar) with administrator privileges I've taken this down to the basic form when it comes to the folder path and file path but when I run the above I get an error message of:
cp: Macintosh HD/Users/vader/someapp.app/Contents/Resources/Scripts/foobar.txt: No such file or directory
I can return true that the file exists in the app with:
set foobar to POSIX path of (path to resource "foobar.txt" in directory "Scripts") if not (exists foobar) then return false else return true end if I've tried this with:
tell application "Finder" to duplicate file (foo) to folder (bar) but that didn't work either.
Research when I tried to remove the file after manually adding it (yes I have admin permissions on my box):
I've researched several areas to see how to implement the prompting of permissions using administrator privileges but with no luck:
- Can't delete directory via AppleScript
- AppleScript: match and delete files in folder
- Automatically delete temporary ~/Library/Application Support folders
- Delete folders if exist and delete
- Applescript oe shellscript to delete config file?
- Delete files with AppleScript to recycle bin or permanently
Here are the following attempts I've tried:
AppleScript System Events:
tell application "System Events" to delete file appWithPath do shell attempts:
attempt 1
do shell script "rm -f " & appNamewithQuotedFormPath with administrator privileges attempt 2
do shell script "find " & quotedPathToDirectory & " -name \"" & applicationName & "\" -type f -delete" with administrator privileges It still wouldn't work and I checked with:
do shell script "echo " & appNamewithQuotedFormPath with administrator privileges After digging into Script Editor I found I was getting -10004 error so I researched:
so I moved the add and removal of the file in Application Support to a handler that didn't have a try block but still nothing.
Thinking it might be an issue with the used privileges I tried all of the following parameters used with Scripting Additions:
In an AppleScript app how can I add and remove a file that exists in the app to the root Application Support directory?
EDIT:
After further testing I removed the usage of Macintosh HD and the do shell script would work which I do not understand why that would cause the script to fail. Why would adding Macintosh HD to the path cause the script to error out?
