To install the maui workload, you have two options:
- dotnet workload installcommands
- Visual Studio on Windows can install .msifiles for each workload pack. Note that the concept of a "Visual Studio workload" is different than a ".NET workload".
VS for Mac's installer and updater use dotnet workload install commands. It's considerably simpler to get a Mac machine to a clean state.
Since, .pkg files don't really have a way to "uninstall" the simplest way to get your machine in a clean state is to simply delete folders:
rm -r ~/.dotnet/
sudo rm -r /usr/local/share/dotnet/After doing this, install the .NET SDK of your choice and run dotnet workload install maui for a clean install.
This is where things get... complicated.
The .NET SDK has two types of installers:
- Microsoft .NET SDK 6.0.300 from Visual Studio
- Microsoft .NET SDK 6.0.300- standalone
Things also can get "weird" if you command-line dotnet workload install on top of packages installed by Visual Studio.
Here are steps to get to a clean state:
- If you ever used dotnet workload install, rundotnet workload uninstall maui.
- Uninstall any standalone .NET SDK installers from Control Panel. These are the ones that do not say "from Visual Studio".
- In every instance of Visual Studio, uninstall all Mobile/MAUI and .NET/Desktop "Visual Studio" workloads.
Next, let's check if there are additional .msi's hanging around:
reg query HKLM\SOFTWARE\Microsoft\Windows\currentversion\uninstall\ -s -f manifestIf you get results after uninstalling, like:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\currentversion\uninstall\{EEC1BB5F-3391-43C2-810E-42D78ADF3140}
    InstallSource    REG_SZ    C:\ProgramData\Microsoft\VisualStudio\Packages\Microsoft.MacCatalyst.Manifest-6.0.300,version=125.179.40883,chip=x64,productarch=neutral\
    DisplayName    REG_SZ    Microsoft.NET.Sdk.MacCatalyst.Manifest-6.0.300
Then you can grab the GUID and uninstall this package via:
msiexec /x {EEC1BB5F-3391-43C2-810E-42D78ADF3140} /q IGNOREDEPENDENCIES=ALL
After the reg query command returns no results, and all .NET 6+ SDKs are uninstalled, you might consider deleting:
- C:\Program Files\dotnet\sdk-manifests
- C:\Program Files\dotnet\metadata
- C:\Program Files\dotnet\packs
- C:\Program Files\dotnet\library-packs
- C:\Program Files\dotnet\template-packs
- C:\Program Files\dotnet\sdk\6.*or 7, etc.
- C:\Program Files\dotnet\host\fxr\6.*or 7, etc.