Update – Removing Built-in Applications from Windows 8

In October last year I published a script that is designed to remove the built-in Windows 8 applications when creating a Windows 8 image. After a reading some of the comments in that blog post I decided to create a new version of the script that is simpler to use. The new script removes the need to know the full name for the app and the different names for each architecture. I am sure you will agree that this name - Microsoft.Bing – is much easier to manage than this - Microsoft.Bing_1.2.0.137_x86__8wekyb3d8bbwe.

The script below takes a simple list of Apps and then removes the provisioned package and the package that is installed for the Administrator. To adjust the script for your requirements simply update the $AppList comma separated list to include the Apps you want to remove.

$AppsList = "Microsoft.Bing" , "Microsoft.BingFinance" , "Microsoft.BingMaps" , "Microsoft.BingNews",` 
            "Microsoft.BingSports" , "Microsoft.BingTravel" , "Microsoft.BingWeather" , "Microsoft.Camera",` 
            "microsoft.microsoftskydrive" , "Microsoft.Reader" , "microsoft.windowscommunicationsapps",` 
            "microsoft.windowsphotos" , "Microsoft.XboxLIVEGames" , "Microsoft.ZuneMusic",` 
            "Microsoft.ZuneVideo" , "Microsoft.Media.PlayReadyClient"

ForEach ($App in $AppsList)
    $PackageFullName = (Get-AppxPackage $App).PackageFullName
    if ((Get-AppxPackage $App).PackageFullName)
        Write-Host "Removing Package: $App"
        remove-AppxProvisionedPackage -online -packagename $PackageFullName
        remove-AppxPackage -package $PackageFullName
        Write-Host "Unable to find package: $App"


When deleting applications I also recommend that you create and deploy a custom start screen layout using the export-layout command to export a layout they want to use and then apply the layout during deployment to the default user profile. If you do not use a custom start screen layout you may see a version of the start screen that only contains five tiles. For more information see my previous post - http://blogs.technet.com/b/deploymentguys/archive/2012/10/26/start-screen-customization-with-mdt-.aspx?pi36647=2.

For more information on adding and removing apps please refer to this TechNet article..

This post was contributed by Ben Hunter, a Solution Architect with Microsoft Consulting Services.

Disclaimer: The information on this site is provided "AS IS" with no warranties, confers no rights, and is not supported by the authors or Microsoft Corporation. Use of included script samples are subject to the terms specified in the Terms of Use.

Comments (22)

  1. Ben Hunter says:

    Hi John,

    It's not possible to remove Windows Store, you can only disable it via policy.



  2. Ben Hunter says:

    Hi Jokerz,

    You need to make sure that the app is removed for the Administrator as well as de-provisioned for the entire machine. It is also important that you do not update or install any apps from the store before syspreping.



  3. Ben Hunter says:

    Hi Mike,

    Thanks for the tip, I love any approach that fits into a single line :). I went with this approach for logging purposes :).


  4. Ben Hunter says:

    Hi Fred,

    You definitely don't need to join the domain to make this work. I use this script when creating my reference images and never join the domain during that process.



  5. Ben Hunter says:

    Hi MS Expert2010,

    It's not possible to remove Windows Store Application, you can only disable it via group policy.


  6. Ben Hunter says:

    Hi Jonathan,

    I always do this before capturing my image. I also use CopyProfile and it works well.



  7. Ben Hunter says:

    Hi Micah,

    The remove-AppxProvisionedPackage  should perform this task. Do you get any errors when you manually run the command?

    I also recommend running "Get-AppXProvisionedPackage -online" after running the remove command to see if the package has been successfully removed.



  8. You can replace the entire ForEach loop with a single line:

    $AppsList | % {Get-AppxPackage -Name $_} | % {Remove-AppxPackage $_; Remove-AppxProvisionedPackage -Online -PackageName $_}

    The power of the pipeline 🙂



  9. micah says:

    I unfortunately can't get it working.  I run it and it seems to accept it, but when i log in with a new profile, all the apps are still there.  Are there any other steps i need to take in order to delete them for good?  I am especially interested in deleting the provisioned apps, since we don't want some for our next image.

  10. fred says:

    I also can never get this to work. I get no errors, the apps do get removed according to powershell, but they persist when the image is deployed. I read somewhere that this is only applicable when the system is joined to a domain. Is this true?

  11. Jokerz says:

    So i just ran this… and it looked like it worked. Apps are gone… i run the "Get-AppXProvisionedPackage -online" and nothing is returned. however my sysprep still fails with the error seen here. support.microsoft.com/…/2769827

    What am i missing.

  12. Jonathan says:

    If combining this with an MDT 2012 deployment image, would I run this script before doing the initial capture of my "golden image" (assuming I'm using CopyProfile=true), or would I have to run in using MDT as a "final" task after imaging?  I'm just not sure where this should be applied, as every setting seems to be a bit of a gamble when using CopyProfile to change defaults.

  13. John says:

    Is it possible to completely remove the windows store from all apps so users don't see it as an option?

  14. MS Expert2010 says:

    Looking for a way to remove the Windows 8 'Store' application itself so that users will not able to download and install the applications. Organization has approved list and restrict everyone to install any new app from windows 8 Store. Thanks


  15. 805 says:

    How can I remove the Windows store again?


  16. ajay says:

    how to run this script

  17. nick says:

    This script worked great but I'm having a problem with it working with all users of the PC it only seems to work on the account it was run on. Once a new user logs on and a new profile is created all the apps are back. When I run the script I get this error:

    remove-AppxProvisionedPackage : The system cannot find the file specified.

    At C:removeapps.ps1:10 char:9

    +         remove-AppxProvisionedPackage -online -packagename $PackageFullName

    +         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

       + CategoryInfo          : NotSpecified: (:) [Remove-AppxProvisionedPackage], COMException

       + FullyQualifiedErrorId : Microsoft.Dism.Commands.RemoveAppxProvisionedPackageCommand

    Thanks for any Input you have!

  18. Anonymous says:

    Pingback from Removing Built-in Applications from Windows 8 – The Deployment Guys – Site Home – TechNet Blogs

  19. Anonymous says:

    Pingback from Removing Built-in Applications from Windows 8 – The Deployment Guys – Site Home – TechNet Blogs

  20. 127 says:

    Same here

    remove-AppxProvisionedPackage : The system cannot find the file specified
    when use the scipt (remove-AppxProvisionedPackage -online -packagename $PackageFullName)

    as well as

    Get-AppXProvisionedPackage -online | Remove-AppxProvisionedPackage -online

    OS is Win 8.1 x64 + Update 1 + June 2014 Patches

  21. Anyonmous says:

    I managed to remove the Windows Store with your old post commands, and I don't know how but the entire store files and everything got permanently removed. Do you know how to restore the Windows Store? I need it now. Thanks

  22. Mario says:

    Hi. I'd like to test this script. Which extension should this file get? .bat?

Skip to main content