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
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
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
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.
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.
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...
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.
The smaller part depends.... On a 14393 / 1607 the difference between a resetbased and not resetbased image is in the league of multiple GB
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
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"
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.