If you want to ensure that Windows 10 doesn’t install built-in apps when a new user logs on, you have to remove all provisioned apps.
Latest posts by Michael Pietroforte (see all)

Installed vs. provisioned apps

Before I describe how you can remove all built-in apps, I have to explain the difference between installed and provisioned apps. This difference only exists for the new touch-optimized apps that Microsoft now calls Windows apps.

You’ve probably noticed that, whenever a user logs on the first time on a Windows 10 computer, Windows starts to install apps for that particular user. These apps are the provisioned apps. Likewise, if the user installs a new app from the Windows Store, this app is only available for that user.

Thus, all apps that a particular user can run are the user’s installed apps. On the other hand, the provisioned apps lurk in the background of the system and only come into play whenever a new user logs on.

If you want to ensure that Windows only installs a certain set of apps or no apps at all when a user logs on for the first time, you have to remove all provisioned apps—that is, you have to unprovision the appx packages.

It doesn’t really help if you just uninstall all apps for the user that runs sysprep. Actually, you also have to uninstall all unprovisioned apps for all users; otherwise, sysprep will fail.

Removing provisioned apps

Before you delete the provisioned apps, you might want to get a list first:

Get-AppXProvisionedPackage -Online | Select PackageName

List all provisioned Windows 10 apps

List all provisioned Windows 10 apps

At an elevated PowerShell prompt, you can remove the apps that you don’t want to have in your reference image with this command:

Remove-AppXProvisionedPackage -Online -PackageName <PackageName>

And, to remove all provisioned apps, you can use this command:

Get-AppXProvisionedPackage -Online | Remove-AppxProvisionedPackage -Online

Unprovision all Windows 10 apps

Unprovision all Windows 10 apps

From now on, if a new user logs on to the machine, the only app that will be installed is Edge.

Note that, unlike in Windows 8, in Windows 10 this command also unprovisions the Windows Store app.

As mentioned in my previous post, where I described the different methods to uninstall Windows apps, another option is to simply deploy an image of Windows 10 Enterprise LTSB (Long Term Servicing Branch) edition, which doesn’t come with provisioned Windows apps. A downside could be that you won’t receive any feature updates until Microsoft releases the next LTSB build.

  1. Avatar
    Matthew Trimble 8 years ago

    this is the best method I have found. Excellent script ($Appx = Get-AppxPackage | select name
    $appx | Out-File -FilePath C:\Appx.txt) and then use this one. modify with prefered package names from 1rst script ($AppsList = “Microsoft.Office.Onenote”,”Microsoft.BingFinance”,”Microsoft.BingNews”,”Microsoft.BingWeather”,”Microsoft.XboxApp”,”Microsoft.SkypeApp”,”Microsoft.MicrosoftSolitaireCollection”,”Microsoft.BingSports”,”Microsoft.ZuneMusic”,”Microsoft.ZuneVideo”,”Microsoft.Windows.Photos”,”Microsoft.People”,”Microsoft.MicrosoftOfficeHub”,”Microsoft.WindowsMaps”,”microsoft.windowscommunicationsapps”,”Microsoft.Getstarted”,”Microsoft.3DBuilder”

    ForEach ($App in $AppsList)
    $PackageFullName = (Get-AppxPackage $App).PackageFullName
    $ProPackageFullName = (Get-AppxProvisionedPackage -online | where {$_.Displayname -eq $App}).PackageName
    write-host $PackageFullName
    Write-Host $ProPackageFullName
    if ($PackageFullName)
    Write-Host “Removing Package: $App”
    remove-AppxPackage -package $PackageFullName
    Write-Host “Unable to find package: $App”
    if ($ProPackageFullName)
    Write-Host “Removing Provisioned Package: $ProPackageFullName”
    Remove-AppxProvisionedPackage -online -packagename $ProPackageFullName
    Write-Host “Unable to find provisioned package: $App”


    Copy-Paste between ( )

    • Avatar
      Rick 8 years ago

      do you know how to deploy this same script so that it removes all the specified applications from all users and an any future users?

    • Avatar
      Robert 6 years ago

      Late to the party, but in your first step, I needed to substitute”select-object” for “select name” or “select-name”.

  2. Avatar

    Matthew, thanks!

  3. Avatar
    akowe 8 years ago

    I tried this on Windows 10 Enterprise and Cortana and Store were not removed. Any ideas?

  4. Avatar
    Pratheep 8 years ago


    What happens when i update an app to the newest Version and run an sysprep? Will it go back to the old Version? I have the Problem that i make an master Image and update all the apps. I use a german os and the apps will be german after the update. After the sysprep all the apps fall back to the english Version. What can i do?

    greetings pratheep

  5. Avatar
    Anthony 8 years ago

    How do you undo this?

    I Want to reprovision the apps in Windows 10

    • Avatar Author

      This procedure seems to reprovision the Store app. I guess it also works for the other apps. I didn’t try it, though. Let me know if it worked.

      However, considering the shaky nature of these apps, I would rather create a fresh image, if you plan to deploy it in your network.  You want to be sure that you deploy a clean install. You don’t want to manipulate your master PC in an uncommon way.

  6. Avatar
    Matthew Conlon 8 years ago

    2nd this RICK! HOWWWWWW???


    Rick 23 hours ago

    do you know how to deploy this same script so that it removes all the specified applications from all users and an any future users?

  7. Avatar Author

    As mentioned in the article, the point about removing the provisioned apps is to ensure that that they are not installed when a new user logs on to the machine. If you want to uninstall apps for existing users, you have to follow one of these procedures for each user that already exits on the computer.

  8. Avatar
    matthew conlon 8 years ago

    Thank you, I was able to remove the provisioned apps. Now I’m ready to setup the default user and what installs after login… CandyCrush and Twitter. Oh Microsoft……

    Thank you MP

  9. Avatar
    BuyEnterpriseSKU 8 years ago

    Here are the issues you will run into via using a script to remove packages:

    1. Certain updates will bring all these apps back from the grave and upgrades to Windows 10 (e.g. the November 1511 upgrade) will also bring them all back from the grave.

    2. If a user profile is already created, it must run with elevated privileges but in that user’s context to remove the apps.

    3. Some apps can only be removed after the user has created a profile on a machine (the apps aren’t part of the install image, they actually go out to Microsoft’s servers and get installed from there) and usually about thirty minutes to an hour after the profile has been created (e.g. Candy Crush Saga and Twitter which don’t appear until long after the user’s profile has been created).

    4. If you run the script as a logon on script or scheduled task, you need to sleep the script for about an hour because issuing an uninstall command to some of these apps while they’re still setting themselves up (on profile creation) can cause them to uninstall incorrectly (usually leaving dead items on the start menu).



  10. Avatar
    Neenz 8 years ago

    BuyEnterpriseSKU – do you have an alternative method then? To remove all these apps from domain machines upgraded to Windows 10 1511?

  11. Avatar
    Dean Colpitts 8 years ago

    These command puke on all machine W10x64 Enterprise machines, even when running as Administrator.


    PS C:\Windows\System32\WindowsPowerShell\v1.0> Get-AppXProvisionedPackage -Online | Remove-AppxProvisionedPackage -Onlin
    Remove-AppxProvisionedPackage : The process cannot access the file because it is being used by another process.
    At line:1 char:38
    + … ppXProvisionedPackage -Online | Remove-AppxProvisionedPackage -Online
    +                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (:) [Remove-AppxProvisionedPackage], COMException
        + FullyQualifiedErrorId : Microsoft.Dism.Commands.RemoveAppxProvisionedPackageCommand

  12. Avatar
    CP 8 years ago

    We are also looking to remove Candy Crush, Twitter, Flipboard, etc but they never appear in the provisioned apps.

    I have them on my start menu now, but these are my only provisioned apps listed:


  13. Avatar
    Cory Ulrich 8 years ago

    For anyone looking to prevent certain apps from installing for new users use this in a powershell admin console or script with admin rights (You can add or remove apps as you please. I intentionally left out the calculator and photo viewer. You may want to keep the store. I didn’t):

    $Applist = Get-AppXProvisionedPackage -online

    $Applist | WHere-Object {$_.packagename -like “*3DBuilder*”} | Remove-AppxProvisionedPackage -online
    $Applist | WHere-Object {$_.packagename -like “*Appconnector*”} | Remove-AppxProvisionedPackage -online
    $Applist | WHere-Object {$_.packagename -like “*BingFinance*”} | Remove-AppxProvisionedPackage -online
    $Applist | WHere-Object {$_.packagename -like “*BingNews*”} | Remove-AppxProvisionedPackage -online
    $Applist | WHere-Object {$_.packagename -like “*BingSports*”} | Remove-AppxProvisionedPackage -online
    $Applist | WHere-Object {$_.packagename -like “*BingWeather*”} | Remove-AppxProvisionedPackage -online
    $Applist | WHere-Object {$_.packagename -like “*CommsPhone*”} | Remove-AppxProvisionedPackage -online
    $Applist | WHere-Object {$_.packagename -like “*ConnectivityStore*”} | Remove-AppxProvisionedPackage -online
    $Applist | WHere-Object {$_.packagename -like “*Getstarted*”} | Remove-AppxProvisionedPackage -online
    $Applist | WHere-Object {$_.packagename -like “*Messaging*”} | Remove-AppxProvisionedPackage -online
    $Applist | WHere-Object {$_.packagename -like “*MicrosoftOfficeHub*”} | Remove-AppxProvisionedPackage -online
    $Applist | WHere-Object {$_.packagename -like “*MicrosoftSolitaireCollection*”} | Remove-AppxProvisionedPackage -online
    $Applist | WHere-Object {$_.packagename -like “*OneNote*”} | Remove-AppxProvisionedPackage -online
    $Applist | WHere-Object {$_.packagename -like “*Sway*”} | Remove-AppxProvisionedPackage -online
    $Applist | WHere-Object {$_.packagename -like “*People*”} | Remove-AppxProvisionedPackage -online
    $Applist | WHere-Object {$_.packagename -like “*SkypeApp*”} | Remove-AppxProvisionedPackage -online
    $Applist | WHere-Object {$_.packagename -like “*WindowsAlarms*”} | Remove-AppxProvisionedPackage -online
    $Applist | WHere-Object {$_.packagename -like “*WindowsCamera*”} | Remove-AppxProvisionedPackage -online
    $Applist | WHere-Object {$_.packagename -like “*windowscommunicationsapps*”} | Remove-AppxProvisionedPackage -online
    $Applist | WHere-Object {$_.packagename -like “*WindowsMaps*”} | Remove-AppxProvisionedPackage -online
    $Applist | WHere-Object {$_.packagename -like “*WindowsPhone*”} | Remove-AppxProvisionedPackage -online
    $Applist | WHere-Object {$_.packagename -like “*WindowsSoundRecorder*”} | Remove-AppxProvisionedPackage -online
    $Applist | WHere-Object {$_.packagename -like “*WindowsStore*”} | Remove-AppxProvisionedPackage -online
    $Applist | WHere-Object {$_.packagename -like “*XboxApp*”} | Remove-AppxProvisionedPackage -online
    $Applist | WHere-Object {$_.packagename -like “*ZuneMusic*”} | Remove-AppxProvisionedPackage -online
    $Applist | WHere-Object {$_.packagename -like “*ZuneVideo*”} | Remove-AppxProvisionedPackage -online
    $Applist | WHere-Object {$_.packagename -like “*xbox*”} | Remove-AppxProvisionedPackage -online
    $Applist | WHere-Object {$_.packagename -like “*contact support*”} | Remove-AppxProvisionedPackage -online

  14. Avatar
    Rick 8 years ago

    How do you also get rid of Amazon and Travelocity showing up on the Task Bar?  After running the script the Provisioned apps do not appear for new users, but Amazon and Travelocity still appear on the Task Bar (they are not in the Apps menu).


  15. Avatar
    William 8 years ago

    Easiest way I found to solve this issue was to right click the tile on the start menu and uninstall the app. None of the 4 that were causing the error were listed when I used the provided script. So, I found the tiles on the menu, right clicked and uninstalled, ran sysprep again and no error.

  16. Avatar
    Anil 7 years ago

    Hi everyone,

    nobody issue solved ? Sysrep later , all apps come back or new user login all apps comeback ? Thank u so much your help

  17. Avatar
    Joel 7 years ago

    Hello Everyone,

    Is there a script to uninstall the provisioned Apps (or just apps) remotely via powershell?

    We do not have VL so we are doing in-place upgrades to our windows 7 machines so we cannot create an image, we would like to run a script remotely to computers we upgrade from Windows 7 to Windows 10.


    Thanks for any help

    • Avatar Author

      I explained how to uninstall Windows 10 apps with PowerShell here. Theoretically, you can also do this remotely via PowerShell Remoting, but I never tried that.

  18. Avatar
    Shawn Alvarado 7 years ago

    Having Issues with Corey Ulrich’s script.  Logged in as admin getting this error “Get-AppXProvisionedPackage : An attempt was made to load a program with an incorrect
    At \\svc1\TechwareShare\RHS\delappwin10.ps1:1 char:12
    + $Applist = Get-AppXProvisionedPackage -online
    +            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Get-AppxProvisionedPackage], COMExc
    + FullyQualifiedErrorId : Microsoft.Dism.Commands.GetAppxProvisionedPackageComma

  19. Avatar
    Mr Edwards 7 years ago

    I have installed Windows 10, 1607 and I have a different issue.  I have removed specific Windows apps, customized a user profile, used the copyprofile=true feature in sysprep.  The profile is normal (most everything appears as it was configured) but applications that I did *not* uninstall have been removed from the default user profile.  How can I ensure all remaining applications are available to the default user?

    • Avatar Author

      I don’t think a customized user profile will help you here. Whenever a new user account logs on, Windows will install the provisioned apps. So what you have to do is to unprovision the apps that you don’t need. Modern apps work totally different than desktop apps. All the old techniques no longer apply.

  20. Avatar

    Just a note, DO NOT remove calculator app if this is going to normal users.

    No way of getting it back without spending hours.

    That was first complaint i had when i deployed Win 10.

    • Avatar Author

      I would rather deploy a desktop-based calculator than trying to get the built-in calculator back. You are right, once you removed built-in apps things get complicated when you want them back.

      • Avatar
        Sudhakar 6 years ago

        Do you have any recommendations or ideas that I could give a try?

  21. Avatar
    Mr Edwards 7 years ago

    What is odd is that the apps were present under the custom (logged in) user but once I initiate a sysprep they are removed from the logged in user, which is the user I setup for the customized profile.  When I log in after the machine returns from the sysprep, the items are still present ( e.g. start menu) but are no longer functional.  If you right-click, you are given the option to uninstall the app so it would seem the application is still present but somehow deactivated.  This of course carries over to the next user because it is the profile used to create the customized profile.  Also (as a test) I decided to not uninstall any applications and they were still not functional after sysprep.  Any ideas would be greatly appreciated.

    • Avatar Author

      This is not really odd. This is what you have to expect when you deal with Modern apps. You have to distinguish between provisioned and installed apps. Provisioned apps will be installed for new users when they logon the first time. If you remove a provisioned app that has been previously installed for your default user, you are in trouble. The links are still in the Start menu, but Windows can’t install the app because you unprovisioned it.

      You also have to distinguish between uninstalling an app and unprovisioning an app. These are completely different things. When you prepare an image, you don’t uninstall the apps that you don’t need, you have to unprovision them.

      Best thing is to forget about default user profiles when you deal with Modern apps. You have to start with a clean system where no user has logged on. You login with your admin account and unprovision the apps you don’t want to deploy. Next you sysprep the machine and then you deploy the image. There is no need to mess with a default user profile.

  22. Avatar
    Mr Edwards 7 years ago

    I will do my best to find another way to accomplish my goal, which is to ensure that all users have exactly the same corporate configuration (apps, desktop setup, start menu layout, scheme, background, lock screen, IE configuration, etc.)  I removed  the undesirable applications utilizing  “Remove-AppxProvisionedPackage -online” or “Get-AppxPackage -Name $app -AllUsers | Remove-AppxPackage -Verbose” so I apologize for using the wrong terms.  When I said uninstall, I meant unprovision.

    I am setting up a controlled environment and MS has decided that I cant launch certain applications under the administrator profile, limiting my ability to create a very precise configuration, just once, so the alternative is to create an alternate profile, lets call it “ReferenceProfile”.  Once I login as ReferenceProfile and configure it exactly as I desire, I sysprep the machine, ensuring that I use the copyprofile=true feature is part of the unattended.xml in sysprep.  I seal the configuration using “sysprep.exe /generalize /oobe /shutdown /unattend:C:\Windows\System32\sysprep\unattend-x64.xml” Upon restart I am finding the new users have the same desired configuration, however applications that I didn’t removed are no longer available, possibly unprovisioned (possibly during the cleanup phase) and even if I don’t unprovision any applications, there are applications that are no long functional after the sysprep.  Additionally, the ReferenceProfile that was created is also being applies to the administrator profile, after sysprep, even though the account already existed.  The end goal is really to ensure all user are configured with the corporate image and I am finding a challenge with Windows 10.

    • Avatar Author

      If apps somehow disappear, you most likely made a mistake at the same point. It appears to me that you follow the wrong strategy. First of all, you should not launch any apps before you sysprep the machine. Second, you certainly should not try to configure a default user profile with the administrator account.

      Actually, as mentioned before, you should avoid messing with the default user profile. Creating a standard environment for users is a common task. However, it is much better to do this after you deploy the image to your target machines. The common way is to work with Group Policy and Group Policy Preference. This is more reliable, easier to configure and it allows you to change your configuration any time. For instance, we have described how to deploy a standard Start menu with Group Policy here and here.

      Best practice is to install a fresh Windows, log on with a local amin account, install all updates, unprovision the unwanted Modern apps (don’t launch any apps, don’t touch the default user profile), run sysprep. After your target machines are up and running with this clean image, you deploy your desktop applications and create a standard environment with Group Policy.

      I still remember that I was an avid fan of your strategy when I started cloning Windows. These were the times when everyone was still working with unattended installations and Microsoft explicitly warned admins to deploy OS images. Well, I did it anyway and it worked great. We installed all the software, configured the machines to the last detail and were able to deploy hundreds of Windows machine in a fraction of the usual time. Years later Microsoft gave in and adopted the method and released the sysprep tool. However, this were the times of Windows NT 4 and Group Policy didn’t exist yet (only system policies). Things have changed a lot since those times. Nowadays you can configure everything remotely and configuring a standard environment before you deploy the image doesn’t make sense anymore.

  23. Avatar

    Anyone else getting Windows 10 stuck on first logon?

    After i prepared my system and captured WIM to SCCM 2012, at first logon it just sits on “Preparing Windows”.

    I can log off and log back in which works instantly.

    Then same issue re-occurs intermittently to random users on the machine but only on first logon.

  24. Avatar
    Mr Edwards 7 years ago

    Based on the expertise provided, I was able to create a base image, having only the applications that I desired.  Well, that’s not perfectly true.  There were a few that I wanted to keep, however I found that if I unprovisioned those few, I no longer had the issue of mysteriously disappearing applications.  I am still using the same strategy for creating a customized profile which can be found here


    because I found that over the years, it has given me consistent results and makes it possible to create and identical and controlled user experience.  I am utilizing group policy and also teasing out what other ideas that you’ve provide that I may incorporate.

    A HUGE thank you to Michael for the wisdom provided and to everyone else who provided input to the issue that I was having.

  25. Avatar
    Mr Edwards 7 years ago

    >Anyone else getting Windows 10 stuck on first logon?

    Earlier this year there was one or more Microsoft update that made it appear the patch application process was stuck.  While what we experienced was not specifically the problem you described, I wonder if it is related.  Users were waiting indefinitely for updates to apply.  We found that if you just did a CTRL-ALT-DEL and nothing else, the logon screen would just appear and users would be able to login.  Once that update had completed, the problem never returned.

Leave a reply to Mr Edwards Click here to cancel the reply

Please enclose code in pre tags

Your email address will not be published. Required fields are marked *


© 4sysops 2006 - 2023


Please ask IT administration questions in the forums. Any other messages are welcome.


Log in with your credentials


Forgot your details?

Create Account