uninstall.sh
1.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
appName=AkVirtualCamera
if [[ "$*" == *--no-gui* ]]; then
if [ "$EUID" -ne 0 ]; then
echo "The uninstall script must be run as root" 1>&2
exit -1
fi
else
answer=$(osascript -e "button returned of (display dialog \"Uninstall ${appName}?\" with icon caution buttons {\"Yes\", \"No\"} default button 2)")
if [ "$answer" == No ]; then
echo "Uninstall not executed" 1>&2
exit -1
fi
if [ "$EUID" -ne 0 ]; then
osascript -e "do shell script \"$0 --no-gui\" with administrator privileges"
exit $?
fi
fi
path=$(realpath "$0")
targetDir=$(dirname "$path")
# Unregister app from packages database
pkgutil --forget org.webcamoidprj.${appName}
resourcesDir=${targetDir}/${appName}.plugin/Contents/Resources
# Remove virtual cameras
"${resourcesDir}/AkVCamManager" remove-devices
"${resourcesDir}/AkVCamManager" update
# Remove symlink
rm -f "/Library/CoreMediaIO/Plug-Ins/DAL/${appName}.plugin"
# Disable service
service=org.webcamoid.cmio.AkVCam.Assistant
daemonPlist=/Library/LaunchDaemons/${service}.plist
launchctl enable "system/${service}"
launchctl bootout system "${daemonPlist}"
rm -f "${daemonPlist}"
# Remove installed files
rm -rf "${targetDir}"
# Ending message
endMessage="${appName} successfully uninstalled"
if [[ "$*" == *--no-gui* ]]; then
echo "${endMessage}"
else
osascript -e "display dialog \"${endMessage}\" buttons {\"Ok\"} default button 1"
fi