Skip to content

Instantly share code, notes, and snippets.

@DarkCloud14
Created February 22, 2019 21:02
Show Gist options
  • Save DarkCloud14/dc357876485d63bc1901eae8d2955be0 to your computer and use it in GitHub Desktop.
Save DarkCloud14/dc357876485d63bc1901eae8d2955be0 to your computer and use it in GitHub Desktop.
#!/bin/bash
# This is a simple script to uninstall Visual Studio for Mac and the other Xamarin or .Net Core packages from your machine.
# Uninstall Visual Studio for Mac
read -p "Uninstalling Visual Studio for Mac (y/n)?" answer
case ${answer:0:1} in
y|Y )
sudo rm -rf "/Applications/Visual Studio.app"
rm -rf ~/Library/Caches/VisualStudio
rm -rf ~/Library/Preferences/VisualStudio
rm -rf ~/Library/Preferences/Visual\ Studio
rm -rf ~/Library/Logs/VisualStudio
rm -rf ~/Library/VisualStudio
rm -rf ~/Library/Preferences/Xamarin/
rm -rf ~/Library/Application\ Support/VisualStudio
rm -rf ~/Library/Application\ Support/VisualStudio/7.0/LocalInstall/Addins/
;;
esac
# Uninstall Mono MDK
read -p "Uninstall Mono MDK (y/n)?" answer
case ${answer:0:1} in
y|Y )
sudo rm -rf /Library/Frameworks/Mono.framework
sudo pkgutil --forget com.xamarin.mono-MDK.pkg
;;
esac
# Uninstall Xamarin.iOS
read -p "Uninstall Xamarin iOS (y/n)?" answer
case ${answer:0:1} in
y|Y )
rm -rf ~/Library/MonoTouch
sudo rm -rf /Library/Frameworks/Xamarin.iOS.framework
sudo rm -rf /Developer/MonoTouch
sudo pkgutil --forget com.xamarin.xamarin.ios.pkg
sudo pkgutil --forget com.xamarin.xamarin-ios-build-host.pkg
;;
esac
# Uninstall Xamarin.Mac
read -p "Uninstall Xamarin Mac (y/n)?" answer
case ${answer:0:1} in
y|Y )
sudo rm -rf /Library/Frameworks/Xamarin.Mac.framework
rm -rf ~/Library/Xamarin.Mac
for xamarinmacpkg in `pkgutil --pkgs=xamarin.mac*`; do
sudo pkgutil --force --forget $xamarinmacpkg
done
;;
esac
# Uninstall Xamarin.Android
read -p "Uninstall Xamarin Android (y/n)?" answer
case ${answer:0:1} in
y|Y )
sudo rm -rf /Developer/MonoDroid
sudo rm -rf /Library/Frameworks/Xamarin.Android.framework
sudo pkgutil --forget com.xamarin.android.pkg
rm -rf ~/Library/MonoAndroid
rm -rf ~/Library/Developer/Xamarin/android-sdk-macosx
rm -rf ~/Library/Developer/Xamarin/jdk
if [ -d ~/Library/Developer/Xamarin ]; then
if [ -z "$(ls -A ~/Library/Developer/Xamarin)" ]; then
rm -rf ~/Library/Developer/Xamarin
fi
fi
;;
esac
# Uninstall the Visual Studio for Mac Installer
read -p "Uninstalling the Visual Studio for Mac Installer (y/n)?" answer
case ${answer:0:1} in
y|Y )
sudo rm -rf ~/Library/Caches/XamarinInstaller/
sudo rm -rf ~/Library/Caches/VisualStudioInstaller/
sudo rm -rf ~/Library/Logs/XamarinInstaller/
sudo rm -rf ~/Library/Logs/VisualStudioInstaller/
;;
esac
# Uninstall the Xamarin Profiler
read -p "Uninstalling the Xamarin Profiler (y/n)?" answer
case ${answer:0:1} in
y|Y )
sudo rm -rf /Applications/Xamarin\ Profiler.app
sudo pkgutil --forget com.xamarin.profiler
;;
esac
# Uninstall Workbooks and Inspector
read -p "Uninstalling Workbooks and Inspector (y/n)?" answer
case ${answer:0:1} in
y|Y )
sudo /Library/Frameworks/Xamarin.Interactive.framework/Versions/Current/uninstall
sudo pkgutil --forget --force com.xamarin.Inspector
sudo rm -rf /Applications/Xamarin\ Workbooks.app
sudo rm -rf /Applications/Xamarin\ Inspector.app
sudo rm -rf /Library/Frameworks/Xamarin.Interactive.framework
sudo rm -rf /Library/Frameworks/Xamarin.Inspector.framework
rm -rf ~/Library/Application\ Support/XamarinStudio-6.0/LocalInstall/Addins/Xamarin.Interactive
rm -rf ~/Library/Application\ Support/XamarinStudio-6.0/LocalInstall/Addins/Xamarin.Inspector
;;
esac
read -p "Uninstalling .Net Core (y/n)?" answer
case ${answer:0:1} in
y|Y )
# this is the common suffix for all the dotnet pkgs
dotnet_pkg_name_suffix="com.microsoft.dotnet"
dotnet_install_root="/usr/local/share/dotnet"
dotnet_path_file="/etc/paths.d/dotnet"
dotnet_tool_path_file="/etc/paths.d/dotnet-cli-tools"
remove_dotnet_pkgs(){
installed_pkgs=($(pkgutil --pkgs | grep $dotnet_pkg_name_suffix))
for i in "${installed_pkgs[@]}"
do
echo "Removing dotnet component - \"$i\"" >&2
sudo pkgutil --force --forget "$i"
done
}
remove_dotnet_pkgs
[ "$?" -ne 0 ] && echo "Failed to remove dotnet packages." >&2 && exit 1
echo "Deleting install root - $dotnet_install_root" >&2
sudo rm -rf "$dotnet_install_root"
sudo rm -f "$dotnet_path_file"
sudo rm -f "$dotnet_tool_path_file"
echo "dotnet packages removal succeeded." >&2
;;
esac
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment