@shhnedo Thank you for your input, Tomorrow I'll rename the corresponding files, do the integration and test the resulting image in a VM. We'll see what happens.
Regarding errors in LTSC , this is already a question for MSMG. You need to describe in more detail: the version of the Toolkit, the version of the image (whether the number of the integrated LCU corresponds to the declared support for the component removal module), a list of your actions and add a file to the message: C:\Windows\Logs\CBS\CBS.log The last LTSC image that I had to work with (17763.1577 with Toolkit v10.9) - there were no problems, cleanup was performed in the Toolkit. Unfortunately, uupdump does not allow you to get the LTSC edition. In order to work with LTSC, follow the compatibility recommendations of the component removal module (ToolkitHelper.exe) with the specified in Changelog.txt supported by the LCU version, you need to have a base image, preferably MSDN ISO, OS build 17763.1. and from updump.net You can download the specified in Changelog.txt the LCU + SSU version, and integrate it into this image before removing the components. If all required conditions are met, there should be no sfc errors.
Hello guys! Help me please, I can not integrate Cumulative (windows10.0-kb5005189-x64.cab) into the install.wim, for windows 11, writes to this error: "Package_for_RollupFix" Error: 0x800f0988, can I have a wrong integration sequence? first I integrate ServicingStack (ssu-22000.132-x64.cab), the second: GeneralPackage (windows10.0-kb5004567-x64.cab), third: Cumulative (windows10.0-kb5005189-x64.cab), fourth: NetCumulative (windows10.0-kb5004342-x64). Can you help? Here's an example of the commands I'm using: Spoiler: Spoiler @echo off setlocal EnableExtensions EnableDelayedExpansion COLOR 1F :: TITLE Windows 10 Integrator CLS :: Setting Tools environment path variables If exist "%WinDir%\SysWOW64" ( SET "Arch=x64" ) else ( SET "Arch=x86" ) :: Setting environment path variables SET "MOUNT=%~dp0Mount" SET "MountWinRE=%MOUNT%\WinRE" SET "WinRE=%MOUNT%\Windows\System32\Recovery" SET "Sources=%~dp0DVD\sources" SET "WIM=%Sources%\install.wim" SET "WIMTmp=%Sources%\install_temp.wim" SET "Tweaks=%~dp0Tweaks" SET "TweaksTEMP=%~dp0Tweaks\Temp" SET "ImageDefaultLanguage=" :: Mounting image for /f %%i in ('%~dp0Tools\%Arch%\wimlib-imagex.exe info "%WIM%"^|find "Index:"') do set /a maxindex += 1 set /a maxindex -= 1 for /l %%i in (1,1,%maxindex%) DO ( "%~dp0Tools\%Arch%\DISM\Dism.exe" /Get-WimInfo /WimFile:"%WIM%" /index:"%%i" if not exist "%MOUNT%" mkdir "%MOUNT%" "%~dp0Tools\%Arch%\DISM\Dism.exe" /Mount-Wim /WimFile:"%WIM%" /index:%%i /MountDir:"%MOUNT%" echo. echo. echo.=============================================================================== ECHO Addding [Updates] to installation image echo.=============================================================================== for /R "%~dp0Updates\%Arch%\NETFX3" %%i in (*.cab) do dism /image:"%MOUNT%" /add-package /packagepath:"%%i" for /R "%~dp0Updates\%Arch%\ServicingStack" %%i in (*.cab) do dism /image:"%MOUNT%" /add-package /packagepath:"%%i" for /R "%~dp0Updates\%Arch%\Cumulative" %%i in (*.cab) do dism /image:"%MOUNT%" /add-package /packagepath:"%%i" for /R "%~dp0Updates\%Arch%\GeneralPackage" %%i in (*.cab) do dism /image:"%MOUNT%" /add-package /packagepath:"%%i" for /R "%~dp0Updates\%Arch%\NetCumulative" %%i in (*.cab) do dism /Image:"%MOUNT%" /Add-Package /PackagePath:"%%i" echo. echo. echo.=============================================================================== ECHO Addding [Updates] to Windows Recovery of image echo.=============================================================================== if not exist "%MountWinRE%" mkdir "%MountWinRE%" "%~dp0Tools\%Arch%\DISM\Dism.exe" /Mount-Wim /WimFile:"%WinRE%\WinRE.wim" /index:1 /MountDir:"%MountWinRE%" for /R "%~dp0Updates\%Arch%\ServicingStack" %%i in (*.cab) do dism /Image:"%MountWinRE%" /Add-Package /PackagePath:"%%i" for /R "%~dp0Updates\%Arch%\WinRE" %%i in (*.cab) do dism /Image:"%MountWinRE%" /Add-Package /PackagePath:"%%i" echo. echo. echo.=============================================================================== echo Unmounting image[WinRE] echo.=============================================================================== "%~dp0Tools\%Arch%\DISM\Dism.exe" /Unmount-Wim /MountDir:"%MountWinRE%" /commit "%~dp0Tools\%Arch%\DISM\Dism.exe" /Export-Image /SourceImageFile:"%WinRE%\WinRE.wim" /all /DestinationImageFile:"%WinRE%\WinRE_temp.wim" /compress:max /checkintegrity move /y "%WinRE%\WinRE_temp.wim" "%WinRE%\WinRE.wim" >nul rd /q /s "%MountWinRE%" >nul 2>&1 if exist "%MOUNT%\PerfLogs\Admin" rmdir /q /s "%MOUNT%\PerfLogs\Admin" del /f /s /q "%~dp0Updates\%Arch%\NetCumulative\*.cab" >nul 2>&1 Spoiler Тип продукта: WinNT Набор продуктов: Terminal Server Корень системы: WINDOWS Каталогов: 21408 Файлов: 109214 Создано: 05.06.2021 - 21:58:42 Изменено: 21.08.2021 - 21:49:42 Языков: ru-RU (по умолчанию) Операция успешно завершена. Cистема DISM Версия: 10.0.22000.1 Подключение образа [==========================100.0%==========================] Операция успешно завершена. =============================================================================== Addding [Updates] to installation image =============================================================================== Cистема DISM Версия: 10.0.19041.844 Версия образа: 10.0.22000.1 Обрабатывается 1 из 1 - Добавление пакета Microsoft-Windows-NetFx3-OnDemand-Package~31bf3856ad364e35~amd64~~10.0.22000.1 [==========================100.0%==========================] Операция успешно завершена. Cистема DISM Версия: 10.0.19041.844 Версия образа: 10.0.22000.1 Обрабатывается 1 из 1 - Добавление пакета Package_for_ServicingStack~31bf3856ad364e35~amd64~~22000.132.1.0 [==========================100.0%==========================] Операция успешно завершена. Cистема DISM Версия: 10.0.19041.844 Версия образа: 10.0.22000.1 Обрабатывается 1 из 1 - Добавление пакета Package_for_RollupFix~31bf3856ad364e35~amd64~~22000.160.1.0 [==========================100.0%==========================] Произошла ошибка - "Package_for_RollupFix" Ошибка: 0x800f0988 Ошибка: 0x800f0988 Сбой DISM. Операция не выполнена. Дополнительные сведения см. в файле журнала. Файл журнала DISM находится по адресу C:\Windows\Logs\DISM\dism.log Cистема DISM Версия: 10.0.19041.844 Версия образа: 10.0.22000.1 Обрабатывается 1 из 1 - Добавление пакета Package_for_KB5004567~31bf3856ad364e35~amd64~~10.0.1.0 [==========================100.0%==========================] Операция успешно завершена. Cистема DISM Версия: 10.0.19041.844 Версия образа: 10.0.22000.1 Обрабатывается 1 из 1 - Добавление пакета Package_for_DotNetRollup~31bf3856ad364e35~amd64~~10.0.4400.3 [==========================100.0%==========================] Операция успешно завершена. =============================================================================== Addding [Updates] to Windows Recovery of image =============================================================================== Cистема DISM Версия: 10.0.22000.1 Подключение образа [==========================100.0%==========================] Операция успешно завершена. Cистема DISM Версия: 10.0.19041.844 Версия образа: 10.0.22000.132 Processing 1 of 1 - Adding package Package_for_ServicingStack~31bf3856ad364e35~amd64~~22000.132.1.0 [==========================100.0%==========================] Операция успешно завершена. Cистема DISM Версия: 10.0.19041.844 Версия образа: 10.0.22000.132 Processing 1 of 1 - Adding package Package_for_KB5005662~31bf3856ad364e35~amd64~~22000.132.1.7 [==========================100.0%==========================] Операция успешно завершена. =============================================================================== Unmounting image[WinRE] =============================================================================== Cистема DISM Версия: 10.0.22000.1 Файл образа: C:\Win\Integrator11\Mount\Windows\System32\Recovery\WinRE.wim Индекс образа: 1 Сохранение образа [==========================100.0%==========================] Отключение образа [==========================100.0%==========================] Операция успешно завершена. Cистема DISM Версия: 10.0.22000.1 Экспорт образа [==========================100.0%==========================] Операция успешно завершена. =============================================================================== Mount Image Registry =============================================================================== =============================================================================== Integration of [vcredist_x64_2005-2008] into the installation image =============================================================================== Скопировано файлов: 1. Importing [Certificates.reg] to Image Registry... Importing [VC_x64_2005.reg] to Image Registry... Importing [VC_x64_2008.reg] to Image Registry... Importing [VC_x86_2005.reg] to Image Registry... Importing [VC_x86_2008.reg] to Image Registry... =============================================================================== Integration of [vcredist_2013] into the installation image =============================================================================== Скопировано файлов: 1. Importing [Certificates.reg] to Image Registry... Importing [VC_x64_2010.reg] to Image Registry... Importing [VC_x64_2012.reg] to Image Registry... Importing [VC_x64_2013.reg] to Image Registry... Importing [VC_x86_2010.reg] to Image Registry... Importing [VC_x86_2012.reg] to Image Registry... Importing [VC_x86_2013.reg] to Image Registry... Importing [VC_x86_Legacy.reg] to Image Registry... =============================================================================== Integration of [vcredist_2022] into the installation image =============================================================================== Importing [Certificates.reg] to Image Registry... Importing [VC_x64_2022.reg] to Image Registry... Importing [VC_x86_2022.reg] to Image Registry... =============================================================================== Integration of [DirectX9c] into the installation image =============================================================================== Importing [64bit.reg] to Image Registry... =============================================================================== Integration of [7-Zip] into the installation image =============================================================================== Importing [7zipArch.reg] to Image Registry... Importing [7zip_x64.reg] to Image Registry... =============================================================================== Integration of [Unlocker] into the installation image =============================================================================== Importing [Unlocker_x64.reg] to Image Registry... =============================================================================== Making settings in the registry =============================================================================== Importing [Disable_Cortana.reg] to Image Registry... Importing [Disable_Telemetry.reg] to Image Registry... Importing [Disabling_Specter_Meltdown.reg] to Image Registry... Importing [PhotoViewer.reg] to Image Registry... Importing [Systems.reg] to Image Registry... =============================================================================== Uninstalling OneDrive. =============================================================================== =============================================================================== Un-Mounting Image Registry =============================================================================== Done Cистема DISM Версия: 10.0.22000.1 Файл образа: C:\Win\Integrator11\DVD\sources\install.wim Индекс образа: 1 Сохранение образа [==========================100.0%==========================] Отключение образа [==========================100.0%==========================] Операция успешно завершена. =============================================================================== Extracting Windows 10 Setup Media Update to [DVD] folder. =============================================================================== =============================================================================== Copy the [$OEM$] folder to the sources folder =============================================================================== =============================================================================== Re-Building Source [Install.wim] Image with compress maximum... =============================================================================== Cистема DISM Версия: 10.0.22000.1 Экспорт образа [==========================100.0%==========================] Операция успешно завершена. Cистема DISM Версия: 10.0.22000.1 Поиск устаревших файлов на диске C Поиск устаревших файлов на диске D Операция успешно завершена. All finished. Press any key to end the script.
@MSMG, I went to check the "Starting Applying Tweaks" block, there are some things that are out of identification. I made two attached files, showing officer errors, and tried to improve identities, I hope to be correct and have helped
Today I've integrated Portable Devices pack into a Windows 10 Pro N 19043.1200 image tested it within a VM and result is yes Toolkit integrates the Packages properly and it works. I attached an image of the corresponding result below. But Toolkit expects some of package names in their respective folder to be renamed to "....wow64....." instead of "...amd64..." like you said previously.
I was scared, I did not find anything logical, in any of the codes that can return a date instead of ImageAchitecture. heheheeh About Sun Valley Icons Integration Just Replace "Move" to "Copy". But I saw now that it has already been corrected. About PortableDevices from Code: if "%ImageArchitecture%" equ "x64" ( echo.------------------------------------------------------------------------------- echo.Integrating Windows Portable Devices WOW64 Package... echo.------------------------------------------------------------------------------- if "%ImageBuild%" leq "17763" call :AddPackage "%InstallMount%\%%i", "%PortableDevices%\Microsoft-Windows-Portable-Devices-WOW64-Package~31bf3856ad364e35~amd64~~%PackageVersion%.%PackageServicePackBuild%.cab" if "%ImageBuild%" geq "18362" call :AddPackage "%InstallMount%\%%i", "%PortableDevices%\Microsoft-Windows-Portable-Devices-WOW64-Package~31bf3856ad364e35~wow64~~%PackageVersion%.%PackageServicePackBuild%.cab" echo.------------------------------------------------------------------------------- echo.Integrating Windows Portable Devices [%ImageDefaultLanguage%] Language WOW64 Package... echo.------------------------------------------------------------------------------- if "%ImageBuild%" leq "17763" call :AddPackage "%InstallMount%\%%i", "%PortableDevices%\Microsoft-Windows-Portable-Devices-WOW64-Package~31bf3856ad364e35~amd64~%ImageDefaultLanguage%~%PackageVersion%.%PackageServicePackBuild%.cab" if "%ImageBuild%" geq "18362" call :AddPackage "%InstallMount%\%%i", "%PortableDevices%\Microsoft-Windows-Portable-Devices-WOW64-Package~31bf3856ad364e35~wow64~%ImageDefaultLanguage%~%PackageVersion%.%PackageServicePackBuild%.cab" ) to Code: if "%ImageArchitecture%" equ "x64" ( echo.------------------------------------------------------------------------------- echo.Integrating Windows Portable Devices WOW64 Package... echo.------------------------------------------------------------------------------- call :AddPackage "%InstallMount%\%%i", "%PortableDevices%\Microsoft-Windows-Portable-Devices-WOW64-Package~31bf3856ad364e35~amd64~~%PackageVersion%.%PackageServicePackBuild%.cab" echo.------------------------------------------------------------------------------- echo.Integrating Windows Portable Devices [%ImageDefaultLanguage%] Language WOW64 Package... echo.------------------------------------------------------------------------------- call :AddPackage "%InstallMount%\%%i", "%PortableDevices%\Microsoft-Windows-Portable-Devices-WOW64-Package~31bf3856ad364e35~amd64~%ImageDefaultLanguage%~%PackageVersion%.%PackageServicePackBuild%.cab" ) Since there are no packages "Microsoft-Windows-Portable-Devices-WOW64-Package~31bf3856ad364e35~wow64~" In the repository folders, only "Microsoft-Windows-Portable-Devices-WOW64-Package~31bf3856ad364e35~amd64~". Unless it is that the fact that the files exist, but they are absent from the repository folder for the lack of space in the mega. I'm curious about VC_2019. Will VC_2022 replace it completely? The VC_2022 will not support Windows 8.1? Or can we simply apply the suggestion from @Bira? Code: for %%i in (Certificates, VC_2005, VC_2008, VC_2010, VC_2012, VC_2013, VC_2019, VC_2022, VC_Legacy) do ( if "%SelectedSourceOS%" neq "w10" if "%SelectedSourceOS%" neq "w11" ( if "%%i" neq "VC_2022" if not exist "!VCRuntime!\%%i_%ImageArchitecture%.reg" ( echo.Microsoft Visual C++ Runtime Pack file "%%i_%ImageArchitecture%.reg" not found... echo. echo.Please copy the above file to ^<Packs\VCRuntime\%SelectedSourceOS%^> folder... goto :Stop ) ) else ( if "%%i" neq "VC_2019" if not exist "!VCRuntime!\%%i_%ImageArchitecture%.reg" ( echo.Microsoft Visual C++ Runtime Pack file "%%i_%ImageArchitecture%.reg" not found... echo. echo.Please copy the above file to ^<Packs\VCRuntime\%SelectedSourceOS%^> folder... goto :Stop ) ) ) and Code: for %%i in (Certificates, VC_2005, VC_2008, VC_2010, VC_2012, VC_2013, VC_2019, VC_2022, VC_Legacy) do ( if "%SelectedSourceOS%" neq "w10" if "%SelectedSourceOS%" neq "w11" ( if "%%i" neq "VC_2022" call :ImportRegistry2Image "!VCRuntime!\%%i_%ImageArchitecture%.reg" ) else ( if "%%i" neq "VC_2019" call :ImportRegistry2Image "!VCRuntime!\%%i_%ImageArchitecture%.reg" ) )
from Code: copy /y "%Temp%\Win32Calc.exe" "%InstallMount%\%%i\Windows\SysWOW64\Win32Calc.exe" >nul to Code: copy /y "%Temp%\Win32Calc_wow64.exe" "%InstallMount%\%%i\Windows\SysWOW64\Win32Calc.exe" >nul and from Code: call :RemoveFile "%Temp%\cmd_wow64.dll" >nul to Code: call :RemoveFile "%Temp%\cmd_wow64.exe" >nul or a slight optimized: Code: for %%f in (cmd; cmd_wow64; imageres; imageres_wow64; imagesp1; imagesp1_wow64; SnippingTool; SnippingTool_wow64; shell32; shell32_wow64; taskmgr; taskmgr_wow64; Win32Calc; Win32Calc_wow64; zipfldr; zipfldr_wow64; ResourceHacker.exe; ResourceHacker.ini; ResourceHacker.log) do ( call :RemoveFile "%Temp%\%%f" call :RemoveFile "%Temp%\%%f.bak" call :RemoveFile "%Temp%\%%f.dll" call :RemoveFile "%Temp%\%%f.exe" call :RemoveFile "%Temp%\%%f.dll.mun" call :RemoveFile "%Temp%\%%f.exe.mun" )
It will only have to have some changes in the panel, so you can get there. Replace the same part that is in the script for this Code: ::------------------------------------------------------------------------------------------- :: Function to Integrate Windows Icons Skin ::------------------------------------------------------------------------------------------- :IntWIconsSkin setlocal cls echo.=============================================================================== echo. MSMG ToolKit - Integrate Windows Icons Skin echo.=============================================================================== echo. :: Getting Install Image Index Architecture call :GetImageArchitecture "%InstallWim%", %DefaultIndexNo% >nul set "Skins=%Skins%\Icons" :: Checking whether Windows Icons Skin Pack file exist for %%i in (cmd.exe.res, imageres.dll.res, imagesp1.dll.res, mydocs.dll.res, snippingtool.exe.res, shell32.dll.res, taskmgr.exe.res, win32calc.exe.res, zipfldr.dll.res) do ( if not exist "%Skins%\%%i" ( echo.Windows Icons Skin Pack file "%%i" not found... echo. echo.Please copy the above file to ^<Packs\Skins\Icons^> folder... goto :Stop ) ) echo.------------------------------------------------------------------------------- echo.####Starting Integrating Windows Icons Skin#################################### echo.------------------------------------------------------------------------------- echo. echo. Image : Install.wim echo. Image Index : %ImageIndexNo% echo. Image Architecture : %ImageArchitecture% echo. Image Version : %ImageVersion%.%ImageServicePackBuild%.%ImageServicePackLevel% echo. echo.------------------------------------------------------------------------------- echo.####Processing Windows Icons Resource Skin##################################### echo.------------------------------------------------------------------------------- echo. echo.Copying Windows Icons resource files... copy /y %ResourceHacker% %Temp% >nul copy "%InstallMount%\%DefaultIndexNo%\Windows\System32\cmd.exe" "%Temp%\cmd.bak" >nul copy "%InstallMount%\%DefaultIndexNo%\Windows\System32\SnippingTool.exe" "%Temp%\SnippingTool.bak" >nul if exist "%InstallMount%\%DefaultIndexNo%\Windows\System32\win32calc.exe" copy "%InstallMount%\%DefaultIndexNo%\Windows\System32\win32calc.exe" "%Temp%\win32calc.bak" >nul if "%ImageArchitecture%" equ "x64" ( copy "%InstallMount%\%DefaultIndexNo%\Windows\SysWOW64\cmd.exe" "%Temp%\cmd_wow64.bak" >nul if exist "%InstallMount%\%DefaultIndexNo%\Windows\SysWOW64\win32calc.exe" copy "%InstallMount%\%DefaultIndexNo%\Windows\SysWOW64\win32calc.exe" "%Temp%\win32calc_wow64.bak" >nul ) if "%SelectedSourceOS%" neq "w10" ( copy "%InstallMount%\%DefaultIndexNo%\Windows\System32\imageres.dll" "%Temp%\imageres.bak" >nul copy "%InstallMount%\%DefaultIndexNo%\Windows\System32\imagesp1.dll" "%Temp%\imagesp1.bak" >nul copy "%InstallMount%\%DefaultIndexNo%\Windows\System32\mydocs.dll" "%Temp%\mydocs.bak" >nul rem copy "%InstallMount%\%DefaultIndexNo%\Windows\System32\shell32.dll" "%Temp%\shell32.bak" >nul rem copy "%InstallMount%\%DefaultIndexNo%\Windows\System32\taskmgr.exe" "%Temp%\taskmgr.bak" >nul copy "%InstallMount%\%DefaultIndexNo%\Windows\System32\zipfldr.dll" "%Temp%\zipfldr.bak" >nul if "%ImageArchitecture%" equ "x64" ( copy "%InstallMount%\%DefaultIndexNo%\Windows\SysWOW64\imageres.dll" "%Temp%\imageres_wow64.bak" >nul copy "%InstallMount%\%DefaultIndexNo%\Windows\SysWOW64\imagesp1.dll" "%Temp%\imagesp1_wow64.bak" >nul copy "%InstallMount%\%DefaultIndexNo%\Windows\SysWOW64\mydocs.dll" "%Temp%\mydocs_wow64.bak" >nul rem copy "%InstallMount%\%DefaultIndexNo%\Windows\SysWOW64\taskmgr.exe" "%Temp%\taskmgr_wow64.bak" >nul copy "%InstallMount%\%DefaultIndexNo%\Windows\SysWOW64\zipfldr.dll" "%Temp%\zipfldr_wow64.bak" >nul ) echo. echo.Patching [\Windows\System32\imageres.dll] file... "%Temp%\ResourceHacker.exe" -addoverwrite "%Temp%\imageres.bak", "%Temp%\imageres.dll", "%Skins%\imageres.dll.res" ,,, call :RemoveFile "%Temp%\imageres.bak" echo.Patching [\Windows\System32\imagesp1.dll] file... "%Temp%\ResourceHacker.exe" -addoverwrite "%Temp%\imagesp1.bak", "%Temp%\imagesp1.dll", "%Skins%\imagesp1.dll.res" ,,, call :RemoveFile "%Temp%\imagesp1.bak" echo.Patching [\Windows\System32\mydocs.dll] file... "%Temp%\ResourceHacker.exe" -addoverwrite "%Temp%\mydocs.bak", "%Temp%\mydocs.dll", "%Skins%\mydocs.dll.res" ,,, call :RemoveFile "%Temp%\mydocs.bak" rem echo.Patching [\Windows\System32\shell32.dll] file... rem "%Temp%\ResourceHacker.exe" -addoverwrite "%Temp%\shell32.bak", "%Temp%\shell32.dll", "%Skins%\shell32.dll.res" ,,, rem call :RemoveFile "%Temp%\shell32.bak" rem echo.Patching [\Windows\System32\taskmgr.exe] file... rem "%Temp%\ResourceHacker.exe" -addoverwrite "%Temp%\taskmgr.bak", "%Temp%\taskmgr.exe", "%Skins%\taskmgr.exe.res" ,,, rem call :RemoveFile "%Temp%\taskmgr.bak" echo.Patching [\Windows\System32\zipfldr.dll] file... "%Temp%\ResourceHacker.exe" -addoverwrite "%Temp%\zipfldr.bak", "%Temp%\zipfldr.dll", "%Skins%\zipfldr.dll.res" ,,, call :RemoveFile "%Temp%\zipfldr.bak" if "%ImageArchitecture%" equ "x64" ( echo.Patching [\Windows\SysWOW64\imageres.dll] file... "%Temp%\ResourceHacker.exe" -addoverwrite "%Temp%\imageres_wow64.bak", "%Temp%\imageres_wow64.dll", "%Skins%\imageres.dll.res" ,,, call :RemoveFile "%Temp%\imageres_wow64.bak" echo.Patching [\Windows\SysWOW64\imagesp1.dll] file... "%Temp%\ResourceHacker.exe" -addoverwrite "%Temp%\imagesp1_wow64.bak", "%Temp%\imagesp1_wow64.dll", "%Skins%\imagesp1.dll.res" ,,, call :RemoveFile "%Temp%\imagesp1_wow64.bak" echo.Patching [\Windows\SysWOW64\mydocs.dll] file... "%Temp%\ResourceHacker.exe" -addoverwrite "%Temp%\mydocs_wow64.bak", "%Temp%\mydocs_wow64.dll", "%Skins%\mydocs.dll.res" ,,, call :RemoveFile "%Temp%\mydocs_wow64.bak" rem echo.Patching [\Windows\SysWOW64\taskmgr.exe] file... rem "%Temp%\ResourceHacker.exe" -addoverwrite "%Temp%\taskmgr_wow64.bak", "%Temp%\taskmgr_wow64.exe", "%Skins%\taskmgr.exe.res" ,,, rem call :RemoveFile "%Temp%\taskmgr_wow64.bak" echo.Patching [\Windows\SysWOW64\zipfldr.dll] file... "%Temp%\ResourceHacker.exe" -addoverwrite "%Temp%\zipfldr_wow64.bak", "%Temp%\zipfldr_wow64.dll", "%Skins%\zipfldr.dll.res" ,,, call :RemoveFile "%Temp%\zipfldr_wow64.bak" ) ) else ( copy "%InstallMount%\%DefaultIndexNo%\Windows\System32\imageres.dll" "%Temp%\imageres.bak" >nul copy "%InstallMount%\%DefaultIndexNo%\Windows\System32\imagesp1.dll" "%Temp%\imagesp1.bak" >nul copy "%InstallMount%\%DefaultIndexNo%\Windows\System32\mydocs.dll" "%Temp%\mydocs.bak" >nul rem copy "%InstallMount%\%DefaultIndexNo%\Windows\System32\shell32.dll" "%Temp%\shell32.bak" >nul rem copy "%InstallMount%\%DefaultIndexNo%\Windows\System32\taskmgr.exe" "%Temp%\taskmgr.bak" >nul copy "%InstallMount%\%DefaultIndexNo%\Windows\System32\zipfldr.dll" "%Temp%\zipfldr.bak" >nul if "%ImageArchitecture%" equ "x64" ( copy "%InstallMount%\%DefaultIndexNo%\Windows\SysWOW64\imageres.dll" "%Temp%\imageres_wow64.bak" >nul copy "%InstallMount%\%DefaultIndexNo%\Windows\SysWOW64\imagesp1.dll" "%Temp%\imagesp1_wow64.bak" >nul copy "%InstallMount%\%DefaultIndexNo%\Windows\SysWOW64\mydocs.dll" "%Temp%\mydocs_wow64.bak" >nul rem copy "%InstallMount%\%DefaultIndexNo%\Windows\SysWOW64\taskmgr.exe" "%Temp%\taskmgr_wow64.bak" >nul copy "%InstallMount%\%DefaultIndexNo%\Windows\SysWOW64\zipfldr.dll" "%Temp%\zipfldr_wow64.bak" >nul ) echo. echo.Patching [\Windows\System32\imageres.dll] file... "%Temp%\ResourceHacker.exe" -addoverwrite "%Temp%\imageres.bak", "%Temp%\imageres.dll", "%Skins%\imageres.dll.res" ,,, call :RemoveFile "%Temp%\imageres.bak" echo.Patching [\Windows\System32\imagesp1.dll] file... "%Temp%\ResourceHacker.exe" -addoverwrite "%Temp%\imagesp1.bak", "%Temp%\imagesp1.dll", "%Skins%\imagesp1.dll.res" ,,, call :RemoveFile "%Temp%\imagesp1.bak" echo.Patching [\Windows\System32\mydocs.dll] file... "%Temp%\ResourceHacker.exe" -addoverwrite "%Temp%\mydocs.bak", "%Temp%\mydocs.dll", "%Skins%\mydocs.dll.res" ,,, call :RemoveFile "%Temp%\mydocs.bak" rem echo.Patching [\Windows\System32\shell32.dll] file... rem "%Temp%\ResourceHacker.exe" -addoverwrite "%Temp%\shell32.bak", "%Temp%\shell32.dll", "%Skins%\shell32.dll.res" ,,, rem call :RemoveFile "%Temp%\shell32.bak" rem echo.Patching [\Windows\System32\taskmgr.exe] file... rem "%Temp%\ResourceHacker.exe" -addoverwrite "%Temp%\taskmgr.bak", "%Temp%\taskmgr.exe", "%Skins%\taskmgr.exe.res" ,,, rem call :RemoveFile "%Temp%\taskmgr.bak" echo.Patching [\Windows\System32\zipfldr.dll] file... "%Temp%\ResourceHacker.exe" -addoverwrite "%Temp%\zipfldr.bak", "%Temp%\zipfldr.dll", "%Skins%\zipfldr.dll.res" ,,, call :RemoveFile "%Temp%\zipfldr.bak" if "%ImageArchitecture%" equ "x64" ( echo.Patching [\Windows\SysWOW64\imageres.dll] file... "%Temp%\ResourceHacker.exe" -addoverwrite "%Temp%\imageres_wow64.bak", "%Temp%\imageres_wow64.dll", "%Skins%\imageres.dll.res" ,,, call :RemoveFile "%Temp%\imageres_wow64.bak" echo.Patching [\Windows\SysWOW64\imagesp1.dll] file... "%Temp%\ResourceHacker.exe" -addoverwrite "%Temp%\imagesp1_wow64.bak", "%Temp%\imagesp1_wow64.dll", "%Skins%\imagesp1.dll.res" ,,, call :RemoveFile "%Temp%\imagesp1_wow64.bak" echo.Patching [\Windows\SysWOW64\mydocs.dll] file... "%Temp%\ResourceHacker.exe" -addoverwrite "%Temp%\mydocs_wow64.bak", "%Temp%\mydocs_wow64.dll", "%Skins%\mydocs.dll.res" ,,, call :RemoveFile "%Temp%\mydocs_wow64.bak" rem echo.Patching [\Windows\SysWOW64\taskmgr.exe] file... rem "%Temp%\ResourceHacker.exe" -addoverwrite "%Temp%\taskmgr_wow64.bak", "%Temp%\taskmgr_wow64.exe", "%Skins%\taskmgr.exe.res" ,,, rem call :RemoveFile "%Temp%\taskmgr_wow64.bak" echo.Patching [\Windows\SysWOW64\zipfldr.dll] file... "%Temp%\ResourceHacker.exe" -addoverwrite "%Temp%\zipfldr_wow64.bak", "%Temp%\zipfldr_wow64.dll", "%Skins%\zipfldr.dll.res" ,,, call :RemoveFile "%Temp%\zipfldr_wow64.bak" ) if "%ImageBuild%" geq "18363" ( copy "%InstallMount%\%DefaultIndexNo%\Windows\SystemResources\imageres.dll.mun" "%Temp%\imageres.bak" >nul copy "%InstallMount%\%DefaultIndexNo%\Windows\SystemResources\imagesp1.dll.mun" "%Temp%\imagesp1.bak" >nul copy "%InstallMount%\%DefaultIndexNo%\Windows\SystemResources\mydocs.dll.mun" "%Temp%\mydocs.bak" >nul copy "%InstallMount%\%DefaultIndexNo%\Windows\SystemResources\shell32.dll.mun" "%Temp%\shell32.bak" >nul copy "%InstallMount%\%DefaultIndexNo%\Windows\SystemResources\taskmgr.exe.mun" "%Temp%\taskmgr.bak" >nul copy "%InstallMount%\%DefaultIndexNo%\Windows\SystemResources\zipfldr.dll.mun" "%Temp%\zipfldr.bak" >nul echo. echo.Patching [\Windows\SystemResources\imageres.dll.mun] file... "%Temp%\ResourceHacker.exe" -addoverwrite "%Temp%\imageres.bak", "%Temp%\imageres.dll.mun", "%Skins%\imageres.dll.res" ,,, call :RemoveFile "%Temp%\imageres.bak" echo.Patching [\Windows\SystemResources\imagesp1.dll.mun] file... "%Temp%\ResourceHacker.exe" -addoverwrite "%Temp%\imagesp1.bak", "%Temp%\imagesp1.dll.mun", "%Skins%\imagesp1.dll.res" ,,, call :RemoveFile "%Temp%\imagesp1.bak" echo.Patching [\Windows\SystemResources\mydocs.dll.mun] file... "%Temp%\ResourceHacker.exe" -addoverwrite "%Temp%\mydocs.bak", "%Temp%\mydocs.dll.mun", "%Skins%\mydocs.dll.res" ,,, call :RemoveFile "%Temp%\mydocs.bak" echo.Patching [\Windows\SystemResources\shell32.dll.mun] file... "%Temp%\ResourceHacker.exe" -addoverwrite "%Temp%\shell32.bak", "%Temp%\shell32.dll.mun", "%Skins%\shell32.dll.res" ,,, call :RemoveFile "%Temp%\shell32.bak" echo.Patching [\Windows\SystemResources\taskmgr.exe.mun] file... "%Temp%\ResourceHacker.exe" -addoverwrite "%Temp%\taskmgr.bak", "%Temp%\taskmgr.exe.mun", "%Skins%\taskmgr.exe.res" ,,, call :RemoveFile "%Temp%\taskmgr.bak" echo.Patching [\Windows\SystemResources\zipfldr.dll.mun] file... "%Temp%\ResourceHacker.exe" -addoverwrite "%Temp%\zipfldr.bak", "%Temp%\zipfldr.dll.mun", "%Skins%\zipfldr.dll.res" ,,, call :RemoveFile "%Temp%\zipfldr.bak" ) ) echo.Patching [\Windows\System32\cmd.exe] file... "%Temp%\ResourceHacker.exe" -addoverwrite "%Temp%\cmd.bak", "%Temp%\cmd.exe", "%Skins%\cmd.exe.res" ,,, call :RemoveFile "%Temp%\cmd.bak" echo.Patching [\Windows\System32\SnippingTool.exe] file... "%Temp%\ResourceHacker.exe" -addoverwrite "%Temp%\SnippingTool.bak", "%Temp%\SnippingTool.exe", "%Skins%\snippingtool.exe.res" ,,, call :RemoveFile "%Temp%\SnippingTool.bak" if exist "%InstallMount%\%DefaultIndexNo%\Windows\System32\win32calc.exe" ( echo.Patching [\Windows\System32\win32calc.exe] file... "%Temp%\ResourceHacker.exe" -addoverwrite "%Temp%\win32calc.bak", "%Temp%\win32calc.exe", "%Skins%\win32calc.exe.res" ,,, call :RemoveFile "%Temp%\win32calc.bak" ) if "%ImageArchitecture%" equ "x64" ( echo.Patching [\Windows\SysWOW64\cmd.exe] file... "%Temp%\ResourceHacker.exe" -addoverwrite "%Temp%\cmd_wow64.bak", "%Temp%\cmd_wow64.exe", "%Skins%\cmd.exe.res" ,,, call :RemoveFile "%Temp%\cmd_wow64.bak" if exist "%InstallMount%\%DefaultIndexNo%\Windows\SysWOW64\win32calc.exe" ( echo.Patching [\Windows\SysWOW64\win32calc.exe] file... "%Temp%\ResourceHacker.exe" -addoverwrite "%Temp%\win32calc_wow64.bak", "%Temp%\win32calc_wow64.exe", "%Skins%\win32calc.exe.res" ,,, call :RemoveFile "%Temp%\win32calc_wow64.bak" ) ) echo. echo.------------------------------------------------------------------------------- echo.####Integrating Windows Icons Skin############################################# echo.------------------------------------------------------------------------------- echo. for /l %%i in (1, 1, %ImageCount%) do ( if exist "%InstallMount%\%%i" ( if not %%i gtr 9 echo.===========================[Install.wim, Index : %%i]============================ if %%i gtr 9 echo.==========================[Install.wim, Index : %%i]============================ echo. echo.Copying Patched Windows Icons files... echo. echo.Copying [\Windows\System32\cmd.exe] file... copy /y "%Temp%\cmd.exe" "%InstallMount%\%%i\Windows\System32\cmd.exe" >nul echo.Copying [\Windows\System32\SnippingTool.exe] file... copy /y "%Temp%\SnippingTool.exe" "%InstallMount%\%%i\Windows\System32\SnippingTool.exe" >nul if exist "%InstallMount%\%%i\Windows\System32\win32calc.exe" ( echo.Copying [\Windows\System32\win32calc.exe] file... copy /y "%Temp%\win32calc.exe" "%InstallMount%\%%i\Windows\System32\win32calc.exe" >nul ) if "%ImageArchitecture%" equ "x64" ( echo.Copying [\Windows\SysWOW64\cmd.exe] file... copy /y "%Temp%\cmd_wow64.exe" "%InstallMount%\%%i\Windows\SysWOW64\cmd.exe" >nul if exist "%InstallMount%\%%i\Windows\SysWOW64\win32calc.exe" ( echo.Copying [\Windows\SysWOW64\win32calc.exe] file... copy /y "%Temp%\win32calc.exe" "%InstallMount%\%%i\Windows\SysWOW64\win32calc.exe" >nul ) ) if "%SelectedSourceOS%" neq "w10" ( echo.Copying [\Windows\System32\imageres.dll] file... copy /y "%Temp%\imageres.dll" "%InstallMount%\%%i\Windows\System32\imageres.dll" >nul echo.Copying [\Windows\System32\imagesp1.dll] file... copy /y "%Temp%\imagesp1.dll" "%InstallMount%\%%i\Windows\System32\imagesp1.dll" >nul echo.Copying [\Windows\System32\mydocs.dll] file... copy /y "%Temp%\mydocs.dll" "%InstallMount%\%%i\Windows\System32\mydocs.dll" >nul rem echo.Copying [\Windows\System32\shell32.dll] file... rem copy /y "%Temp%\shell32.dll" "%InstallMount%\%%i\Windows\System32\shell32.dll" >nul rem echo.Copying [\Windows\System32\taskmgr.exe] file... rem copy /y "%Temp%\taskmgr.exe" "%InstallMount%\%%i\Windows\System32\taskmgr.exe" >nul echo.Copying [\Windows\System32\zipfldr.dll] file... copy /y "%Temp%\zipfldr.dll" "%InstallMount%\%%i\Windows\System32\zipfldr.dll" >nul if "%ImageArchitecture%" equ "x64" ( echo.Copying [\Windows\SysWOW64\imageres.dll] file... copy /y "%Temp%\imageres_wow64.dll" "%InstallMount%\%%i\Windows\SysWOW64\imageres.dll" >nul echo.Copying [\Windows\SysWOW64\imagesp1.dll] file... copy /y "%Temp%\imagesp1_wow64.dll" "%InstallMount%\%%i\Windows\SysWOW64\imagesp1.dll" >nul echo.Copying [\Windows\SysWOW64\mydocs.dll] file... copy /y "%Temp%\mydocs_wow64.dll" "%InstallMount%\%%i\Windows\SysWOW64\mydocs.dll" >nul rem echo.Copying [\Windows\SysWOW64\taskmgr.exe] file... rem copy /y "%Temp%\taskmgr_wow64.exe" "%InstallMount%\%%i\Windows\SysWOW64\taskmgr.exe" >nul echo.Copying [\Windows\SysWOW64\zipfldr.dll] file... copy /y "%Temp%\zipfldr_wow64.dll" "%InstallMount%\%%i\Windows\SysWOW64\zipfldr.dll" >nul ) ) else ( echo.Copying [\Windows\System32\imageres.dll] file... copy /y "%Temp%\imageres.dll" "%InstallMount%\%%i\Windows\System32\imageres.dll" >nul echo.Copying [\Windows\System32\imagesp1.dll] file... copy /y "%Temp%\imagesp1.dll" "%InstallMount%\%%i\Windows\System32\imagesp1.dll" >nul echo.Copying [\Windows\System32\mydocs.dll] file... copy /y "%Temp%\mydocs.dll" "%InstallMount%\%%i\Windows\System32\mydocs.dll" >nul rem echo.Copying [\Windows\System32\shell32.dll] file... rem copy /y "%Temp%\shell32.dll" "%InstallMount%\%%i\Windows\System32\shell32.dll" >nul rem echo.Copying [\Windows\System32\taskmgr.exe] file... rem copy /y "%Temp%\taskmgr.exe" "%InstallMount%\%%i\Windows\System32\taskmgr.exe" >nul echo.Copying [\Windows\System32\zipfldr.dll] file... copy /y "%Temp%\zipfldr.dll" "%InstallMount%\%%i\Windows\System32\zipfldr.dll" >nul if "%ImageArchitecture%" equ "x64" ( echo.Copying [\Windows\SysWOW64\imageres.dll] file... copy /y "%Temp%\imageres_wow64.dll" "%InstallMount%\%%i\Windows\SysWOW64\imageres.dll" >nul echo.Copying [\Windows\SysWOW64\imagesp1.dll] file... copy /y "%Temp%\imagesp1_wow64.dll" "%InstallMount%\%%i\Windows\SysWOW64\imagesp1.dll" >nul echo.Copying [\Windows\SysWOW64\mydocs.dll] file... copy /y "%Temp%\mydocs_wow64.dll" "%InstallMount%\%%i\Windows\SysWOW64\mydocs.dll" >nul rem echo.Copying [\Windows\SysWOW64\taskmgr.exe] file... rem copy /y "%Temp%\taskmgr_wow64.exe" "%InstallMount%\%%i\Windows\SysWOW64\taskmgr.exe" >nul echo.Copying [\Windows\SysWOW64\zipfldr.dll] file... copy /y "%Temp%\zipfldr_wow64.dll" "%InstallMount%\%%i\Windows\SysWOW64\zipfldr.dll" >nul ) if "%ImageBuild%" geq "18363" ( echo.Copying [\Windows\SystemResources\imageres.dll.mun] file... copy /y "%Temp%\imageres.dll.mun" "%InstallMount%\%%i\Windows\SystemResources\imageres.dll.mun" >nul echo.Copying [\Windows\SystemResources\imagesp1.dll.mun] file... copy /y "%Temp%\imagesp1.dll.mun" "%InstallMount%\%%i\Windows\SystemResources\imagesp1.dll.mun" >nul echo.Copying [\Windows\SystemResources\mydocs.dll.mun] file... copy /y "%Temp%\mydocs.dll.mun" "%InstallMount%\%%i\Windows\SystemResources\mydocs.dll.mun" >nul echo.Copying [\Windows\SystemResources\shell32.dll.mun] file... copy /y "%Temp%\shell32.dll.mun" "%InstallMount%\%%i\Windows\SystemResources\shell32.dll.mun" >nul echo.Copying [\Windows\SystemResources\taskmgr.exe.mun] file... copy /y "%Temp%\taskmgr.exe.mun" "%InstallMount%\%%i\Windows\SystemResources\taskmgr.exe.mun" >nul echo.Copying [\Windows\SystemResources\zipfldr.dll.mun] file... copy /y "%Temp%\zipfldr.dll.mun" "%InstallMount%\%%i\Windows\SystemResources\zipfldr.dll.mun" >nul ) ) ) )
That's due to 1) Not performing Image Cleanup. 2) Compared to earlier versions the removal program now removes less in WinSxS folder to maintain Windows Update Compatibility.
Portable Devices Pack is for N Editions only, the below two packages exist for v1903/v1909 will check for other Windows 10 versions and fix the Toolkit script. Code: Microsoft-Windows-Portable-Devices-WOW64-Package~31bf3856ad364e35~wow64~~10.0.18362.1 Microsoft-Windows-Portable-Devices-WOW64-Package~31bf3856ad364e35~wow64~en-US~10.0.18362.1
Although I haven't yet added the support for integrating language packs or updates to Windows 11, you can try Integrating the updates using [4] - > [1] Integrate Windows Updates menu. Make sure you copy the windows10.0-kb5005189-x64.psf too along with windows10.0-kb5005189-x64.cab. With Windows 11 now the cumulative update contain two files one a cab file and other .psf file, both are required for integration.
The pack file Microsoft-Windows-Portable-Devices-WOW64-Package~31bf3856ad364e35~wow64~ exist for W10 1903/1909, need to check for other version and will modify the script to suit the Windows 10 versions. Yes VC2022 is backward compatible, it's just I haven't created the pack for W7/W81 yet, will be uploading them once it's done.