Slimdown10 – turn Windows 10 22H2 or LTSC 2021 into classic/legacy Windows

Discussion in 'Windows 10' started by Deleted member 190847, Feb 15, 2023.

  1. Fiisk

    Fiisk MDL Novice

    Sep 13, 2017
    6
    1
    0
    Ok!! . Any help regarding the pin situation??
     
  2. Dude Guyman

    Dude Guyman MDL Senior Member

    Jun 20, 2017
    275
    275
    10
    #142 Dude Guyman, Mar 4, 2023
    Last edited: Mar 4, 2023
    I'm still using an install made with v1.10 (minus the "set RemoveTasks=%RemoveTasks%,"SoftwareProtectionPlatform..." line commented out) and it seems very good. Specific version (19045.2006? I think it was, to match MS image maker thingy version) of Enterprise from UUP and set to AllowTelemetry=0.

    One question for future reference. Do we need to use a specific version of the ISO and let the script update it, or will we be able to start with an up to date ISO from UUP dump? I tried that the first time and it errored out trying to "update" it to an older version.

    Oh! Also is there a line I can add to disable System Reserved Storage (ReserveManager)? I hate that sh@# using up 6-8 GB for nothing. I think the "ShippedWithReserves"=dword:00000000" alone would do it, if done before the system ever creates the reserve?

    Code:
    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ReserveManager]
    "BaseHardReserveSize"=hex(b):00,00,00,00,00,00,00,00
    "BaseSoftReserveSize"=hex(b):00,00,00,00,00,00,00,00
    "MinDiskSize"=hex(b):00,00,00,00,00,00,00,00
    "HardReserveAdjustment"=hex(b):01,00,00,00,00,00,00,00
    "ShippedWithReserves"=dword:00000000
    "PassedPolicy"=dword:00000000
    "TiAttemptedInitialization"=dword:00000000
    
    Would this work?
    Code:
    REM Disable ReserveManager
    Reg add "HKLM\TK_SOFTWARE\Microsoft\Windows\CurrentVersion\ReserveManager" /v "ShippedWithReserves" /t REG_DWORD /d 0 /f >nul
    
    And finally, a (harmless) typo at:
    REM Disable App Compati*n*ility Assistant
     
  3. SunLion

    SunLion MDL Senior Member

    May 11, 2011
    307
    340
    10
    Hi wkeller,

    First of all, thank you very much for your excellent work!

    Tested here and it works without errors. Perfect!

    Just suggestion:

    1 - Add RESETBASE before Mounting registry

    2 - Move "Adding support for .NET Framework 3.5 for older applications...", as directed below.

    2.1 - The commands after "Adding provisioned package: %H265AppxPackage%" and before "Mounting registry" would look like this:

    ECHO =====================================================================================================
    ECHO Adding provisioned package: %H265AppxPackage%
    ECHO =====================================================================================================
    "%DISM%" /English /Image:"%~dp0mount" /Add-ProvisionedAppxPackage /PackagePath:"%~dp0hotfixes\H265\%H265AppxPackage%" /SkipLicense

    :skipDISMprov

    -----------------------------------
    NEW COMMANDS BELOW
    -----------------------------------

    echo.
    echo ==================================================
    echo Cleanup-image
    echo ==================================================
    dism /english /image:"%~dp0mount" /cleanup-image /startcomponentcleanup /resetbase


    if exist "%~dp0DVD\sources\sxs\microsoft-windows-netfx3-*" (
    ECHO.
    ECHO ================================================================================
    ECHO Adding support for .NET Framework 3.5 for older applications...
    ECHO ================================================================================
    %DISM% /English /Image:"%~dp0mount" /Add-Capability /CapabilityName:"NetFX3~~~~" /Source:"%~dp0DVD\sources\sxs"
    )


    if not "%IntegrateUpdates%"=="1" goto skipUpdates
    ECHO.
    ECHO ================================================================
    ECHO Reinstalling Cumulative Updates...
    ECHO ================================================================

    ECHO.
    ECHO ================================================================================
    ECHO Adding package KB5022834 - February 2023 Cumulative...
    ECHO ================================================================================
    "%DISM%" /English /Add-Package /Image:"%~dp0mount" /PackagePath:"%~dp0hotfixes\windows10.0-kb5022834-%ImageArchitecture%.msu"

    ECHO.
    ECHO ================================================================================
    ECHO Adding package KB5022502 - Cumulative Update for .NET Framework 3.5 and 4.8...
    ECHO ================================================================================
    "%DISM%" /English /Add-Package /Image:"%~dp0mount" /PackagePath:"%~dp0hotfixes\windows10.0-kb5022502-%ImageArchitecture%-ndp48.msu"

    :skipUpdates


    ---------------------------------
    FINAL NEW COMMANDS
    ---------------------------------


    ECHO =====================================
    echo Mounting registry
    ECHO =====================================

    With this the final ISO image will be reduced to around 4.41 GB. This is the result I got.

    NOTES:
    1 - RESETBASE does not work when NET35 features have been enabled
    2 - The reinstallation of cumulative updates is necessary after enabling NET35
     
  4. acer-5100

    acer-5100 MDL Guru

    Dec 8, 2018
    3,645
    2,620
    120

    Just do a resetbase, THEN add .net 3.5

    That would be a pretty stupid thing to do.

    First because the CU has nothing to do with .net updates

    Second because (unless you manually integrate the latest .net updates) .net would be updated by WU anyway, no matter the LCU installed.

    Life is already complicated by itself, no need to complicate it further with artificial requirements
     
  5. SunLion

    SunLion MDL Senior Member

    May 11, 2011
    307
    340
    10
    Well, out of habit, I particularly prefer to do it that way.
    I like the model used in W10UI, which does it this way.
    But that is up to each individual.
     
  6. acer-5100

    acer-5100 MDL Guru

    Dec 8, 2018
    3,645
    2,620
    120
    Sorry, just for the sake of discussion, yes there are personal habits, but there are also wrong and right ways

    In this specific case not doing a proper resetbase means ending with a ISO which is larger than stock, leading to a huge amount of wasted space if you have dozens of ISOs stored.

    IMHO we should get used to not waste resources even when speaking of immaterial things.

    Having the right forma mentis helps to do the same in the real world, which is a good thing.
     
  7. Tiger-1

    Tiger-1 MDL Guru

    Oct 18, 2014
    7,897
    10,733
    240
    well around here i've always learned and learn almost every day more and more "things" using this fantastic tool although it's a little slow depending on the operation just my two cents...
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  8. Dark Dinosaur

    Dark Dinosaur X Æ A-12

    Feb 2, 2011
    3,702
    5,104
    120
    It's wasn't dism
    It was comodo IS
    Hips options cause too many bsod
    While running heavy scripts
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  9. After considering pros and cons, your solution is the one that I have used in new version. It allows to keep ISO small, but Windows Update still sees that everything is updated.
    Without point 2, Windows Update thinks that cumulative update is not installed, so it will download and install it again. Not good and confusing for many users.
     
  10. acer-5100

    acer-5100 MDL Guru

    Dec 8, 2018
    3,645
    2,620
    120

    The smaller part depends....

    On a 14393 / 1607 the difference between a resetbased and not resetbased image is in the league of multiple GB
     
  11. SunLion

    SunLion MDL Senior Member

    May 11, 2011
    307
    340
    10
    #153 SunLion, Mar 6, 2023
    Last edited: Mar 6, 2023
    Hi @wkeller

    Version 1.23 tested:

    1 - ISO Size: 4.46 GB (4,684,368 KB)

    2 - Added the "get-packages" command in the script, where the pending items below are checked:

    Microsoft-Windows-NetFx3-OnDemand-Package~31bf3856ad364e35~amd64~~10.0.19041.1 | pending installation | OnDemand Pack | 06/03/2023 14:52

    Package_for_DotNetRollup~31bf3856ad364e35~amd64~~10.0.4590.4 | pending uninstall | Update | 07/01/2023 05:05
    Package_for_DotNetRollup~31bf3856ad364e35~amd64~~10.0.4614.6 | pending installation | Update | 06/03/2023 14:54

    In a new test, with the modification below:

    - Added the installation of "KB5022502 - Cumulative Update for .NET Framework 3.5 and 4.8" before the installation of "KB5022834 - February 2023 Cumulative",
    (before RESETBASE)

    - Reinstallation after enabling NET35 was maintained

    The results were as follows:

    1 - ISO Size: 4.41 GB (4,628,650 KB)

    2 - Added the "get-packages" command in the script, where only the pendency below is verified:

    Microsoft-Windows-NetFx3-OnDemand-Package~31bf3856ad364e35~amd64~~10.0.19041.1 | Installation pending | OnDemandPack | 03/06/2023 14:52

    NOTE: DotNetRollup issues 4590 and 4614 no longer appear (they appear as installed)

    Attached LOG files
     

    Attached Files:

  12. geese howard

    geese howard MDL Member

    Aug 18, 2009
    102
    15
    10
    #154 geese howard, Mar 6, 2023
    Last edited: Mar 6, 2023
    I use set IncludeUWPapps=ScreenSketch, but app doesn´t work.
    Which dependencies i need to maintain??
     
  13. geese howard

    geese howard MDL Member

    Aug 18, 2009
    102
    15
    10
    Ill try it now
     
  14. #158 Deleted member 190847, Mar 6, 2023
    Last edited by a moderator: Mar 6, 2023
    (OP)
    Correct way (the first line is already part of the script, the second line is added):
    Code:
    set "IncludeUWPapps=Microsoft.VCLibs,Microsoft.NET.Native,Microsoft.HEIFImageExtension,Microsoft.VP9VideoExtensions,Microsoft.WebMediaExtensions,Microsoft.WebpImageExtension"
    set "IncludeUWPapps=%IncludeUWPapps%,Microsoft.ScreenSketch"
     
  15. It is managed by these options
    Code:
    REM Disable Microsoft Account and non-password sign-in options
    Reg add "HKLM\TK_SOFTWARE\Policies\Microsoft\MicrosoftAccount" /v "DisableUserAuth" /t REG_DWORD /d 1 /f >nul
    Reg add "HKLM\TK_SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "NoConnectedUser" /t REG_DWORD /d 3 /f >nul
    Reg add "HKLM\TK_SOFTWARE\Microsoft\PolicyManager\default\Settings\AllowYourAccount" /v "value" /t REG_DWORD /d 0 /f >nul
    Reg add "HKLM\TK_SOFTWARE\Microsoft\PolicyManager\default\Settings\AllowSignInOptions" /v "value" /t REG_DWORD /d 0 /f >nul
    
    REM Disable Windows Hello for Business
    Reg add "HKLM\TK_SOFTWARE\Policies\Microsoft\PassportForWork" /v "Enabled" /t REG_DWORD /d 0 /f >nul
    Reg add "HKLM\TK_SOFTWARE\Policies\Microsoft\PassportForWork" /v "DisablePostLogonProvisioning" /t REG_DWORD /d 0 /f >nul
    Try to modify or remove them. You will find documentation on the web.


    Surely not. Windows 8.1 is too different from Windows 10.
    Entirely new script for Windows 8.1 should be done, which (due to the lack of time) I will probably never create.