The Deployment Guys

Helping to deploy your world automagically...

Update – Removing Built-in Applications from Windows 8

Update – Removing Built-in Applications from Windows 8

  • Comments 20
  • Likes

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
    }
    else
    {
        Write-Host "Unable to find package: $App"
    }
}

 

 

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.

  • 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 :-)

    Thanks,

    -Michael

  • Hi Mike,

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

    Ben

  • 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.

  • 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.

    Thanks,

    Ben

  • 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?

  • 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.

    Thanks,

    Ben

  • 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.

  • 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.

    Thanks,

    Ben

  • 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.

  • Hi Jonathan,

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

    Thanks,

    Ben

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

  • Hi John,

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

    Thanks,

    Ben

  • 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

    Regards.

  • Hi MS Expert2010,

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

    Ben

  • How can I remove the Windows store again?

    Thanks,

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment