Latest posts by Michael Pietroforte (see all)
- VSCode as a console for PowerShell Core 6 – Part 1: Multiple shells - Wed, Mar 14 2018
- Announcing the 4sysops PowerShell group - Tue, Feb 20 2018
- Evernote backup on a Mac to Dropbox - Tue, Jan 9 2018
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
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
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.