Slimdown11 – turn Windows 11 or LTSC 2024 into classic/legacy Windows

Discussion in 'Windows 11' started by SunLion, Mar 2, 2025.

  1. sainfo

    sainfo MDL Addicted

    Dec 6, 2021
    760
    1,753
    30
    Hello, I have a question: will you be building a tool for building 26H2 (26300) from 26100? I'm particularly interested in the GenerateUpdateList.ps1 file.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  2. SunLion

    SunLion MDL Expert

    May 11, 2011
    1,776
    6,952
    60
    The option to create 26300 is already included in this latest version.

    The only thing not being used is the GenerateUpdateList.ps1 script—at least for now.
     
  3. sergey130270

    sergey130270 MDL Senior Member

    May 15, 2014
    358
    620
    10
    #2224 sergey130270, Sep 8, 2026
    Last edited: Sep 8, 2026
    Good evening SanLion and the guys!

    Thank you for taking the time to look into this and for the detailed questions.

    1 - I have nothing against abbodi1406’s W10UI.cmd. Quite the opposite — I also consider it an excellent and very reliable script, and I have used it for a long time.

    The reason I’m exploring a different approach is not because I consider W10UI.cmd unreliable. My goal is to integrate the LCU directly into the image while keeping the LCU handling as simple as possible and avoiding unnecessary extraction/repacking steps.

    2 - I agree that the main advantage at the moment is execution time, since the LCU only needs to be decompressed once. However, I think there is another benefit: having more direct control over the integration process and making it independent of some of the assumptions made by W10UI.cmd.

    Of course, this does not eliminate the dependency on Microsoft’s packaging method. If Microsoft changes how LCUs are structured or packaged, the integration logic may also need to be adjusted. That is something I fully agree with.

    For me, this is more an experiment and an alternative approach rather than an attempt to replace W10UI.cmd. If further testing confirms that it remains reliable across different LCU revisions, I think it could be worth developing further.
     
  4. sainfo

    sainfo MDL Addicted

    Dec 6, 2021
    760
    1,753
    30
    #2225 sainfo, Sep 8, 2026
    Last edited: Sep 8, 2026
    Yes, I saw that, that's not what I meant. Well, I've already decided that for myself - thanks!

    I’ve put together a tool for working with the install.wim image (version 26100) and automatically updating it—based on the user’s selection in the graphical menu—to version 26200 or 26300, or leaving it at 26100. The tool is in .cmd format. It’s been tested and works fine. Right now, I’m working on converting it to a more advanced PowerShell-based approach. As soon as I finish that and test it, I’ll be able to share my work with my colleagues—of course, if anyone is interested.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  5. sevenlin007

    sevenlin007 MDL Novice

    Nov 22, 2017
    34
    34
    0
    Update to 26300.9445
     
  6. sevenlin007

    sevenlin007 MDL Novice

    Nov 22, 2017
    34
    34
    0
  7. SunLion

    SunLion MDL Expert

    May 11, 2011
    1,776
    6,952
    60
    As I mentioned earlier, the script already gives the user this choice—meaning they can create 26100, 26200, or 26300.
     
  8. SunLion

    SunLion MDL Expert

    May 11, 2011
    1,776
    6,952
    60
    It will be added in the next update, later this week.
     
  9. SunLion

    SunLion MDL Expert

    May 11, 2011
    1,776
    6,952
    60
    If you have any questions or encounter any errors, please send the log file, as I need to know how you are performing the process.
     
  10. SunLion

    SunLion MDL Expert

    May 11, 2011
    1,776
    6,952
    60
    =========================
    2xH2_Creator_17.7
    =========================
    Update to 26x00.9445


    - Adjusted script for integration ndp481 package (unified for 24/25/26H2)
    - Added an option for the user to choose whether to create 24H2, 25H2 or 26H2 image
    - Added "EXTRA\Chris_Titus_Tech's_Windows_Utility", recommended for improving performance
    - Updated "EXTRA\Office 365 ProPlus - Online Installer 3.3.17" tool
    - Other small adjustments


    Test with:
    - pt-br_windows_11_enterprise_ltsc_2024_x64_dvd_2bb6b75b_2.iso
    - 26100.1742.240909-0928.GE_RELEASE_SVC_REFRESH_CLIENTBUSINESS_VOL_X64FRE_PT-BR.ISO


    https://forums.mydigitallife.net/th...to-classic-legacy-windows.90039/#post-1872013


    Enjoy
     
  11. sergey130270

    sergey130270 MDL Senior Member

    May 15, 2014
    358
    620
    10
    #2233 sergey130270, Sep 10, 2026
    Last edited: Sep 11, 2026
    Hi everyone.

    I would like to share a simple method that I use in my particular situation to handle update categories when working with all.txt. As an example, I use L1 and DU for Sources, but the same approach can also be applied in other situations.

    One problem with integrating updates from all.txt is that some packages need to be temporarily placed in separate folders before integration.

    In my setup, I use these sections in all.txt to define which updates need to be temporarily moved to separate folders during the integration process.

    ;L1
    windows11.0-kb5043080-x64.msu

    ;L2
    ...

    ;DU for Sources
    windows11.0-kb5126056-x64.cab

    The script downloads everything to UUP as usual. Then it automatically moves the L1 update to UUP\L1 and the DU for Sources package to UUP\DUSources when they are needed.

    After all integration and re-integration operations are completed, the files are automatically moved back to UUP and the temporary folders are removed.

    This has one important advantage: the downloaded packages remain in UUP for the next run, so they are not downloaded again.

    In other words, the folders L1 and DUSources are only temporary working directories. UUP remains the permanent update repository.

    This also keeps the download logic simple — if a package already exists in UUP, it is skipped.

    The idea is simple: download once, temporarily move when required, integrate, return to UUP, and reuse on the next run.

    I think this approach might come in handy for someone.

    Code:
    CD /d "%~dp0UUP"
    
    If not exist "all.txt" (
        echo WARNING! all.txt was not found.
        echo Skipping download and file list validation.
        goto SkipDownload
    )
    
    echo.
    echo ------------------------------------------------------------
    echo Downloading Windows 11 Updates
    echo ------------------------------------------------------------
    
    For /F "eol=; tokens=1,2*" %%i in (all.txt) do if not exist "%~dp0UUP\%%i" (
        echo Downloading: "%%i"
        curl.exe -f -L -C - -# -o "%%i" "%%j"
    )
    
    setlocal EnableDelayedExpansion
    
    :: Move L1 Update to L1 folder from all.txt
    If not exist "L1" md "L1"
    
    SET "MoveL1=0"
    SET "L1File="
    
    For /F "usebackq eol=| tokens=1,2,3,*" %%A in ("all.txt") do (
        If "!MoveL1!"=="1" (
        SET "L1File=%%A"
        If exist "%%A" move /y "%%A" "L1\" >nul
        SET "MoveL1=0"
    ) ELSE (
        If /i "%%A"==";L1" set "MoveL1=1"
        )
    )
    
    :: Move DU for Sources to DUSources folder from all.txt
    If not exist "DUSources" md "DUSources"
    
    SET "MoveDU=0"
    SET "DUFile="
    
    For /F "usebackq eol=| tokens=1,2,3,*" %%A in ("all.txt") do (
        If "!MoveDU!"=="1" (
        SET "DUFile=%%A"
        If exist "%%A" move /y "%%A" "DUSources\" >nul
        SET "MoveDU=0"
    ) ELSE (
        If /i "%%A %%B %%C"==";DU for Sources" set "MoveDU=1"
        )
    )
    
    :: Validate downloaded packages
    SET "MinSize=102400"
    SET /a BadFiles=0
    SET "DownloadErr=0"
    
    for %%f in (*.msu *.esd *.cab *.psf) do (
        If exist "%%f" (
        If %%~zf lss !MinSize! (
        DEL /q /f "%%f" >nul 2>&1
        SET /a BadFiles+=1
        SET "DownloadErr=1"
        echo [!BadFiles!] Removed invalid file: %%f
        )
      )
    )
    
    :: Check downloaded files from all.txt
    for /F "eol=; tokens=1,2*" %%i in (all.txt) do (
        If /i "%%i"=="!L1File!" (
        If not exist "L1\%%i" (
        SET "DownloadErr=1"
        echo [ERROR] Missing file: %%i
        )
    ) ELSE If /i "%%i"=="!DUFile!" (
        If not exist "DUSources\%%i" (
        SET "DownloadErr=1"
        echo [ERROR] Missing file: %%i
        )
    ) ELSE (
        If not exist "%%i" (
        SET "DownloadErr=1"
        echo [ERROR] Missing file: %%i
        )
      )
    )
    
    :: Result
    If not "!DownloadErr!"=="0" (
        echo.
        echo.
        echo ERROR!
        echo Some files have NOT been downloaded correctly!
        echo Please re-run the script and try again!
        echo.
        PAUSE >NUL
        goto End
    )
    
    echo.
    echo All updates have been downloaded.
    
    endlocal
    
    :SkipDownload
    
    
    Next Mounting image, next Installing update, next Applying tweaks for removal, re-integration, and so on, and finally...
    Code:
    :: --- Return L1 and DU for Sources updates to UUP folder --- 
    CD /d "%~dp0UUP" 
    If exist "L1\*" move /y "L1\*" "." >nul 
    If exist "DUSources\*" move /y "DUSources\*" "." >nul 
    If exist "L1" rd /q "L1" >nul 2>&1 If exist "DUSources" rd /q "DUSources" >nul 2>&1 
    CD /d "%~dp0"
    
     

    Attached Files:

    • all.txt
      File size:
      1.2 KB
      Views:
      8
  12. Mavericks Choice

    Mavericks Choice MDL Guru

    Aug 5, 2015
    4,420
    17,270
    150
    @SunLion Ran this script no issues, all integrated as expected, installed in a VM all good, Thank you!!
     
  13. sainfo

    sainfo MDL Addicted

    Dec 6, 2021
    760
    1,753
    30
    #2235 sainfo, Sep 11, 2026
    Last edited: Sep 13, 2026
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  14. ccc1522

    ccc1522 MDL Junior Member

    Dec 27, 2010
    83
    18
    0
    @sainfo
    I'm not anyone that can make decisions here, but I think it would be better for you to start a new thread with your version of windows optimizing tool. I think it will get buried here and people may confuse which tool this thread is about.

    Just my opinion :)
     
  15. sainfo

    sainfo MDL Addicted

    Dec 6, 2021
    760
    1,753
    30
    Start a new thread? Maybe that would be the right thing to do—the right thing for those who post tools almost every day like they’re hotcakes. They claim to be posting something new, but in reality, it’s just the same thing with minimal changes. Why did I decide to share my work with my friends? Because I haven’t come across anything like this in this field or on this topic. As far as I’m concerned, this is an interesting and promising field, and maybe someone else will find it interesting too.
    Hmm, but if my presence here with my suggestions in this particular thread bothers or annoys you personally, that’s fine—I can remove my content from this thread. As they say: if you don’t want to eat, go hungry...
    :thinking:
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  16. hoak

    hoak MDL Addicted

    Nov 13, 2009
    744
    2,075
    30
    Please don't do that! There are a lot of Windows 11 minimization projects that over-lap and repurpose each other's work for more specific outcomes -- as long as everyone is offering their contributions as FOSS, or even better GNU FOSS -- that's the intention as every and anyone that can contribute something unique or more refined, or that fixes specific issues 'raises all boats' as the saying goes. Love what all you guys do, and it is and should remain that the author of any work should get to post it where ever he wants.
     
  17. bendeyar

    bendeyar MDL Senior Member

    Mar 14, 2019
    276
    613
    10
    #2239 bendeyar, Sep 12, 2026
    Last edited: Sep 12, 2026
    sainfo.
    I also agree with hoak
    Don't listen to what others say or write about you.
    Just do what is best for you.
    I think sharing with others or helping people is beyond some individuals' capabilities; that is likely why they harbor bitterness and try to hinder people like you.
    It is not at all difficult to distinguish between two or more projects.
    The more, the better.
    Just keep up the good work.
     
  18. Ace2

    Ace2 MDL Guru

    Oct 10, 2014
    2,264
    1,985
    90
    Good point! Since it’s such a unique topic, maybe a new thread is just what your project needs to get the spotlight it deserves.