1. ceo54

    ceo54 MDL Addicted

    Aug 13, 2015
    969
    466
    30
    Thanks, it worked but couldn't remove any packages.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  2. Alternate

    Alternate MDL Novice

    Feb 15, 2025
    5
    0
    0
    #27422 Alternate, Feb 21, 2025
    Last edited: Feb 21, 2025
    Hi!

    I tried the integration of drivers in the boot.wim and I couldn't even use my BT mouse during install, so what is it even for?
    Also, integrating updates in the boot.wim?
    Isn't it the job of install.wim, installing drivers and updates during clean install?

    Anyway I can't get 24H2 to work with MSMG so I went into NTLite which is tbf imo much better under any possible aspect.
    Any I was about to finish the Win11 Pro 24H2 ISO but I got stuck right at the end.
    They offer the possibility to duplicate to boot and recovery ALL changes which you made to the install.wim (not only integration of drivers and updates, but also removal of features, apps etc).
    But, removing features etc, what does that even have to do with boot?

    Can someone tell me which of the integrations/removals typically made to the install.wim would be meaningful to clone onto the recovery or boot images, and which could be problematic (btw here there are 2 boot images: Windows PE and Windows Setup)?
    Thanks
     
  3. Sum_Ting_Wong

    Sum_Ting_Wong MDL Member

    Jan 30, 2024
    165
    239
    10
    #27423 Sum_Ting_Wong, Feb 21, 2025
    Last edited: Feb 22, 2025
    I come bearing a batch file. It will check all mounts in .\mount\install for corruption and run /restorehealth if necessary, and log the whole process to BCC.log. Place the batch in the root toolkit folder.

    For languages other than english, replace the detection lines' findstr entries with your own.
    powershell -Command "Get-Content -Path '%LOGFILE%' | Select-Object -Last 7" | findstr /C:"No component store corruption detected." >nul && set "found1=true"
    powershell -Command "Get-Content -Path '%LOGFILE%' | Select-Object -Last 7" | findstr /C:"The operation completed successfully." >nul && set "found2=true"

    Note: ERRORLEVEL doesn't work because "the operation completes successfully."
    Code:
    @echo off
    Pushd "%~dp0"
    setlocal enabledelayedexpansion
    title Build Corruption Check
    
    :REQUESTADMIN
    ::
    >nul 2>&1 reg query "HKU\S-1-5-19\Environment"
    if '%errorlevel%' NEQ '0' (
        (echo.Set UAC = CreateObject^("Shell.Application"^)&echo.UAC.ShellExecute "%~s0", "", "", "runas", 1)>"%tmp%\getadmin.vbs"
        "%tmp%\getadmin.vbs"
        exit /B
    ) else ( >nul 2>&1 del "%tmp%\getadmin.vbs" )
    ::
    ::
    
    :GO
    :: Define starting directory
    set "STARTDIR=%~dp0"
    set "LOGFILE=%STARTDIR%BCC.log"
    del "%STARTDIR%BCC.log"
    echo Build Corruption Check Log - %DATE% %TIME% > "%LOGFILE%"
    echo. >> "%LOGFILE%"
    
    echo Checking if the Mount\Install directory exists...
    
    if not exist "%STARTDIR%Mount\Install\" (
        echo ERROR: Directory "%STARTDIR%Mount\Install\" does not exist! >> "%LOGFILE%"
        echo ERROR: Directory "%STARTDIR%Mount\Install\" does not exist!
        pause
        exit /b 1
    )
    
    :: Loop through each subfolder in Mount\Install
    echo Looping through mounts...
    for /d %%F in ("%STARTDIR%Mount\Install\*") do (
        echo --------------------------------------- >> "%LOGFILE%"
        echo Checking DISM on "%%F" >> "%LOGFILE%"
        echo --------------------------------------- >> "%LOGFILE%"
    
        :: Run CheckHealth
        echo Running CheckHealth on "%%F"... >> "%LOGFILE%"
        dism /image:"%%F" /Cleanup-Image /CheckHealth >> "%LOGFILE%" 2>&1
    
        :: Run ScanHealth
        echo Running ScanHealth on "%%F"... >> "%LOGFILE%"
        dism /image:"%%F" /Cleanup-Image /ScanHealth >> "%LOGFILE%" 2>&1
    
        :: Initialize corruption check variables
        set "found1="
        set "found2="
        set "corruptionDetected=false"
    
        :: Check last 20 lines for corruption
        powershell -Command "Get-Content -Path '%LOGFILE%' | Select-Object -Last 7" | findstr /C:"No component store corruption detected." >nul && set "found1=true"
        powershell -Command "Get-Content -Path '%LOGFILE%' | Select-Object -Last 7" | findstr /C:"The operation completed successfully." >nul && set "found2=true"
    
        if not defined found1 set "corruptionDetected=true"
        if not defined found2 set "corruptionDetected=true"
    
        if "%corruptionDetected%"=="true" (
            echo Corruption found! Running RestoreHealth... >> "%LOGFILE%"
            dism /image:"%%F" /Cleanup-Image /RestoreHealth >> "%LOGFILE%" 2>&1
    
            :: Reset corruption check variables
            set "found1="
            set "found2="
            set "corruptionDetected=false"
    
            :: Run second CheckHealth
            echo Running second CheckHealth to verify fix... >> "%LOGFILE%"
            dism /image:"%%F" /Cleanup-Image /CheckHealth >> "%LOGFILE%" 2>&1
    
            :: Check again if corruption remains
            powershell -Command "Get-Content -Path '%LOGFILE%' | Select-Object -Last 7" | findstr /C:"No component store corruption detected." >nul && set "found1=true"
            powershell -Command "Get-Content -Path '%LOGFILE%' | Select-Object -Last 7" | findstr /C:"The operation completed successfully." >nul && set "found2=true"
    
            if not defined found1 set "corruptionDetected=true"
            if not defined found2 set "corruptionDetected=true"
    
            if "%corruptionDetected%"=="true" (
                echo Likely too corrupt to fix, check log! >> "%LOGFILE%"
            )
        ) else (
            echo No corruption detected in "%%F". >> "%LOGFILE%"
        )
    )
    
    echo Done! Log saved to "%LOGFILE%"
    pause
    exit /b 0
     
  4. Yanta

    Yanta MDL Senior Member

    May 21, 2017
    491
    284
    10
    I am trying to integrate the lastest Feb update and remove packages with dism method.
    I can't get either to work. It can't find any errors in the dism log. The options in toolkit 13.7 just do nothing.
    I am doing this on a fresh install of 24H2 LTSC 26100.1742.
    There are some major issues with 24H2 and I'm hoping the latest update might address some of them
    I can't find a later LTSC image, so I guess applying updates is all I can do. Although, Microsoft Update Catalog also does not list updates for LTSC.

    See attached DISM log file.
     

    Attached Files:

  5. shhnedo

    shhnedo MDL Guru

    Mar 20, 2011
    2,095
    2,869
    90
    The current version of the toolkit was never meant to support 24H2.

    MSMG hasn't done anything in a while. Currently nobody knows if and when he'll be back to work on the toolkit.

    Define "later".

    If you mean LTSC 2024, then the exact same updates for Windows 11 24H2 apply to (IoT )Enterprise 2024 as well.
    LTSC 2024 = Windows 11 24H2 26100.x
    LTSC 2021 = Windows 10 21H2 19044.x
     
  6. Sum_Ting_Wong

    Sum_Ting_Wong MDL Member

    Jan 30, 2024
    165
    239
    10
  7. Yanta

    Yanta MDL Senior Member

    May 21, 2017
    491
    284
    10
    I have 1742. Later is 3194 for example. In any case, I've manually integrated the latest CU and then run toolkit over that.

    "Latest update" was referring to WIndows CU's, not MSMG's toolkit. I don't expect we'll see any more toolkit updates.

    I'll look into dismtools.

    I do not do updates. Windows update is disabled. When I want to update a PC I create a new image and do a clean install.
    With my automation script, once I've built the installer drive with the latest updates, I'm usually back up and running in an hour.
    Since most Windows updates create more problems than they solve, I don't update every month.
     
  8. ceo54

    ceo54 MDL Addicted

    Aug 13, 2015
    969
    466
    30
    I've decided to stick with 23H2. There's nothing 24H2 does that 23H2 can't do apart from bugs and other softwares not supporting it. Winreducer also doesn't fully support 24H2.

    And you're my clone in the approach to Windows updates. It's the easiest, fastest most convenient way to update the OS without the excess baggage of all the issues constant updates create.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  9. Sum_Ting_Wong

    Sum_Ting_Wong MDL Member

    Jan 30, 2024
    165
    239
    10
    It’s being done by a small team, but it’s promising as it’s a full open-source GUI. If you have a GitHub, perhaps report the bug if you have time.

    Another thought is just carefully craft an instruction for a code-ready AI:
    “I need a script that does X. It could be batch or powershell. It must be capable of Y during any Z scenario, and have clearly editable sections to specify my choice of what to add or remove from (subfolder/s) from where the script is written. It should be capable of error detection and attempt to try again in a safe manner, log everything to a file in the folder it is launched from, while also displaying all progress in the user-visible window.”

    That’s just a rough idea. The more clear you are the better it gets. If there are errors, tell it how it goes and copy-paste them to it. If it’s for use in a VM or on hardware, specify that if the scripts still flounder somehow. Also ask it to add debugging if need be, like pause/start-sleep commands at key points.

    I wish I could help more but unfortunately I don’t know what’s going wrong exactly. I run my building on a RAM disk for lightning speed and ssd preservation, yet sometimes saving the RD image corrupts files now and then. I keep a clone of the files in a 7z in case it’s bad, and set up task scheduler to run chkdsk z:\ -f when the disk is detected. If nothing else, assume corruption.

    Footnote, I use NTLite in tandem with MSMGTK because they have abilities the other lacks, and plenty of crossover.
     
  10. qoufy

    qoufy MDL Novice

    Nov 11, 2021
    6
    1
    0
  11. Yanta

    Yanta MDL Senior Member

    May 21, 2017
    491
    284
    10
    No problem. I understand. I did report it.

    I'm very old school. I prefer to deal with humans :)

    Did take a look at ntlite. Not very functional until you buy a license, which in my currency is about A$90.One day I guess I will have to buy it, but there are other prioprities right now.
     
  12. Yanta

    Yanta MDL Senior Member

    May 21, 2017
    491
    284
    10
    #27433 Yanta, Mar 6, 2025
    Last edited: Mar 6, 2025
    How do I remove these using DISM with offline image?
    Had a read througfh toolkit code but couldn't figure it out/
     

    Attached Files:

  13. zero cool root

    zero cool root MDL Senior Member

    Jun 17, 2011
    391
    162
    10
    Hi folks,

    Is there Windows 11 IoT Enterprise LTSC 23H2 or only 24H2..?? If there is, what is the lifecycle of 23H2..??

    Thanks in advance..!!
     
  14. Np Prabhu

    Np Prabhu MDL Novice

    Jan 18, 2022
    1
    0
    0
    @MSMG Language files uploaded to the repository. Intended for WinPE only?
     
  15. Enthousiast

    Enthousiast MDL Tester

    Oct 30, 2009
    54,966
    125,940
    450
    26100 needs windows11.0-kb5043080-x64_LCU_1742.1.10.msu to be integrated every time you integrate the latest LCU and the updates need to be expanded in full, to be able to integrate them, best to use W10UI, it is prepared to handle them all.

    And first properly integrate the updates and next you can install/audit/sysprep/capture it.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  16. Enthousiast

    Enthousiast MDL Tester

    Oct 30, 2009
    54,966
    125,940
    450
    This has been discussed since the first update after 1742.1.10 was released ;)
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...