ThisIsWin11 is the most comprehensive tool I know for for Windows 11. For Windows 10, I use ShutUp10 but it’s mostly geared toward privacy tweaks and telemetry.
Yes, unfortunitally I do have some experience with trying to customize Windows 10 ISO. Whenever Microsoft decided to start installing Candy Crush and other garbage apps without asking, but I thought it would be a great idea to strip all those apps out of the ISO for my corporate environment. It worked great… that is until the next Window feature upgrade and it led to massive breakage and reimaging quite a few workstations. My current solution for app management/debloating is to use group policy to disable unneeded services, registry keys to prevent auto-installation of apps, and a startup script to remove default apps from each user profile. Strongly advise against trying to remove Windows apps directly from the ISO using Remove-ProvisionedAppxPackage
. YMMV
PowerShell Script I use to remove unwanted apps on a per user basis
Get-AppxPackage *pandora* | Remove-AppxPackage
Get-AppxPackage *duolingo* | Remove-AppxPackage
Get-AppxPackage *eclipsemanager* | Remove-AppxPackage
Get-AppxPackage *photoshop* | Remove-AppxPackage
Get-AppxPackage *actipro* | Remove-AppxPackage
Get-AppxPackage *powerbi* | Remove-AppxPackage
Get-AppxPackage *speedtest* | Remove-AppxPackage
Get-AppxPackage *office.sway* | Remove-AppxPackage
Get-AppxPackage *remotedesktop* | Remove-AppxPackage
Get-AppxPackage *3dbuilder* | Remove-AppxPackage
Get-AppxPackage *windowsalarms* | Remove-AppxPackage
Get-AppxPackage *windowscommunicationsapps* | Remove-AppxPackage
Get-AppxPackage *windowscamera* | Remove-AppxPackage
Get-AppxPackage *officehub* | Remove-AppxPackage
Get-AppxPackage *skypeapp* | Remove-AppxPackage
Get-AppxPackage *getstarted* | Remove-AppxPackage
Get-AppxPackage *zunemusic* | Remove-AppxPackage
Get-AppxPackage *windowsmaps* | Remove-AppxPackage
Get-AppxPackage *solitairecollection* | Remove-AppxPackage
Get-AppxPackage *bingfinance* | Remove-AppxPackage
Get-AppxPackage *zunevideo* | Remove-AppxPackage
Get-AppxPackage *bingnews* | Remove-AppxPackage
Get-AppxPackage *onenote* | Remove-AppxPackage
Get-AppxPackage *windowsphone* | Remove-AppxPackage
Get-AppxPackage *windowsstore* | Remove-AppxPackage
Get-AppxPackage *photos* | Remove-AppxPackage
Get-AppxPackage *bingsports* | Remove-AppxPackage
Get-AppxPackage *soundrecorder* | Remove-AppxPackage
Get-AppxPackage *weather* | Remove-AppxPackage
Get-AppxPackage *feedbackhub* | Remove-AppxPackage
Get-AppxPackage *gethelp* | Remove-AppxPackage
Get-AppxPackage *mspaint* | Remove-AppxPackage
Get-AppxPackage *oneconnect* | Remove-AppxPackage
Get-AppxPackage *print3d* | Remove-AppxPackage
Get-AppxPackage *3dviewer* | Remove-AppxPackage
Get-AppxPackage *microsoft.messaging* | Remove-AppxPackage
Get-AppxPackage *xbox* | Remove-AppxPackage
Get-AppxPackage *freshpaint* | Remove-AppxPackage
Get-AppxPackage *wunderlist* | Remove-AppxPackage
Get-AppxPackage *wikipedia* | Remove-AppxPackage
Get-AppxPackage *translator* | Remove-AppxPackage
Get-WindowsCapability -online | ? {$_.Name -like '*ContactSupport*'} | Remove-WindowsCapability online
Get-WindowsCapability -online | ? {$_.Name -like '*QuickAssist*'} | Remove-WindowsCapability online
Disable automatic installation of Windows Apps (I add these keys to c:\users\default\ntuser.dat so they are applied to all new Windows users)
`Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager]
“FeatureManagementEnabled”=dword:00000000
“OemPreInstalledAppsEnabled”=dword:00000000
“PreInstalledAppsEnabled”=dword:00000000
“RotatingLockScreenEnabled”=dword:00000000
“RotatingLockScreenOverlayEnabled”=dword:00000000
“SilentInstalledAppsEnabled”=dword:00000000
“SoftLandingEnabled”=dword:00000000
“SystemPaneSuggestionsEnabled”=dword:00000000
“ContentDeliveryAllowed”=dword:00000000
“SubscribedContent-338388Enabled”=dword:00000000
“SubscribedContent-338389Enabled”=dword:00000000
“SubscribedContent-338393Enabled”=dword:00000000
“PreInstalledAppsEverEnabled”=dword:00000000
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager\Renderers]
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager\Renderers\SubscribedContent-310091]
“Version”=“2”
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager\Renderers\SubscribedContent-310092]
“Version”=“2”
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager\Renderers\SubscribedContent-338380]
“Version”=“2”
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager\Renderers\SubscribedContent-338381]
“Version”=“2”
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager\Renderers\SubscribedContent-338387]
“Version”=“2”
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager\Renderers\SubscribedContent-338388]
“Version”=“2”
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager\Subscriptions]
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Notifications\Settings\Windows.SystemToast.Suggested]
“Enabled”=dword:00000000
[HKEY_CURRENT_USER\Control Panel\International\User Profile]
“HttpAcceptLanguageOptOut”=dword:00000001`