Windows OS Hub
  • Windows
    • Windows 11
    • Windows Server 2022
    • Windows 10
    • Windows Server 2019
    • Windows Server 2016
  • Microsoft
    • Active Directory (AD DS)
    • Group Policies (GPOs)
    • Exchange Server
    • Azure and Microsoft 365
    • Microsoft Office
  • Virtualization
    • VMware
    • Hyper-V
  • PowerShell
  • Linux
  • Home
  • About

Windows OS Hub

  • Windows
    • Windows 11
    • Windows Server 2022
    • Windows 10
    • Windows Server 2019
    • Windows Server 2016
  • Microsoft
    • Active Directory (AD DS)
    • Group Policies (GPOs)
    • Exchange Server
    • Azure and Microsoft 365
    • Microsoft Office
  • Virtualization
    • VMware
    • Hyper-V
  • PowerShell
  • Linux

 Windows OS Hub / Windows 10 / How to Remove Built-in Apps, Features & Editions from a Windows 10 Install Image (WIM file)

March 17, 2024

How to Remove Built-in Apps, Features & Editions from a Windows 10 Install Image (WIM file)

In this guide we’ll show how to remove Microsoft Store provisioned apps, features (capabilities), and unused Windows editions from a Windows 10 installation image (install.wim file). Let’s do it manually using DISM or PowerShell (but all actions can be automated using some scripts). Finally, we’ll get a clean Windows 10 install image without any programs or components we don’t need. This image will contain only core Microsoft Store apps and features.

This article explains how to clean and optimize the Windows 10 install image to deploy it on corporate computers in case of a clean install or build upgrade. After upgrading the build on users’ computers using SCCM (from Windows 10 1803 to Windows 10 1909) via setup.exe /auto upgrade, we found that some built-in UWP (Microsoft Store) apps uninstalled earlier appeared on these computers again.

Contents:
  • How to Remove Additional OS Editions from a Windows 10 Install.WIM File?
  • Removing Built-in UWP Apps from Windows 10 Install Image
  • Disable or Remove Capabilities & Features from a Windows 10 Install Image
  • Optimizing the Windows 10 WIM Installation Image

Note. Windows 10 Build 1909 was used as an example in this article, but the guide also works with other Windows 10 builds.

When you install Windows 10 on a computer, the Windows image \sources\install.wim (or install.esd) is actually deployed. If your Windows 10 install image is stored as an ISO file, mount it to a virtual CD drive and copy the E:\sources\install.wim (or install.esd) file to your local disk. You can also copy the entire directory, but we need only the .wim file.

The DISM command is used to modify a .WIM file. If you are using an older Windows image that you are making an image for, make sure that you are using the latest DISM version. To work with Windows 10 install.wim files in other OS versions, you need to install the Windows ADK (Windows Assessment and Deployment Kit). You can download the ADK here: https://msdn.microsoft.com/en-us/windows/hardware/dn913721.aspx. Scroll down the page and click “Download the Windows ADK for Windows 10”. Currently, the latest version is ADK for Windows 10, version 2004. You should only install the Deployment Tools instead of the whole ADK toolkit.

windows 10 install deployment tools from adk

It is recommended to use the full path to DISM.exe when running image modification commands (for example, ‘C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM\dism.exe’). Earlier DISM versions may not work with newer versions of .wim files.

How to Remove Additional OS Editions from a Windows 10 Install.WIM File?

By default, the Windows 10 installation image generated by the Windows 10 Media Creation Tool contains all available Windows editions. If you are using only one Windows 10 edition (Professional or Enterprise, as a rule), you can remove all additional Windows editions from your install image.

Removing unnecessary editions of Windows from install.wim doesn’t reduce the size of the .WIM file much. Only XML files and some metadata are removed.

Get the list of available Windows 10 editions in the install.wim file:

Dism /Get-WimInfo /WimFile:"e:\sources\install.esd"

Dism /Get-WimInfo - windows editions in install.wim

In our example, there are 9 editions in the image: Windows 10 Home, Windows 10 Home Single Language, Windows 10 Education, Windows 10 Enterprise, Windows 10 Pro, etc., with indices from 1 to 9.

You can export an installation image of a specific Windows 10 edition from an ESD file to a WIM image using the following command:

Dism /export-image /SourceImageFile:c:\sources\install.esd /SourceIndex:6 /DestinationImageFile:c:\iso\install.wim /Compress:max /CheckIntegrity

dism export-image specific win 10 edition

This command will create a new install.wim file containing one edition only — Windows 10 Pro. Its index in the image will change to 1.

Let’s get a detailed information about the remaining image left in the WIM file:

dism /get-wiminfo /wimfile:c:\iso\install.wim /index:1

Index : 4
Name : Windows 10 Pro
Description : Windows 10 Pro
Size : 14,754,777,474 bytes
WIM Bootable : No
Architecture : x64
Hal : <undefined>
Version : 10.0.18363
ServicePack Build : 418
ServicePack Level : 0
Edition : Professional
Installation : Client
ProductType : WinNT
ProductSuite : Terminal Server
System Root : WINDOWS
Directories : 22541
Files : 96467
Created : 10/7/2019 - 4:05:55 AM
Modified : 11/15/2019 - 8:46:50 AM
Languages :
en-US (Default)

If you want to keep multiple Windows editions in install.wim, you can remove the editions you do not need using the /delete-image parameter of the DISM tool.

For example, you want to remove the Home and Home Single Language editions with the indices 1 and 3:

Dism /Delete-Image /ImageFile:c:\sources\install.wim /Index:1 /CheckIntegrity
Dism /Delete-Image /ImageFile:c:\sources\install.wim /Index:3 /CheckIntegrity

The /CheckIntegrity parameter allows you to undo the operations of your WIM file modification if DISM detects any structural damage in the image.

Or you can delete the editions by their names:

Dism /Delete-Image /ImageFile:c:\sources\install.wim /Name:"Windows 10 Education" /CheckIntegrity

Also, you can remove the editions you don’t need from your Windows 10 install image using PowerShell:

Remove-WindowsImage -ImagePath "c:\sources\install.wim" -Index 2 –CheckIntegrity

Removing Built-in UWP Apps from Windows 10 Install Image

You can remove all provisioned UWP (Microsoft Store) apps from your Windows 10 installation image. It is useful to install Windows faster and save space on your disk. You will also get rid of unwanted widgets, and it will be easier for your users to get insight into the operating system.

We will show you how to remove built-in UWP apps from install.wim using DISM or PowerShell.

Create a folder on your drive: C:\mount. Mount the Windows installation image (WIM) to this folder:

dism.exe /mount-wim /wimfile:c:\iso\install.wim /mountdir:c:\mount /index:1

Note that I used /index:1, since I had removed Windows editions I didn’t need from the image as described above. You can specify the index of the image you need.

dism moun-wim install.wim

After you have mounted your WIM file, you can display the list of provisioned Microsoft Store app packages. I have used a more convenient text file format to view the command output:

Dism.exe /image:c:\mount /Get-ProvisionedAppxPackages > c:\ps\apps.txt

The information about each app will look like this:

DisplayName : Microsoft.BingWeather
Version : 4.25.20211.0
Architecture : neutral
ResourceId : ~
PackageName : Microsoft.BingWeather_4.25.20211.0_neutral_~_8wekyb3d8bbwe

dism get Get-ProvisionedAppxPackages from install.wim file

Now it’s time for the most interesting things: we will remove all apps we don’t need. Unfortunately, apps like Edge, Cortana, Contact Support, and some others cannot be removed (but you can disable them using GPO). I also recommend to leave the calculator (Microsoft.WindowsCalculator), photo viewer (Microsoft.Windows.Photos), Microsoft.VP9VideoExtensions, since new builds of Windows 10 don’t have classic (desktop) versions of these apps. Also, don’t remove the Microsoft.WindowsStore, because it is hard to restore it if you need it one day.

You can remove apps one by one or all at once. To remove a modern app from the mounted image, specify its name (PackageName). Let’s remove the BingWeather app:

dism.exe /image:c:\mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.BingWeather_4.25.20211.0_neutral_~_8wekyb3d8bbwe

dism Remove-ProvisionedAppxPackage

In the same way, remove all built-in apps you do not need.

When you are done, unmount the image and save the changes (see below how to do it).

Also, you can remove preinstalled apps from the Windows 10 installation image using a ready-made PowerShell script from the TechNet Gallery: https://gallery.technet.microsoft.com/Removing-Built-in-apps-65dc387b.

An advantage of this method is that you don’t need to mount the wim file manually. All you have to do is specify a path to the .wim file and run the PowerShell script. However, if something goes wrong, it will be harder to find an error no matter whether it is related to DISM or the script itself.

Open PowerShell as an administrator and run the following command:

.\removeapps.ps1 -pathtowim c:\Windows10\sources\install.wim -selectapps $true

powershell dcript Removing-Built-in-apps from windows 10 install image

You will see each app in a separate line and you can select whether to remove (Y) or leave (N) it.

After you select an action for all of the apps, the script will remove those you don’t need. Unlike DISM, you don’t need to save changes to the .wim file — they will be saved by the script.

If you want to remove all apps, remove the parameter selectapps $true at the end of the command. This will remove all applications that can be removed.

When working with PowerShell, you might get an error because the current execution policy settings don’t allow PowerShell scripts to run. powershell execution policy

To fix it, run this PowerShell command and change the Execution policy settings:

Set-ExecutionPolicy -ExecutionPolicy Unrestricted

This will allow PS1 scripts to run on.

Disable or Remove Capabilities & Features from a Windows 10 Install Image

You can use DISM to remove (or install) certain features from your Windows 10 installation image.

Get the list of preinstalled components in the mounted Windows 10 installation image using DISM:

Dism.exe /image:c:\mount /Get-Capabilities

Dism.exe /Get-Capabilities

A component may be installed or disabled (Not Present).

You can also display a list of all Windows components in the image using PowerShell (in this example, we will display only the installed Windows components):

Get-WindowsCapability -Path c:\mount|?{$_.State -eq "Installed"}

Windows 10 1909 has the following components preinstalled:

App.Support.QuickAssist~~~~0.0.1.0
Browser.InternetExplorer~~~~0.0.11.0
Hello.Face.18330~~~~0.0.1.0
Hello.Face.Migration.18330~~~~0.0.1.0
Language.Basic~~~en-US~0.0.1.0
Language.Handwriting~~~en-US~0.0.1.0
Language.OCR~~~en-US~0.0.1.0
MathRecognizer~~~~0.0.1.0
Media.WindowsMediaPlayer~~~~0.0.12.0
OneCoreUAP.OneSync~~~~0.0.1.0
OpenSSH.Client~~~~0.0.1.0

You can remove an installed component by its name. Let’s remove a face recognition component Hello.Face:

Dism.exe /image:c:\mount/Remove-Capability /CapabilityName:Hello.Face.18330~~~~0.0.1.0

Also, you can enable some of the capabilities in the image. For example, to install all RSAT administrative tools:

Get-WindowsCapability -Path c:\mount |? {$_.Name -like "*RSAT*" -and $_.State -eq "NotPresent"} | Add-WindowsCapability -Path c:\mount

In the same way, you can enable/disable other components. For example, let’s enable .NET 3.5 and disable SMB1:

dism.exe /image:C:\mount /enable-feature /featurename:netfx3 /all /source:E:\sources\sxs
dism.exe /image:C:\mount /disable-feature /featurename:smb1protocol

dism.exe /enable-feature /disable-feature in install.wim file

In the same way, you can integrate drivers or the latest security updates to your Windows 10 install image.

Optimizing the Windows 10 WIM Installation Image

After you have made changes to your Windows 10 install image, optimize and clean it using the /cleanup-image parameter.

Remove previous component versions using the /ResetBase option:

Dism /Image:C:\Mount /cleanup-image /StartComponentCleanup /ResetBase

Check the image for errors using Dism /ScanHealth.

DISM /Image:C:\Mount /Cleanup-Image /ScanHealth

It remains to unmount the image and save the changes to the WIM file:

dism.exe /unmount-wim /mountdir:c:\mount /commit

If you have changed your mind, use the /discard parameter instead of /commit to discard changes.

To save space, you can additionally compress install.wim to install.esd using the command:

Dism /Export-Image /SourceImageFile:c:\iso\install.wim /SourceIndex:1 /DestinationImageFile:c:\iso\install.esd /Compress:recovery

Then copy your install.wim (install.esd) to your Windows install media. You should only copy the .wim file and not update any other files.

To create an ISO image from your install files, you may use a free portable program Folder2ISO, or other similar programs.

4 comments
7
Facebook Twitter Google + Pinterest
Windows 10
previous post
How to Enable and Configure SNMP on VMWare ESXi Host
next post
How to Connect L2TP/IPSec VPN Server From Windows

Related Reading

PowerShell: Get Folder Size on Windows

April 2, 2024

Fix: The Computer Restarted Unexpectedly or Encountered an...

May 16, 2024

Fixing “Winload.efi is Missing or Contains Errors” in...

March 16, 2024

How to Download Offline Installer (APPX/MSIX) for Microsoft...

March 12, 2024

How to Clean Up System Volume Information Folder...

March 17, 2024

How to Disable UAC Prompt for Specific Applications...

March 11, 2024

Protecting Remote Desktop (RDP) Host from Brute Force...

February 5, 2024

Fix: Photos App in Windows 10 Opens Extremely...

April 19, 2023

4 comments

Arindam Chatterjee June 14, 2022 - 4:56 am

for the command “.\removeapps.ps1 -pathtowim c:\Windows10\sources\install.wim -selectapps $true” how do you unmount the image when removal job are done…???

Reply
admin June 14, 2022 - 12:28 pm

dism.exe /unmount-wim /mountdir:c:\mount /commit

Reply
Sheetal October 7, 2022 - 7:20 am

Great Job.
Do we follow the similar steps for Windows 11?

Reply
Dana January 29, 2023 - 6:32 pm

Awesome! Finally someone that explains, with common sense, how to remove the junk from windows!
Thank You,
Star_1_Man

Reply

Leave a Comment Cancel Reply

join us telegram channel https://t.me/woshub
Join WindowsHub Telegram channel to get the latest updates!

Recent Posts

  • Map a Network Drive over SSH (SSHFS) in Windows

    May 13, 2025
  • Configure NTP Time Source for Active Directory Domain

    May 6, 2025
  • Cannot Install Network Adapter Drivers on Windows Server

    April 29, 2025
  • Change BIOS from Legacy to UEFI without Reinstalling Windows

    April 21, 2025
  • How to Prefer IPv4 over IPv6 in Windows Networks

    April 9, 2025
  • Load Drivers from WinPE or Recovery CMD

    March 26, 2025
  • How to Block Common (Weak) Passwords in Active Directory

    March 25, 2025
  • Fix: The referenced assembly could not be found error (0x80073701) on Windows

    March 17, 2025
  • Exclude a Specific User or Computer from Group Policy

    March 12, 2025
  • AD Domain Join: Computer Account Re-use Blocked

    March 11, 2025

Follow us

  • Facebook
  • Twitter
  • Telegram
Popular Posts
  • How to Download Offline Installer (APPX/MSIX) for Microsoft Store App
  • Fix: Windows Cannot Connect to a Shared Printer
  • How to Disable UAC Prompt for Specific Applications in Windows
  • Fix: The Computer Restarted Unexpectedly or Encountered an Unexpected Error on Windows
  • How to Clean Up System Volume Information Folder on Windows
  • Fixing “Winload.efi is Missing or Contains Errors” in Windows 10
  • How to Enable Windows Auto Login without a Password
Footer Logo

@2014 - 2024 - Windows OS Hub. All about operating systems for sysadmins


Back To Top