1. Gloeyisk

    Gloeyisk MDL Member

    Sep 2, 2020
    117
    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.
     
  2. rorewe4314

    rorewe4314 MDL Member

    Jun 18, 2020
    107
    22
    10
    MSMG, If I just remove packages from the image without dism, is that possible?
     
  3. 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?
     
  4. inTerActionVRI

    inTerActionVRI MDL Expert

    Sep 23, 2009
    1,748
    3,575
    60
    #18924 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!
     
  5. 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?
     
  6. Fen-X

    Fen-X MDL Novice

    Aug 31, 2019
    27
    31
    0
    #18926 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?
     
  7. Ace2

    Ace2 MDL Expert

    Oct 10, 2014
    1,863
    1,524
    60
    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.;)
     
  8. JLT2000

    JLT2000 MDL Junior Member

    Nov 3, 2020
    68
    20
    0
    #18928 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...
  9. 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!
     
  10. 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.
     
  11. MSMG

    MSMG MDL Developer

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

     
  12. MSMG

    MSMG MDL Developer

    Jul 15, 2011
    6,414
    15,608
    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.

     
  13. MSMG

    MSMG MDL Developer

    Jul 15, 2011
    6,414
    15,608
    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.


     
  14. MSMG

    MSMG MDL Developer

    Jul 15, 2011
    6,414
    15,608
    210
    What's the source OS used and Is it Edge or Edge Chromium you referring?

    Even for older OS version below v2004, the MS has included the Edge Chromium with the CU and the Toolkit removal program needs to be updated to support removing Edge Chromium for these OS.

     
  15. MSMG

    MSMG MDL Developer

    Jul 15, 2011
    6,414
    15,608
    210
    What's the source OS used and Is it Edge or Edge Chromium you referring?

    Even for older OS version below v2004, the MS has included the Edge Chromium with the CU and the Toolkit removal program needs to be updated to support removing Edge Chromium for these OS.

     
  16. MSMG

    MSMG MDL Developer

    Jul 15, 2011
    6,414
    15,608
    210
    Will be adding below components for removal when I do resume updating the Toolkit removal program, it will be available from next version.

    Microsoft.AsyncTextService_8wekyb3d8bbwe - related to Maps and People
    microsoft.creddialoghost_cw5n1h2txyewy - Related to Hello UI
    Microsoft.Windows.XGpuEjectDialog_cw5n1h2txyewy - Modern Safe to Eject for External GPU
    NcsiUwpApp_8wekyb3d8bbwe - Related to Network Status Indicator for modern Apps.
    MicrosoftWindows.Client.CBS_cw5n1h2txyewy (User Experience for Windows) - Required for Touch screen, Store, it includes InputApp

    These components are required, so need to further check.

    Microsoft.AccountsControl_cw5n1h2txyewy - Required for User creation, Logging into Microsoft Services including Store and Edge Chromium
    Microsoft.Windows.AddSuggestedFoldersToLibraryDialog_cw5n1h2txyewy - Need to check
    Microsoft.Windows.AppResolverUX_cw5n1h2txyewy - Required for modern Open With Dialog
    Microsoft.Windows.CapturePicker_cw5n1h2txyewy - Required for Screen capture function
    Microsoft.Windows.FilePicker_cw5n1h2txyewy - Required for Modern File open/save dialog
    Microsoft.Windows.PinningConfirmationDialog_cw5n1h2txyewy - Required for Pin to Taskbar
    MicrosoftWindows.UndockedDevKit_cw5n1h2txyewy - Required for Settings and OOBE

     
  17. MSMG

    MSMG MDL Developer

    Jul 15, 2011
    6,414
    15,608
    210
    The below command will get the list of all packages excluding the language related.

    Code:
    Dir Windows\servicing\Packages\*.mum | findstr /v "en-US"
    
     
  18. inTerActionVRI

    inTerActionVRI MDL Expert

    Sep 23, 2009
    1,748
    3,575
    60
    #18938 inTerActionVRI, Mar 31, 2021
    Last edited: Mar 31, 2021
    Code:
    :: Saving & Un-Mounting Source Boot Images
    for /l %%i in (1, 1, 2) do (
       if exist "%BootMount%\%%i" (
           if "%IsBootImageSelected%" equ "Yes" (
               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] Image with Maximum Compression...
    echo.-------------------------------------------------------------------------------
    call :ExportImage "%BootWim%", "%Temp%\rebuildBoot.wim", "WIM", "No"
    move /y "%Temp%\rebuildBoot.wim" "%BootWim%" >nul
    
    Yes, I was going to ask about it.

    But now the question would be different.

    How could we do the conditions?
    They would have to be based on:
    if "%ImageBuild% geq "18362" if "%ImageBuild%" leq "18363" if %ImageServicePackBuild% gtr 1400 (
    if "%ImageBuild% geq "19041" if "%ImageBuild%" lss "19042" if %ImageServicePackBuild% gtr 900 (

    So:
    From which CU build did Edge Chromium begin to be forced?
     
  19. I've used ISO for 19043.899 from UUP Dump, I've removed Edge Chromium (I guess) with the Toolkit, however in VM, Edge was still there.
     
  20. MSMG

    MSMG MDL Developer

    Jul 15, 2011
    6,414
    15,608
    210
    I don't know from which CU but noticed with the current preview CU, knew that for v2004 it will be bundled but now even for 1903/9 it's been added, for v1809 it's not included.

    Now it's a mess first they released a Edge Chromium standalone update package which will copy the edge files to WinSxS folder and later gets installed on first boot.
    Then they included Edge Chromium package with 1909/2009 Enablement package which did the same as Edge Chromium standalone update package, later they released sysprep images with Edge Chromium installed.

    Now they included Edge Chromium as a .wim image embedded with-in the CU which gets applied to the Install.wim like I did created Edge Chromium Pack earlier for Toolkit.

    Don't know whether they will stop releasing Edge Chromium standalone update package or including it with Enablement package, I hope they do stop it and follow the Current CU embedded method so that it would be easy to check for Edge Chromium existence and removal.

    Soon or later the removal program needs to be update to current CU so it doesn't matter from which CU it's been included.