There are several ways to uninstall the Windows builtin apps.
In a classic deployment you would run a PowerShell script to remove the Windows Apps.
Of cause you can run a PowerShell script in a MDM environment but you are also able to use the Enterprise Modern App Management CSP. This is the more modern way and also works quite well.
There are two ways to remove a Windows App.
- By default, Windows 10 ships with a number of provisioned app packages. Whenever a user signs into a computer for the first time, Windows will register all provisioned apps in the newly created user profile.
- User Apps – after the user profile is loaded, all provisioned apps will be installed.
To remove a provisioned application, you need to use the following xml syntax:
<Delete>
<CmdID>%NUMBER%</CmdID>
<Item>
<Target> <LocURI>./Device/Vendor/MSFT/EnterpriseModernAppManagement/AppManagement/AppStore/%ApplicationName%_%VendorID%</LocURI>
</Target>
</Item>
</Delete>
If you want to remove the user apps, you need to use the following xml syntax:
<Delete>
<CmdID>%NUMBER%</CmdID>
<Item>
<Target> <LocURI>./User/Vendor/MSFT/EnterpriseModernAppManagement/AppManagement/AppStore/%ApplicationName%_%PublisherId%</LocURI>
</Target>
</Item>
</Delete>
You have to exchange the %NUMBER% for a unique ID. If you have the same ID in more than one block, the CSP will not run correctly.
%ApplicationName% variable is the Package Name (listed below).
%PublisherId% is a specific ID used by publishers to identify their apps.
All builtin apps that can be removed, have the ID “8wekyb3d8bbwe” – only exception is Skype – the Skype app uses the ID “kzf8qxf38zg5c”.
The easiest way to get the PublisherID is to export the Get-AppxPackage in a csv file.
Get-AppxPackage | Export-CSV C:\Temp\FILENAME.csv
Pro / Contra list
So what are the advantages and disadvantages of each method?
If you remove the provisioned App you don’t need to update and maintain the application. Also the application is completely removed from the system and the application will not be installed for new user profiles.
For new devices this work well, but if you try to uninstall the provisioned application on running machines, the users will not see any changes because the application is already installed for the user. This also effects the Auto-Enrollment user which is automatically logged in and will receive – not all – but a still a few apps.

Running AutoPilot with removing the provisioned apps

Even if the provisioned apps are removed, the AutoPilot user has still a lot of apps installed.

New logged in user only has a few apps.
The big advantage of the user focused removal is, that you can have several profiles with different applications that will be removed on one device. In my eyes there is no real disadvantage of this method. Only if you have users that are not included in the profile assignment will get all applications that are provisioned.
Which app can be removed?
To see which apps are included in which Windows version, Microsoft offers the following website:
https://docs.microsoft.com/en-us/windows/application-management/apps-in-windows-10
If you want to lookup which builtin apps are installed you can use the following commands:
For provisioned apps:
Get-AppxProvisionedPackage -Online | select DisplayName
And for user apps:
Get-AppxPackage | Where-Object {$_.Isframework -eq $false -and $_.NonRemovable -eq $false} | select Name
The following apps can be removed via CSP:
You are also able to remove the following apps:
Microsoft.DesktopAppInstaller
Microsoft.HEIFImageExtension
Microsoft.VP9VideoExtensions
Microsoft.WebMediaExtensions
Microsoft.WebpImageExtension
Yes, and even
Microsoft.WindowsStore
can be removed.
Custom XML to remove all Apps
If you want to remove one or more user applications, make sure you deploy the profile to the user and not to the device.
You can find the uploaded CSV’s here:
https://github.com/GrischaE1/Windows/tree/main/RemoveWindowsApps
Update:
Now available settings for:
Windows 10 1909
Windows 10 2004
Windows 10 20H2
2 Responses
could you please help me to create intune custom device configuration policy to remove as I am not sure what OMA-URI should I keep while uploading below xml file.
**************
1
./User/Vendor/MSFT/EnterpriseModernAppManagement/AppManagement/AppStore/Microsoft.GetHelp_8wekyb3d8bbwe
**********
As far as I know, Intune has no option to use custom XML.
But you can easily uninstall build in apps by adding them as public app and run the uninstall assignment.