@MSMG, To integrate the NetFX35 Language Pack, I made a modification here, if this finds the language file, will set a variable for integration of this package. In Windows 10 there is LanguagePack for Netfx35, in Windows 11 there is no such package. Follow the code Changed to work in Toolkit.cmd: Code: ::------------------------------------------------------------------------------------------- :: Function to Integrate Microsoft .NET Framework 3.5 ::------------------------------------------------------------------------------------------- :IntNetFX35 cls echo.=============================================================================== echo. MSMG Toolkit - Integrate Microsoft .NET Framework 3.5 echo.=============================================================================== echo. :: Setting Microsoft .NET Framework 3.5 Feature Pack folder path according to Source Image Architecture if "%SelectedSourceOS%" equ "w81" ( dir /B /AD "%DVD%\sources\sxs\*.*" | findstr.exe /I "NetFX35" && ( set "NetFX35=%DVD%\sources\sxs" ) || ( set "NetFX35=%NetFX35%\%SelectedSourceOS%\%ImageArchitecture%" ) ) if "%SelectedSourceOS%" neq "w7" if "%SelectedSourceOS%" neq "w81" ( if exist "%DVD%\sources\sxs\*.cab" ( set NetFX35= set NetFX35_Lang= for /f "tokens=*" %%# in ('dir /B "%DVD%\sources\sxs\*.*" ^| findstr.exe /I "NetFX3"') do ( if "%ImageBuild%" leq "16299" set "NetFX35=%DVD%\sources\sxs\%%~nx#" if "%ImageBuild%" geq "17134" ( echo.%%#| findstr.exe /I "%PackageArchitecture% %ImageDefaultLanguage%" | findstr.exe /I /V "~~" >nul && (set "NetFX35_Lang=%DVD%\sources\sxs\%%~nx#") echo.%%#| findstr.exe /I "%PackageArchitecture% ~~" | findstr.exe /I /V "%ImageDefaultLanguage%" >nul && (set "NetFX35=%DVD%\sources\sxs\%%~nx#") ) ) ) else ( set "NetFX35=%NetFX35%\%SelectedSourceOS%\%PackageVersion%\Microsoft-Windows-NetFx3-OnDemand-Package~31bf3856ad364e35~%PackageArchitecture%~~%PackageVersion%.%PackageServicePackBuild%.cab" ) ) :: Checking whether Microsoft .NET Framework 3.5 Feature Pack folder exist if "%SelectedSourceOS%" equ "w81" if not exist "%NetFX35%\msil_system.net_b03f5f7f11d50a3a_6.3.9600.16384_none_78f2900af99c8442\system.net.dll" ( echo.Microsoft .NET Framework 3.5 Pack folder is missing or empty... echo. echo.Please copy the files to ^<Packs\NetFX35\w81\%ImageArchitecture%^> folder... echo. goto :Stop ) :: Checking whether Microsoft .NET Framework 3.5 Feature Pack folder exist if "%SelectedSourceOS%" neq "w7" if "%SelectedSourceOS%" neq "w81" ( if not exist "!NetFX35!" ( echo.Microsoft .NET Framework 3.5 Pack file is missing... echo. if "%ImageBuild%" leq "16299" echo.Either copy the "microsoft-windows-netfx3-OnDemand-package.cab" file from Source DVD to ^<DVD\sources\sxs^> folder if "%ImageBuild%" geq "17134" echo.Either copy the "microsoft-windows-netfx3-OnDemand-package~31bf3856ad364e35~%PackageArchitecture%~~.cab" from Source DVD to ^<DVD\sources\sxs^> folder echo. echo.or Copy the below Toolkit Pack file to ^<Packs\NetFX35\%SelectedSourceOS%\%PackageVersion%^> folder.. echo. echo."Microsoft-Windows-NetFx3-OnDemand-Package~31bf3856ad364e35~%PackageArchitecture%~~%PackageVersion%.%PackageServicePackBuild%.cab" echo. goto :Stop ) ) echo.------------------------------------------------------------------------------- echo.####Starting Integrating Microsoft .NET Framework 3.5########################## echo.------------------------------------------------------------------------------- echo. echo. Image : install.wim echo. Image Index : !ImageIndexNo! echo. Image Architecture : %ImageArchitecture% echo. Image Version : %ImageVersion%.%ImageServicePackBuild%.%ImageServicePackLevel% echo. echo.------------------------------------------------------------------------------- echo.####Integrating Microsoft .NET Framework 3.5################################### echo.------------------------------------------------------------------------------- for %%i in (!ImageIndexNo!) do ( if exist "%InstallMount%\%%i\" ( echo. if not %%i gtr 9 echo.===========================[Install.wim, Index : %%i]============================ if %%i gtr 9 echo.==========================[Install.wim, Index : %%i]============================ echo. echo.------------------------------------------------------------------------------- echo.Checking whether Microsoft .NET Framework 3.5 is enabled... echo.------------------------------------------------------------------------------- echo. if "%SelectedSourceOS%" equ "w81" ( %DISM% /Image:"%InstallMount%\%%i" /Get-FeatureInfo /FeatureName:NetFX3 | findstr.exe /I /C:"State : Enable Pending" >nul if errorlevel 1 ( echo.Microsoft .NET Framework 3.5 is not enabled. echo. echo.------------------------------------------------------------------------------- echo.Integrating Microsoft .NET Framework 3.5 Package... echo.------------------------------------------------------------------------------- %DISM% /Image:"%InstallMount%\%%i" /Enable-Feature /All /LimitAccess /FeatureName:NetFX3 /Source:"%NetFX35%" ) else ( echo.Microsoft .NET Framework 3.5 has already been enabled. ) ) if "%SelectedSourceOS%" neq "w7" if "%SelectedSourceOS%" neq "w81" ( %DISM% /Image:"%InstallMount%\%%i" /Get-FeatureInfo /FeatureName:NetFx3 | findstr.exe /I /C:"State : Enabled" >nul if errorlevel 1 ( echo.Microsoft .NET Framework 3.5 is not enabled. echo. echo.------------------------------------------------------------------------------- echo.Integrating Microsoft .NET Framework 3.5 Package... echo.------------------------------------------------------------------------------- call :AddPackage "%InstallMount%\%%i", "!NetFX35!" if "!NetFX35_Lang!" neq "" if exist "!NetFX35_Lang!" call :AddPackage "%InstallMount%\%%i", "!NetFX35_Lang!" ) else ( echo.Microsoft .NET Framework 3.5 has already been enabled. ) ) ) ) echo. echo.------------------------------------------------------------------------------- echo.####Finished Integrating Microsoft .NET Framework 3.5########################## echo.------------------------------------------------------------------------------- :Stop echo. echo.=============================================================================== echo. :: Returning to Integrate Features Menu goto :EOF ::------------------------------------------------------------------------------------------- Spoiler: Custom Toolkit - NetFX35 Integrating Progress Code: =============================================================================== MSMG Toolkit - Integrate Microsoft .NET Framework 3.5 =============================================================================== ------------------------------------------------------------------------------- ####Starting Integrating Microsoft .NET Framework 3.5########################## ------------------------------------------------------------------------------- Image : install.wim Image Index : 1;2 Image Architecture : x64 Image Version : 10.0.19044.1806.0 ------------------------------------------------------------------------------- ####Integrating Microsoft .NET Framework 3.5################################### ------------------------------------------------------------------------------- =============================================================================== [install.wim, Index : 1 - Edition : Core] =============================================================================== ------------------------------------------------------------------------------- Checking whether Microsoft .NET Framework 3.5 is enabled... ------------------------------------------------------------------------------- Microsoft .NET Framework 3.5 is not enabled. ------------------------------------------------------------------------------- Integrating Microsoft .NET Framework 3.5 Package... ------------------------------------------------------------------------------- Deployment Image Servicing and Management tool Version: 10.0.25145.1000 Image Version: 10.0.19044.1806 Processing 1 of 1 - Adding package Microsoft-Windows-NetFx3-OnDemand-Package~31bf3856ad364e35~amd64~~10.0.19041.1 [==========================100.0%==========================] The operation completed successfully. Deployment Image Servicing and Management tool Version: 10.0.25145.1000 Image Version: 10.0.19044.1806 Processing 1 of 1 - Adding package Microsoft-Windows-NetFx3-OnDemand-Package~31bf3856ad364e35~amd64~pt-BR~10.0.19041.1 [==========================100.0%==========================] The operation completed successfully. =============================================================================== [install.wim, Index : 2 - Edition : Professional] =============================================================================== ------------------------------------------------------------------------------- Checking whether Microsoft .NET Framework 3.5 is enabled... ------------------------------------------------------------------------------- Microsoft .NET Framework 3.5 is not enabled. ------------------------------------------------------------------------------- Integrating Microsoft .NET Framework 3.5 Package... ------------------------------------------------------------------------------- Deployment Image Servicing and Management tool Version: 10.0.25145.1000 Image Version: 10.0.19044.1806 Processing 1 of 1 - Adding package Microsoft-Windows-NetFx3-OnDemand-Package~31bf3856ad364e35~amd64~~10.0.19041.1 [==========================100.0%==========================] The operation completed successfully. Deployment Image Servicing and Management tool Version: 10.0.25145.1000 Image Version: 10.0.19044.1806 Processing 1 of 1 - Adding package Microsoft-Windows-NetFx3-OnDemand-Package~31bf3856ad364e35~amd64~pt-BR~10.0.19041.1 [==========================100.0%==========================] The operation completed successfully. ------------------------------------------------------------------------------- ####Finished Integrating Microsoft .NET Framework 3.5########################## ------------------------------------------------------------------------------- ===============================================================================
Thanks will look into the code however here abbodi1406 says the Windows 10 images already contain language resources for .NET 3.5.
Interesting to know that. Now that you said that I remember seeing this as capabilities. But in enable capabilities, without packages, in /Online mode, integrations occur through Windows Update. In our case, /Offline integration, if NetFX35 is not integrated, I think the language pack would not be either. It would be the logic of thought, for me, more coherent. However, the language pack is available on Windows 10 isos for pt-BR and perhaps for other languages. So I made the code detect the presence of the file in the SXS folder. If it does not exist, no problem. Only integrates the NetFX35.
For the sake of semantics (so that there are no bad interpretations by linguistic barriers), I asked Abbodi in other words and he reaffirmed that ISO's main language pack already has NetFX35 LP. I asked what is the meaning of this NetFX35 LP package presence? He said the same as the presence of IE packages that was always integrated. I interpret it as follows: That the presence of unintegrated packages really makes sense. But of those already integrated, it makes no sense. Anyway...
@MSMG w10 21H2 X64 Component : SpeechRecognition Removing Package files... Modifying Package files... Loading Image Registry... Modifying Package Registry... Unloading Image Registry... The operation completed successfully. i removed accesibility and speech recognition. but speech recognition was not removed
Is the ServicePackBuild you are using supported by ToolkitHelper? 19044.1766 Build 19044 SPBuild 1766?
This SPBuild is not supported yet. At the launch of Toolkit 12.4 we were at SPBuild 1766. Based on MSMG info, I always say that it is possible for you to work in the supported isos. Integrate updates and remove the unwanted components. Thus the "Remove Components" should work. MSMG always informs that it is possible to work and remove components in this mode. I suppose this works like this, because even after the integration of updates the image being serviced has not yet been saved with changes with the integration of updates, it is still serviced as a supported image.
Yes, this is the recommendation. But as you will integrate updates through Toolkit, you can create your ISO, without updates through UUP Dump. It's simple. If you still have the UUPdump download folder, you will edit ConvertConfig.ini and chage from: AddUpdates =1 to: AddUpdates =0 So just run the convert-UUP.cmd as Admin. And wait for the creation of this ISO. An ISO 19041.1 will be created. And inside the UUPs folder you take the update files to be used/integrated into Toolkit. Code: SSU-19041.1790-x64.cab 2022-07-13 13:53:05 UTC db0f1802e720e570ca68abaf300ccfb12c89bb53 15 MiB Windows10.0-KB5003791-x64.cab 2022-07-13 13:49:19 UTC 73ea2c9804395921aa91a4ceea212a8282b55a84 22 KiB Windows10.0-KB5007401-x64.cab 2022-07-13 13:48:36 UTC f1bf61d834bb8d9951c7efa23454643daae195b0 271 KiB Windows10.0-KB5008575-x64.cab 2022-07-13 14:09:45 UTC ef4f5d0599c80a13224306a03db114e61e97ada0 69 MiB Windows10.0-KB5011577-x64.cab 2022-07-13 13:49:04 UTC f6239f5a4459e95dbd3346f178e2836a19f42586 2 MiB Windows10.0-KB5014676-x64.cab 2022-07-13 13:54:00 UTC e054ac3346896e28d2cae68acdf899c0ee274f11 15 MiB Windows10.0-KB5015807-x64.cab 2022-07-13 17:23:50 UTC 50d0c639c0e3381b3a4d3d04cfc49113f25bfd8e 663 MiB And, we have a new version 1826, an opportunity to do this test. NOTE: You can get used to downloading the UUP Dump package unchecking in "Conversion Options" - the "Include Updates" option. Now that you have the ISO "ServicePackBuild .1". From now on you will always be able to download the Updates list on "Additional updates" on the "Browse the list of updates" button in the right column. EDIT: from: An ISO 19044.1 will be created. to: An ISO 19041.1 will be created.
Yes, thnks! ImageServicePackBuild is the name of the variable used in Toolkit for what comes after the Build number. Code: for /f "tokens=2 delims=:" %%e in ('%DISM% /Get-ImageInfo /ImageFile:"%~1" /Index:%~2 ^| find.exe /I "ServicePack Build"') do (set /A ImageServicePackBuild=%%e)
Code: Details for image : install.wim Index : 1 Name : Windows 10 Home Description : Windows 10 Home Size : 15.970.787.231 bytes WIM Bootable : No Architecture : x64 Hal : <undefined> Version : 10.0.19041 ServicePack Build : 1826 ServicePack Level : 0 Edition : Core Installation : Client ProductType : WinNT ProductSuite : Terminal Server System Root : WINDOWS Directories : 29299 Files : 104938 Created : 07/12/2019 - 17:56:25 Modified : 12/07/2022 - 21:18:13 Languages : nl-NL (Default) Taken from this, i guess?
Yes, that's right. But in ISO 19041.1 SPBuild will be 1. I said that: But then, I didn't understand what was questioning here?
Now you took me, hehehehe. Send the explanation there, that I don't know. A class is always good. Supposedly it should be in the same way. You know sometimes I suppose things I can be wrong. But only things that don't hurt the people.
But the method I passed by above is simple. To downloading the UUP Dump package, just do unchecking in "Conversion Options" - the "Include Updates" option. To make the 19041.1 ISO. Then copy the Update files from UUPs folder to WHD 19041 x64 folder. And why can't you use WHD? About "Media Creation Tool", I believe so, but the most advanced users always recommend that for the integration of updates it is best to use SPBUILD .1. I suppose the reason is not to be undesirable remaining from previous cumulative updates. And for this reason I would already choose to integrate the updates directly into a ".1" too. I'm still learning the ways to do this, too. For the normal version I find it simple, but for the LTSC I took a while to understand some things. Once you learn the procedures everything goes well.