Windows 10 ships with some preinstalled modern UWP apps (they are also called Metro apps, Microsoft Store or APPX packages). These are Calculator, Calendar, Mail, Cortana, Maps, News, OneNote, Groove Music, Camera, etc. Windows 10 UWP apps are automatically installed to the user profile during the first logon. Most of these applications are not needed for business users, so they usually need to be removed in a corporate environment. In this article, we’ll look at how to properly uninstall the built-in UWP/APPX apps on Windows 10, which will save additional space on the system drive and remove unnecessary items in the Start Menu.
How to Remove Windows Store Applications (APPX) using Windows 10 Settings?
The most obvious and simple way to uninstall a modern Microsoft Store app on Windows 10 is through the new Settings control panel. To do this, press the Start button and go to Settings -> Apps -> Apps and features. In the list of apps, select the app to be uninstalled. Click the Uninstall button.
This will only uninstall the UWP app in the current user’s profile. When any other new user logs in, the appx package will be automatically installed from the system store.
Also, note that most of the preinstalled modern apps are protected and simply don’t have the Uninstall button available (it is greyed out).
You can only uninstall such built-in Windows 10 system apps via the PowerShell CLI.
Removing a Specific UWP App on Windows 10 via PowerShell
Let’s take a look at how to uninstall a specific UWP app on Windows 10 using PowerShell. Please note that there are two types of apps in Windows 10:
- AppX packages – UWP apps that are installed for the current Windows 10 user;
- AppX provisioned packages — built-in Windows 10 apps that are installed when the user first logs on to the system.
Run the PowerShell console as an administrator. The following command will list the modern apps installed for your user account:
Get-AppxPackage | select Name,PackageFullName,NonRemovable
If you uninstalled an app from the Windows 10 Settings menu, it will disappear from this list.
You can list installed applications for all users. In this case, the command will look like this:
Get-AppxPackage -AllUsers | select Name,PackageFullName,NonRemovable
Get-AppxPackage –AllUsers>c:\data\win10_apps_list.txt
To find an app by name, use the following wildcard command (in this example we’re looking for the Bing Weather app):
Get-AppxPackage -AllUsers | select Name,PackageFullName,NonRemovable | where-object {$_.Name -like "*Weather*"} | Format-Table
To remove a specific appx application for the current user, you need to copy the package name from the PackageFullName column and paste it into the PowerShell console as an argument of the Remove-AppxPackage cmdlet:
Remove-AppxPackage Microsoft.BingWeather_4.25.20211.0_x64__8wekyb3d8bbwe
The command removed the application for the current user only. To uninstall the application for all users of the computer, use the –AllUsers parameter:
Remove-AppxPackage -AllUsers Microsoft.BingWeather_4.25.20211.0_x64__8wekyb3d8bbwe
Or use the following PowerShell one-liner:
Get-AppxPackage * BingWeather * -AllUsers| Remove-AppPackage –AllUsers
When you uninstall built-in app in this way, it still remains on the system in a Staged state (and is stored on a system partition in C:\Program Files\WindowsApps directory). The Staged state means that the application will be deployed for every new user account on this computer.
Now let’s take a look at the list of Staged applications that are built into the Windows image and are automatically installed for all users when they first log into the computer:
Get-AppxProvisionedPackage -online |select DisplayName,PackageName
To completely uninstall a specific staged UWP app from a Windows 10 image, you need to specify its name in the Remove-AppxProvisionedPackage cmdled:
Get-AppxProvisionedPackage -online | where-object {$_.PackageName -like "*BingWeather*"} | Remove-AppxProvisionedPackage -online –Verbose
Now when a new Windows 10 user logs in, this provisioned app won’t be installed in user profile.
How to Force Uninstall All Built-in UWP Apps from Windows 10?
Of course, removing the built-in apps on Windows 10 one at a time is a tedious task. You can use a simple PowerShell script to uninstall all APPX automatically.
Get-AppXProvisionedPackage -online | Remove-AppxProvisionedPackage -online
Don’t uninstall system apps such as Microsoft.VCLibs, Microsoft.NET.Native.Framework, Microsoft.NET.Native.Runtime, Microsoft.WindowsStore. The same Photos app with certain settings works quite quickly, but certainly not as convenient as the classic “Windows Photo Viewer“.
Also, some of the pre-installed UWP apps on Windows are difficult to restore. For example, it is hard to restore Microsoft Store on Windows 10 after uninstalling it via PowerShell.
Let’s create a list of provisioned applications to be removed:
$UWPApps = @(
"Microsoft.Microsoft3DViewer"
"Microsoft.MicrosoftOfficeHub"
"Microsoft.MicrosoftSolitaireCollection"
"Microsoft.MicrosoftStickyNotes"
"Microsoft.MixedReality.Portal"
"Microsoft.MSPaint"
"Microsoft.Office.OneNote"
"Microsoft.People"
"Microsoft.ScreenSketch"
"Microsoft.Wallet"
"Microsoft.SkypeApp"
"microsoft.windowscommunicationsapps"
"Microsoft.WindowsFeedbackHub"
"Microsoft.WindowsMaps"
"Microsoft.WindowsSoundRecorder"
"Microsoft.Xbox.TCUI"
"Microsoft.XboxApp"
"Microsoft.XboxGameOverlay"
"Microsoft.XboxGamingOverlay"
"Microsoft.XboxIdentityProvider"
"Microsoft.XboxSpeechToTextOverlay"
"Microsoft.YourPhone"
"Microsoft.ZuneMusic"
"Microsoft.ZuneVideo"
)
Now, let’s remove these apps from both the Windows 10 image and all local user profiles:
foreach ($UWPApp in $UWPApps) {
Get-AppxPackage -Name $UWPApp -AllUsers | Remove-AppxPackage
Get-AppXProvisionedPackage -Online | Where-Object DisplayName -eq $UWPApp | Remove-AppxProvisionedPackage -Online
}
Now check the list of UWP applications remaining in the Windows image. The list should be seriously reduced:
Get-AppxProvisionedPackage -online |Select-object DisplayName
Thus, all new user profiles will be created without preinstalled Windows 10 applications (new user profiles will be created much faster).
Alternatively, you can use the Out-GridView cmdlet for the convenience of manually removing preinstalled apps in Widows 10.
Get-AppxProvisionedPackage -online | Out-GridView -PassThru | Remove-AppxProvisionedPackage –online
This script will display a GUI table with a list of provisioned apps in the Windows 10 image. You just need to select the UWP applications you want to uninstall (several items can be selected by holding the CTRL key) and click Ok.
You can remove preinstalled apps after deploying Windows 10 to user computers (for example, by running a PowerShell script through Group Policy and mandatory filtering by Windows 10 build number using GPO WMI filters). However, you can remove appx from the reference Windows image that you use to deploy to workstations (assume the path to the mounted image is c:\offline).
Use the following command to remove provisioned apps from mounted Windows 10 image in the offline mode:
foreach ($UWPApp in $UWPApps) {
Get-AppXProvisionedPackage –Path c:\offline | Where-Object DisplayName -eq $UWPApp | Remove-AppxProvisionedPackage –Path c:\offline
}
If you need to reinstall removed apps, you can use the Add-AppXPackage cmdlet to get the appx package info from the XML manifest file and register it Windows:
Get-AppxPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}
3 comments
Get-AppXProvisionedPackage -online | Remove-AppxProvisionedPackage -online
Not work.
The name “Get-AppXProvisionedPackage” is not recognized as the name of a cmdlet, function, script file or executable program. Check your spelling, as well as the presence and the path is correct, then try again.
line: 1 char: 27
+ Get-AppXProvisionedPackage <<<< –Path K:\__W10_CONSTRUCTOR_x64__\Mount1 | Remove-AppxProvisionedPackage –Path K:\__W10_CONSTRUCTOR_x64__\Mount1
+ CategoryInfo : ObjectNotFound: (Get-AppXProvisionedPackage:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Sorry,
Get-AppXProvisionedPackage –Path c:\offline | Remove-AppxProvisionedPackage –Path c:\offline
My long search has paid off! Thanks to you and this awesome website! I’ve tried so much advice on the web for removing UWP apps and they all fail — ’til I tried yours. Wow. Thank you and thank you and thank you again.