Reduce the Size of the Component Store in an Offline Windows Image

You can use the Deployment Image Servicing and Management (DISM) tool to mount a Windows image from a WIM, VHD, or VHDX file and modify it.

Analyze and clean up the Component Store (WinSxS folder) in an offline Windows image

To complete the walkthrough, you need:

  • A technician PC
  • A .wim, .vhdx, or .ffu image of Windows 10, Windows Server 2016, or later.

Analyze the size of the Component Store in an offline Windows image

  1. Copy your image file to the technician PC's local drive, for example: C:\test\images.

  2. Open a Command prompt as administrator.

  3. Create a folder for your mounted image, for example C:\test\offline.

  4. Run DISM /Get-ImageInfo to retrieve the name or index number for the image that you want to update. For example:

    Dism /Get-ImageInfo /ImageFile:C:\test\images\MyImage.wim
    

    Note

    For .ffu and virtual hard disk files, the index: will be 1.

  5. Mount the Windows image:

    Dism /Mount-Image /ImageFile:C:\test\images\MyImage.wim /Index:1 /MountDir:C:\test\offline
    

    Since WIM files can contain one or more images, you must specify an index or name value. To mount an image from a VHD or FFU, you must specify /Index:1.

  6. Analyze the size of the component store. For example:

    Dism /Image:C:\test\offline /Cleanup-Image /AnalyzeComponentStore
    

    To learn about what's in the output, see Determine the Actual Size of the WinSxS Folder.

  7. If the component store cleanup was recommended in the displayed report, then you can start cleanup of the image. For example:

    Dism /Image:C:\test\offline /Cleanup-Image /StartComponentCleanup
    
  8. You can reduce the size of the component store further by adding the /ResetBase parameter. For example:

    Dism /Image:C:\test\offline /Cleanup-Image /StartComponentCleanup /ResetBase
    

    In Windows 10, version 1607 and later, you can specify the /Defer parameter with /Resetbase to defer any long-running cleanup operations to the next automatic maintenance. Only use /Defer as an option in the factory where DISM /Resetbase requires more than 30 minutes to complete.

    A component cleanup maintenance task is scheduled to run weekly, with a two-week deadline. In the first week, the maintenance task will only run during system idle maintenance windows. If it's unable to complete (for example, the computer is turned off when not in use) then the task scheduler runs more often, and the task may run while the system is not idle.

    To see the performance effects while the task is running, run:

    Schtasks.exe /Run /I /TN \Microsoft\Windows\Servicing\StartComponentCleanup
    
  9. Commit the changes and unmount the image in order to save the changes that you’ve made. For example:

    Dism /Unmount-Image /MountDir:C:\test\offline /Commit
    

Manage the Component Store

Clean Up the WinSxS Folder

Determine the Actual Size of the WinSxS Folder

DISM Operating System Package Servicing Command-Line Options