NTLite and Windows Vista updates

alpis

New Member
I decided to integrate all Windows Vista updates into my Vista SP2 x64 ISO from MSDN, it did say Vista was not compatible with NTLite but I could proceed, and I needed to use NTLite since there was no other program I could find to do this, and vLite didn't allow me to integrate updates in the first place.

So upon specifying all the updates, I tried to Process but the button was greyed out and it said in the remaining tasks area:

"In order to use integrations or feature configuration, core servicing stack component must not be removed"

I checked the components area and there was no such thing there, and also, I even tried removing all servicing stack updates I tried to integrate but it still doesn't allow me to process it.

Is there any other customizing software that would allow me to integrate updates to Vista or is there any solution to this problem?
 
It would be great to see support for integrating hotfixes and clean update backup for Windows Vista nuhi, can we request this partial support please?

First way is use peimg.exe from WAIK, here is my custom integration script
Code:
@echo off

if "%~1" == "" (
     echo.
     echo Drag and Drop path to mounted image:
     echo.
     SET /P IMAGE=
     echo.
) Else (
     SET IMAGE=%~1
)

IF EXIST "%IMAGE%\Windows\SysWOW64" (
    SET ARCH=x64
    SET ARCH2=amd64
) ELSE (
    SET ARCH=x86
    SET ARCH2=x86
)


FOR %%C IN (%~dp0Updates\*KB9*%ARCH%*.cab) DO (
    "%~dp0apps\waik\x86\peimg.exe" /Image="%IMAGE%" /import="%~dp0Updates\extracted\%%~nC"
)


FOR %%C IN (%~dp0Updates\*KB2*%ARCH%*.cab) DO (
    "%~dp0apps\waik\x86\peimg.exe" /Image="%IMAGE%" /import="%~dp0Updates\extracted\%%~nC"
)


FOR %%C IN (%~dp0Updates\*KB3*%ARCH%*.cab) DO (
    "%~dp0apps\waik\x86\peimg.exe" /Image="%IMAGE%" /import="%~dp0Updates\extracted\%%~nC"
)

FOR %%C IN (%~dp0Updates\*KB4*%ARCH%*.cab) DO (
    "%~dp0apps\waik\x86\peimg.exe" /Image="%IMAGE%" /import="%~dp0Updates\extracted\%%~nC"
)


FOR %%C IN (%~dp0Updates\*KB5*%ARCH%*.cab) DO (
    "%~dp0apps\waik\x86\peimg.exe" /Image="%IMAGE%" /import="%~dp0Updates\extracted\%%~nC"
)


echo.
echo.
echo Installing packages

if exist "%~dp0Updates\*KB9*%ARCH%*.cab" "%~dp0apps\waik\x86\peimg.exe" /Image:"%IMAGE%" /install=*for_KB9*
if exist "%~dp0Updates\*KB2*%ARCH%*.cab" "%~dp0apps\waik\x86\peimg.exe" /Image:"%IMAGE%" /install=*for_KB2*
if exist "%~dp0Updates\*KB3*%ARCH%*.cab" "%~dp0apps\waik\x86\peimg.exe" /Image:"%IMAGE%" /install=*for_KB3*
if exist "%~dp0Updates\*KB4*%ARCH%*.cab" "%~dp0apps\waik\x86\peimg.exe" /Image:"%IMAGE%" /install=*for_KB4*
if exist "%~dp0Updates\*KB5*%ARCH%*.cab" "%~dp0apps\waik\x86\peimg.exe" /Image:"%IMAGE%" /install=*for_KB5*

pause



Second way is extract CABs and use pkgmgr.exe to integrate

Extract
Code:
@echo off

FOR %%C IN (%~dp0Updates\*.cab) DO (
    
    if not exist "%~dp0Updates\extracted\%%~nC" (
        echo         %%~nC
        mkdir "%~dp0Updates\extracted\%%~nC"
        expand -f:* "%%C" "%~dp0Updates\extracted\%%~nC" >nul
    ) else (
        echo         Skipped: %%~nC
    )
)

pause


Integrate
Code:
@echo off

if "%~1" == "" (
     echo.
     echo Drag and Drop path to mounted image:
     echo.
     SET /P IMAGE=
     echo.
) Else (
     SET IMAGE=%~1
)

IF EXIST "%IMAGE%\Windows\SysWOW64" (
    SET ARCH=x64
    SET ARCH2=amd64
) ELSE (
    SET ARCH=x86
    SET ARCH2=x86
)


FOR %%C IN (%~dp0Updates\extracted\*KB9*%ARCH%*) DO (
    "%~dp0apps\waik\x86\pkgmgr.exe" /ip /m:"%~dp0Updates\extracted\%%~nC\update.mum" /o:"%IMAGE%\;%IMAGE%\Windows" /s:"%IMAGE%\Windows\Temp"
)


FOR %%C IN (%~dp0Updates\*KB2*%ARCH%*) DO (
    "%~dp0apps\waik\x86\pkgmgr.exe" /ip /m:"%~dp0Updates\extracted\%%~nC\update.mum" /o:"%IMAGE%\;%IMAGE%\Windows" /s:"%IMAGE%\Windows\Temp"
)


FOR %%C IN (%~dp0Updates\*KB3*%ARCH%*) DO (
    "%~dp0apps\waik\x86\pkgmgr.exe" /ip /m:"%~dp0Updates\extracted\%%~nC\update.mum" /o:"%IMAGE%\;%IMAGE%\Windows" /s:"%IMAGE%\Windows\Temp"
)

FOR %%C IN (%~dp0Updates\*KB4*%ARCH%*) DO (
    "%~dp0apps\waik\x86\pkgmgr.exe" /ip /m:"%~dp0Updates\extracted\%%~nC\update.mum" /o:"%IMAGE%\;%IMAGE%\Windows" /s:"%IMAGE%\Windows\Temp"
)


FOR %%C IN (%~dp0Updates\*KB5*%ARCH%*) DO (
    "%~dp0apps\waik\x86\pkgmgr.exe" /ip /m:"%~dp0Updates\extracted\%%~nC\update.mum" /o:"%IMAGE%\;%IMAGE%\Windows" /s:"%IMAGE%\Windows\Temp"
)

pause
 
Will remove that message on it from the next version (post 7596), but the integration probably won't work as it doesn't support pkgmgr method, just DISM.
Sorry, it's simply beyond obsolete and it's not worth the time from my perspective.
 
Oh, I absolutely forget, you can use DISM for integration into Windows Vista SP1/SP2 if you are on Windows 7 (dism simply calls pkgmgr).

So integration works without problems, see here.

1596571695039.png

I also tested CleanUpdate backup in older NTLite version and it worked great, but in tested version 2.0.0.7580 it stuck on Prepare data phase at 99%. This problem was fixed for Windows 7 in 1.8.0.7025, so maybe you could give it a try please?
 
Oh, I absolutely forget, you can use DISM for integration into Windows Vista SP1/SP2 if you are on Windows 7 (dism simply calls pkgmgr).

So integration works without problems, see here.

I also tested CleanUpdate backup in older NTLite version and it worked great, but in tested version 2.0.0.7580 it stuck on Prepare data phase at 99%. This problem was fixed for Windows 7 in 1.8.0.7025, so maybe you could give it a try please?
Thanks for the info, then you can also force DISM.exe usage from Windows 10 as well, by editing settings.xml of NTLite and set ForceDismExe to true.

Regarding the prepare data being stuck, I would need the preset and which exact image to test on?

Will send to two of you a test version which allows for Vista to pass the servicing stack check.
Let me know if more needs to be done for basic operations.
 
Back
Top