1. Thvle

    Thvle MDL Senior Member

    Oct 7, 2012
    254
    58
    10
    To update an ISO, I need to add the latest one SSU and CU update only?
     
  2. Can anyone provide me post, video or some guide that I can properly clean an ISO of all unneccessary things/bloatware/privacy issues using this tool?
    I don't know where to start and 1000 pages is a lot of reading, so sorry for taking it the easy way. Thanks in advance.
     
  3. doubtfire

    doubtfire MDL Junior Member

    May 26, 2015
    94
    8
    0
    First remove everything you can just by going through the menus - it's straightforward - then you go ahead and get that error (see a few posts above), then you run that powershell command I posted above to fix the errors.
     
  4. fch1993

    fch1993 MDL Senior Member

    Mar 14, 2020
    431
    350
    10
    @MSMG

    In Packs\Apps\w10, some packages have the same hash with different names, such as "Microsoft.XboxGameOverlay" and "Microsoft.XboxIdentityProvider"

    which should I keep?
     
  5. JLT2000

    JLT2000 MDL Junior Member

    Nov 3, 2020
    69
    20
    0
    #18905 JLT2000, Mar 30, 2021
    Last edited: Mar 31, 2021
    The best way to remove all the bloat from the image is to use 3-3-2 (Toolkit Method)

    Remember to use whd update pack before, it will only work with the CU update from changelog

    Make your list from
    Toolkit\Bin\Lists\ToolKitHelper_Templates (Supported Windows List)

    And copy that list in the correct order into Toolkit\Bin\Lists RemovePkgsList

    I have made changes to this list, so make your own list.

    This list will remove most of the worst bloat from the image

    CEIP
    LocationService
    UnifiedTelemetryClient
    WindowsInsiderHub
    CBSPreview
    ContentDeliveryManager
    MapControl
    OneDrive
    PeopleExperienceHost
    RetailDemoContent
    XboxClient
    3DViewer
    AdvertisingXaml
    Alarms
    BingWeather
    Camera
    CommunicationsApps
    Cortana
    DesktopAppInstaller
    FeedbackHub
    GetHelp
    Getstarted
    Maps
    MixedRealityPortal
    OfficeHub
    OfficeOneNote
    Paint3D
    People
    Photos
    ScreenSketch
    SkypeApp
    SolitaireCollection
    SoundRecorder
    StickyNotes
    XboxApp
    XboxIdentityProvider
    YourPhone
    ZuneMusic
    ZuneVideo

    If u only wanna remove all bloat apps and nothing else, you can use 3-2 (this way should work on any image, updated or not) MS Dism Way

    Make your list from
    Toolkit\Bin\Lists\DISM_Templates (Supported Windows List)

    And copy that list in the correct order into Toolkit\Bin\Lists RemoveAppsList

    I have made changes to this list, so make your own list.

    This list will remove most of the bloat apps from the image

    Microsoft.549981C3F5F10
    Microsoft.BingWeather
    Microsoft.DesktopAppInstaller
    Microsoft.GetHelp
    Microsoft.Getstarted
    Microsoft.HEIFImageExtension (Keep for Photo App)
    Microsoft.Microsoft3DViewer
    Microsoft.MicrosoftOfficeHub
    Microsoft.MicrosoftSolitaireCollection
    Microsoft.MicrosoftStickyNotes
    Microsoft.MixedReality.Portal
    Microsoft.MSPaint
    Microsoft.Office.OneNote
    Microsoft.People
    Microsoft.ScreenSketch
    Microsoft.SkypeApp
    Microsoft.StorePurchaseApp (Windows Store Related)
    Microsoft.VP9VideoExtensions (Keep to view Streaming in Chrome Browser)
    Microsoft.Wallet (Windows Store Related)
    Microsoft.WebMediaExtensions
    Microsoft.WebpImageExtension
    Microsoft.Windows.Photos
    Microsoft.WindowsAlarms
    Microsoft.WindowsCalculator
    Microsoft.WindowsCamera
    microsoft.windowscommunicationsapps
    Microsoft.WindowsFeedbackHub
    Microsoft.WindowsMaps
    Microsoft.WindowsSoundRecorder
    Microsoft.WindowsStore (Keep to update the needed apps)
    Microsoft.Xbox.TCUI
    Microsoft.XboxApp
    Microsoft.XboxGameOverlay
    Microsoft.XboxGamingOverlay (Keep for gaming)
    Microsoft.XboxIdentityProvider
    Microsoft.XboxSpeechToTextOverlay
    Microsoft.YourPhone
    Microsoft.ZuneMusic
    Microsoft.ZuneVideo
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  6. MSMG

    MSMG MDL Developer

    Jul 15, 2011
    6,414
    15,627
    210
    The code below is working properly

    Code:
    choice /C:YN /N /M "Do you want to cleanup Image folder ? ['Y'es/'N'o] : "
    echo.
    if %errorlevel% equ 1 (
        echo.-------------------------------------------------------------------------------
        echo.Cleaning up Image folder...
        echo.-------------------------------------------------------------------------------
        echo.
    

    Code:
    ===============================================================================
             MSMG ToolKit - Apply & Save Changes to the Source Images
    ===============================================================================
    
    -------------------------------------------------------------------------------
    ####Starting Applying & Saving Changes to Source Images########################
    -------------------------------------------------------------------------------
    
    Do you want to trim unselected Image editions ? ['Y'es/'N'o] : N
    
    Do you want to cleanup Image folder ? ['Y'es/'N'o] : N
    
    -------------------------------------------------------------------------------
    Optimizing Source [Boot.wim] Image with Maximum Compression...
    -------------------------------------------------------------------------------
    
    Deployment Image Servicing and Management tool
    Version: 10.0.20317.1
    
    Exporting image
    [==========================100.0%==========================]
    Exporting image
    [==========================100.0%==========================]
    The operation completed successfully.
    
    -------------------------------------------------------------------------------
    Applying Changes & Un-Mounting [Install.wim, Index : 1] Image...
    -------------------------------------------------------------------------------
    
    Deployment Image Servicing and Management tool
    Version: 10.0.20317.1
    
    Saving image
    [==========================100.0%==========================]
    Unmounting image
    [==========================100.0%==========================]
    The operation completed successfully.
    
    -------------------------------------------------------------------------------
    Optimizing Source [Install.wim] Image with Maximum Compression...
    -------------------------------------------------------------------------------
    
    Deployment Image Servicing and Management tool
    Version: 10.0.20317.1
    
    Exporting image
    [==========================100.0%==========================]
    Exporting image
    [==========================100.0%==========================]
    The operation completed successfully.
    
    -------------------------------------------------------------------------------
    ####Finished Applying & Saving Changes to Source Images########################
    -------------------------------------------------------------------------------
    
    ===============================================================================
    
    Press any key to continue . . .
    
    Though it's not necessary to optimize boot.wim if it's not been modified but with recent Windows 10 versions the original boot.wim/winre.wim aren't optimized properly and so made to be optimized irrespective of whether the user had modified it or not.

    In next version will modify the Toolkit to optimize boot.wim only if it has been mounted.

    Will check the message box and update.

     
  7. MSMG

    MSMG MDL Developer

    Jul 15, 2011
    6,414
    15,627
    210
    Need to update the files and the Hash, will do it soon.

     
  8. Gloeyisk

    Gloeyisk MDL Member

    Sep 2, 2020
    122
    14
    10
    There's only:
    Code:
    Component Removal Template
    ==========================
    
    and nothing else, unfortunately.

    It seems it's just a template or something? Correct me if I'm wrong.
    Because it's only available for Windows 8.1 and 10.
     
  9. rorewe4314

    rorewe4314 MDL Member

    Jun 18, 2020
    107
    22
    10
    MSMG, If I just remove packages from the image without dism, is that possible?
     
  10. Edge cannot be removed using MSMG ? I've cleaned the ISO but the browser still remains.
    Also, for all given options, can we see log which commands are used?
     
  11. inTerActionVRI

    inTerActionVRI MDL Expert

    Sep 23, 2009
    1,770
    3,601
    60
    #18911 inTerActionVRI, Mar 30, 2021
    Last edited: Mar 30, 2021
    No... No, that was not what I wanted to say. There are moments when I want to ask questions and I don't express myself properly. Sometimes I say a few things to finally ask something and forget, heheheh

    So, you don't have to change it. That was the logical reason that I lacked, to understand the sense of why to optimize, even if it had not been mounted.
    Good point.

    In this way, it would also be interesting to optimize WinRE.wim even if it is not mounted.

    I had problems with the code that you demonstrated to be working.
    I don't know why I'm having some problems with the Batch Script in this edition that I'm using, it wasn't supposed to occur. Daily use version: Windows 10 Pro for Workstation 1909 18363.418.
    I imagined other people experiencing this problem. Only, that is why I suggested such a change.

    So, boot.wim could be with ExportImageIndex if Is BootImage Selected and ExportImage if not.
    But I don't know if that would really be necessary. I think about leaving it like that, in custom because there is optimization for each index in boot.wim, in particular, no more reason.

    And, for WinRE.wim this does not interfere since there is an image for each index, just move the ExportImage outside the scope of IsRecoveryImageSelected.
    follow the code:
    Code:
    :: Saving & Un-Mounting Source Boot Images
    if "%IsBootImageSelected%" equ "Yes" (
       for /l %%i in (1, 1, 2) do (
           echo.-------------------------------------------------------------------------------
           echo.Applying Changes ^& Un-Mounting [Boot.wim, Index : %%i] Image...
           echo.-------------------------------------------------------------------------------
           call :UnMountImage "%BootMount%\%%i", "Commit"
           call :RemoveFolder "%BootMount%\%%i"
    
           :: Optimizing Source Boot Image with Maximum Compression.
           echo.-------------------------------------------------------------------------------
           echo.Optimizing Source [Boot.wim, Index : %%i] Image with Maximum Compression...
           echo.-------------------------------------------------------------------------------
           call :ExportImageIndex "%BootWim%", %%i, "%Temp%\rebuildBoot.wim", "WIM", "No"
       )
    ) else (
       :: Optimizing Source Boot Image with Maximum Compression.
       echo.-------------------------------------------------------------------------------
       echo.Optimizing Source [Boot.wim] Image with Maximum Compression...
       echo.-------------------------------------------------------------------------------
       call :ExportImage "%BootWim%", "%Temp%\rebuildBoot.wim", "WIM", "No"
    )
    move /y "%Temp%\rebuildBoot.wim" "%BootWim%" >nul
    
    :: Saving & Un-Mounting Source Install & Recovery Images
    for /l %%i in (1, 1, %ImageCount%) do (
       if exist "%InstallMount%\%%i" (
           if "%IsRecoveryImageSelected%" equ "Yes" (
               echo.-------------------------------------------------------------------------------
               echo.Applying Changes ^& Un-Mounting [Install.wim, Index : %%i -^> WinRE.wim] Image...
               echo.-------------------------------------------------------------------------------
               call :UnMountImage "%WinReMount%\%%i", "Commit"
               call :RemoveFolder "%WinReMount%\%%i"
           )
    
           :: Optimizing Source Recovery Image with Maximum Compression.
           echo.-------------------------------------------------------------------------------
           echo.Optimizing Source [Install.wim, Index : %%i -^> WinRE.wim] Image...
           echo.-------------------------------------------------------------------------------
           call :ExportImage "%InstallMount%\%%i\%WinReWim%", "%Temp%\rebuildWinRE.wim", "WIM", "No"
           move /y "%Temp%\rebuildWinRE.wim" "%InstallMount%\%%i\%WinReWim%" >nul
    
           echo.-------------------------------------------------------------------------------
           echo.Applying Changes ^& Un-Mounting [Install.wim, Index : %%i] Image...
           echo.-------------------------------------------------------------------------------
           call :UnMountImage "%InstallMount%\%%i", "Commit"
           call :RemoveFolder "%InstallMount%\%%i"
       )
    )
    
    Hence it is up to you what is appropriate and what is not.

    Thanks for feedback, @MSMG!
    Cheers!
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  12. Jerameat

    Jerameat MDL Novice

    Jul 25, 2019
    1
    0
    0
    Hello!

    Im trying to use the tookkit to remove windows components but it keeps throwing out "\MSMGTOOKIT\Bin\ToolKitHelper.exe' is not recognized as an internal or external command, operable program or batch file." is there something Im missing on this?
     
  13. Fen-X

    Fen-X MDL Novice

    Aug 31, 2019
    27
    31
    0
    #18913 Fen-X, Mar 30, 2021
    Last edited: Mar 30, 2021
    On my side, edge and edge chromium were removed and didn t still remain. Can you give more info as i can tell you what to do to solve your issue?
     
  14. Ace2

    Ace2 MDL Guru

    Oct 10, 2014
    2,206
    1,909
    90
    MSMG Please add these packages to removal.

    Microsoft.AccountsControl_cw5n1h2txyewy
    Microsoft.AsyncTextService_8wekyb3d8bbwe
    microsoft.creddialoghost_cw5n1h2txyewy
    Microsoft.Windows.AddSuggestedFoldersToLibraryDialog_cw5n1h2txyewy
    Microsoft.Windows.AppResolverUX_cw5n1h2txyewy
    Microsoft.Windows.CapturePicker_cw5n1h2txyewy
    Microsoft.Windows.FilePicker_cw5n1h2txyewy
    Microsoft.Windows.PinningConfirmationDialog_cw5n1h2txyewy
    Microsoft.Windows.XGpuEjectDialog_cw5n1h2txyewy
    MicrosoftWindows.Client.CBS_cw5n1h2txyewy
    MicrosoftWindows.UndockedDevKit_cw5n1h2txyewy
    NcsiUwpApp_8wekyb3d8bbwe

    Or post how to remove with command.;)
     
  15. JLT2000

    JLT2000 MDL Junior Member

    Nov 3, 2020
    69
    20
    0
    #18915 JLT2000, Mar 31, 2021
    Last edited: Mar 31, 2021
    Remember to use whd update pack before, it will only work with the CU update kb5000802 from the changelog 1904X.867. Thx to MSMG, or who made it possible.:cool:

    If you dont use the right CU update, it will not work as expected, (only removal with Toolkit Method, is not possible anymore)

    Thx to MS security crap in 2004 and above

    I just made and image with this list, and both edge is gone

    3-3-2 (Toolkit Method)

    EdgeChromium
    CEIP
    LocationService
    UnifiedTelemetryClient
    WindowsInsiderHub
    CBSPreview
    ContentDeliveryManager
    Edge
    MapControl
    OneDrive
    PeopleExperienceHost
    RetailDemoContent
    XboxClient
    3DViewer
    AdvertisingXaml
    Alarms
    BingWeather
    Camera
    CommunicationsApps
    Cortana
    DesktopAppInstaller
    FeedbackHub
    GetHelp
    Getstarted
    Maps
    MixedRealityPortal
    OfficeHub
    OfficeOneNote
    Paint3D
    People
    Photos
    ScreenSketch
    SkypeApp
    SolitaireCollection
    SoundRecorder
    StickyNotes
    XboxApp
    XboxIdentityProvider
    YourPhone
    ZuneMusic
    ZuneVideo
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  16. rorewe4314

    rorewe4314 MDL Member

    Jun 18, 2020
    107
    22
    10
    MSMG, How can I display a list of hidden packages in a txt file? Can I remove Edge Browser using this method and how can I add it to the script?
    P.S
    Everything works great!
     
  17. Fen-X

    Fen-X MDL Novice

    Aug 31, 2019
    27
    31
    0
    To remove asynctext etc... you can use pstool, db browser for sql and sqlite studio (for the trigger in machine-srd) to change the IsInbox value. After that you will be able to remove them with powershell command.

    Tonight, i will try to describe the hole process.
     
  18. MSMG

    MSMG MDL Developer

    Jul 15, 2011
    6,414
    15,627
    210
    Oh yes for W7 forgot to add the DISM package and feature list, will compile the list and add it.

     
  19. MSMG

    MSMG MDL Developer

    Jul 15, 2011
    6,414
    15,627
    210
    Without DISM? then you need to manually remove the file and registry data reading the package .mum (if available), .manifest files and the registry.

     
  20. MSMG

    MSMG MDL Developer

    Jul 15, 2011
    6,414
    15,627
    210
    You can use ExportImage for Boot.wim since it does the task at once and also reduces the steps, the current Toolkit version uses ExportImage.

    Yes the optimize image for recovery image can be moved out of the loop.