After integration of x64 into x86 - Servicepack update is requested

MikeMe

New Member
I created an aio for x64 and x86 Windows 7. After merging the 64bit wim into the 32bit wim, windows update requests the servicepack update for the 64bit version (the 32bit don't get this request) (but it is just a few mb large). I also integrated the convenience roll-up and the updates released afterwards. Is this a know issue? both iso have already the sp1 integrated, I checked the checksum and the matches the one from msdn.

LG
 

Kasual

Well-Known Member
I can't point to the update or updates that makes Windows Update to ask for SP1, that was a problem for me but i made a list.

There you have some updates that superseded other updates in the preset.

I have "somewhat outdated" list here:
Windows 7 - Updates Download List 2018-02

There could be newer updates for IE, and security update rollup (this one is around 40 MB).

- Keep KB3125574 and delete all others.
- Download all from the list in the updates thread (make sure to download the 2018-02 x64).
- Download the KB4338818 Security Monthly Quality Rollup

There would be left about 4 updates + about 6 related to GWX, telemetry and other GWX+ telemetry.

If you want, you can do the same for x86.

I still have pending the list updating.
 

MikeMe

New Member
I mad a clean install of sp1 with the convenience rollup and these updates where all request by windows update. Even if there where superseded, I thought thats how the system would do it by itself.

EDIT:
I even recognised that after installing wmi 5.1 the KB4338818 Security Monthly Quality Rollup needs to be reinstalled. So I decide to integrate the last one and install it afterwards wmi 5.1.
 
Last edited:

MikeMe

New Member
What would be the perfect install order, before integration with Ntlite to verify all needed updates.
 

Kasual

Well-Known Member
Even if there where superseded, I thought thats how the system would do it by itself.

EDIT:
I even recognised that after installing wmi 5.1 the KB4338818 Security Monthly Quality Rollup needs to be reinstalled.
Windows update doesn't scan and install only the latest updates, installs the older available and then scan and install the next that supersedes the installed updated and keeps updating and hogging the system.

Seems like wmi 5.1 overwrites some KB4338818 updated files.

What would be the perfect install order, before integration with Ntlite to verify all needed updates.
NTLite sort it by date, except Servicing stack because it is integrated first.

I do recommend to follow the lines with "-" in the post #4, integrate with NTLite, then install in a virtual machine or HD/SSD and do a scan with Windows update to know the needed updates, you can list here the updates requested by Windows update and i would help to verify if they are superseded.
 

MikeMe

New Member
To clear things out:

First I integrated:
windows6.1-kb2533552-x64.msu
windows6.1-kb3125574-v4-x64.msu
windows6.1-kb3177467-x64.msu

Than I installed the integrated .iso into an vm.

Than I did a windows update check and installed all optional updates first (request by windows update) only 2 two of these where added, throut the update process don't know which exactly.
windows6.1-kb2545698-x64.msu
windows6.1-kb2547666-x64.msu
windows6.1-kb2574819-v2-x64.msu
windows6.1-kb2592687-x64.msu
windows6.1-kb2603229-x64.msu
windows6.1-kb2670838-x64.msu
windows6.1-kb2685811-x64.msu
windows6.1-kb2685813-x64.msu
windows6.1-kb2729094-v2-x64.msu
windows6.1-kb2732059-v5-x64.msu
windows6.1-kb2750841-x64.msu
windows6.1-kb2761217-x64.msu
windows6.1-kb2773072-x64.msu
windows6.1-kb2830477-x64.msu
windows6.1-kb2834140-v2-x64.msu
windows6.1-kb2919469-x64.msu
windows6.1-kb2923545-x64.msu
windows6.1-kb2970228-x64.msu
windows6.1-kb3006137-x64.msu
windows6.1-kb3021917-x64.msu
windows6.1-kb3068708-x64.msu
windows6.1-kb3080149-x64.msu
windows6.1-kb3102429-v2-x64.msu
windows6.1-kb3118401-x64.msu
windows6.1-kb3140245-x64.msu
windows6.1-kb3150513-x64.msu
windows6.1-kb3172605-x64.msu
windows6.1-kb3179573-x64.msu
windows6.1-kb3181988-x64.msu
windows6.1-kb3184143-x64.msu

Than I installed all security updates, but left the rollups unchecked.
windows6.1-kb2667402-v2-x64.msu
windows6.1-kb2676562-x64.msu
windows6.1-kb2698365-x64.msu
windows6.1-kb2706045-x64.msu
windows6.1-kb2813347-x64.msu
windows6.1-kb2862330-v2-x64.msu
windows6.1-kb2900986-x64.msu
windows6.1-kb2912390-x64.msu
windows6.1-kb2952664-v25-x64.msu
windows6.1-kb2984972-x64.msu
windows6.1-kb2984976-x64.msu
windows6.1-kb3004375-v3-x64.msu
windows6.1-kb3020388-x64.msu
windows6.1-kb3031432-x64.msu
windows6.1-kb3035126-x64.msu
windows6.1-kb3035132-x64.msu
windows6.1-kb3046269-x64.msu
windows6.1-kb3059317-x64.msu
windows6.1-kb3075226-x64.msu
windows6.1-kb3078601-x64.msu
windows6.1-kb3110329-x64.msu
windows6.1-kb3123479-x64.msu
windows6.1-kb3138612-x64.msu
windows6.1-kb3156016-x64.msu
windows6.1-kb3156019-x64.msu
windows6.1-kb3159398-x64.msu
windows6.1-kb3161949-x64.msu
windows6.1-kb3161958-x64.msu

Than I installed the two requested rollups:
windows6.1-kb4054518-x64.msu
windows6.1-kb4284826-x64.msu

And finally the .net updates:
windows6.1-kb2894844-x64.msu
windows6.1-kb4019990-x64.msu
windows6.1-kb4040980-x64.msu
windows6.1-kb4095874-x64.msu

Now windows update just suggested .net 4.7.2
which i install postsetup
and the I install wmi
and last but not least: the monthly roll-up for July

then I rechecked the update history if all where installed correctly.
there where just two missing updates: the activation kb9**** update and the last net rollup. which could not be installed by msu for some reason.

I mad the same for x86 and it worked (I integreted all updates I installed this way), but somehow the x64 dont work as intended.
LG
 

MikeMe

New Member
I integrated kb2533552 with ntlite, before installing it in an virtual machine. Perhaps the issue lies within this one. I come to the conclusion that integrating updates into .iso is still in some cases not a good solution. It may takes some time to optimize this process even further. In different forums like wincert and co, many people encountered the same issues, perhaps using tools like WinToolkit and other with „different integration runs“ (adjusting prequist and problematic ones) turned out to be more work but perhaps the cleaner solution overall.
 

Clanger

Well-Known Member
kb4019990 is in the net472 exe so you dont need to add it. Just checked

Original file name
NDP472-KB4054530-x86-x64-AllOS-ENU.exe
01-NET-Framework-4.7.2-x86-x64 contains and installs Windows6.1-KB4019990
 
Last edited:

garlin

Member
After banging my head on this exact problem, I failed to solve it after two months. My head got in concussion protocol.
  • integrated SP2 + last monthly + NDP48 & KB rollup --> WU check passed!
  • integrated SP2 + last monthly + NDP48 & KB + WMF5.1 --> WU check failed!
    • 3552, 3229 didn't install; 3229 will fail on manual install and needs a reboot before working
    • Last monthly rollup is offered, but listed under Installed Updates. Doesn't matter which rollup version (tried several previous ones). Re-installing is NOT an option considering Jan 2020 is 314 MB!
Before I gave up, decided to check C:\Windows\WindowsUpdate.log and see which KB's got fingered.
And there my buddy KB2809215 showed up to crash the install party.

Google points to long (and boring) discussions how WMF 3.0/4.0/5.0 don't uninstall and install cleanly over each other without crapping out some WMF class features. Then I found this long thread on MDL discussing WMF 5.1 integration on SP2.

Expand the 3191566 MSU file, and extract the CAB files:
expand -f:* Win7AndW2K8R2-KB3191566-x64.msu MyFolder​

Install in this order:
KB2809215, KB2872035, KB3033929, KB3191566 (silently moved to post-setup)​
  • integrated SP2 + last monthly + NDP48 & KB + WMF cab's --> WU check passed!
    • 3552, 3229 installed, now needs a reboot
    • Last monthly rollup is offered, but listed under Installed Updates
  • integrated SP2 + NDP48 & KB + 4 CAB's + last monthly moved to Post-Setup --> WU check passed!
    • 3552, 3229 installed, now needs a reboot
    • Last monthly rollup is offered, but listed under Installed Updates
EDIT: I found the magic combination, it works!
  • Expand the last monthly update as a CAB file, copy to $OEM$\$$\Setup\Updates. Do not integrate the monthly, as WMF install will overwrite its manifest and break WU.
  • Make sure you verify the monthly CAB appears after WMF, and both set to /norestart
"%WINDIR%\Setup\Files\NDP48-x86-x64-AllOS-ENU.exe" /passive /norestart​
"%WINDIR%\Setup\Files\NDP48-KB4532941-x64.exe" /quiet /norestart​
dism.exe /Online /Add-Package /PackagePath:"%WINDIR%\Setup\Updates\Windows6.1-KB2533552-x64.cab" /norestart​
dism.exe /Online /Add-Package /PackagePath:"%WINDIR%\Setup\Updates\Windows6.1-KB2603229-x64.cab" /norestart​
dism.exe /Online /Add-Package /PackagePath:"%WINDIR%\Setup\Updates\Windows6.1-KB3191566-x64.cab" /norestart​
dism.exe /Online /Add-Package /PackagePath:"%WINDIR%\Setup\Updates\Windows6.1-KB4539601-x64.cab" /norestart​
  • Restart system after first logon, now check WU.
HUGE thumbs up to abbodi86!!!! He magically answered all the clues on other forums while answering other folk's questions. I just put the puzzle pieces together. Now I can finally build my last and final W7 ISO.
 
Last edited:

garlin

Member
Good news! I made this sequence cleaner and faster, by integrating the monthly rollup and reloading it after WMF completes. When DISM loads a package, it only changes any files marked as newer according to the manifest. WMF will only overwrite a few files, so the reload skips over any unchanged files. This saves you several minutes during post-setup.

Follow these NEW instructions:
  • Start with clean SP1 image. Add the last monthly rollup and update KB2809215
  • Add WMF to post-setup, Win7AndW2K8R2-KB3191566-x64.exe
  • Integrate, but don't create an ISO
  • Extract the CAB file from the monthly rollup, using command:
    • expand -f:* kb4539601-x64.msu MyFolder
    • Copy this cab to the $OEM$\$$\Setup\Updates folder
  • Edit SetupComplete, remove the two dism commands for 3552 & 3229. Install all three updates with one command:
    • dism /Online /Add-Package /PackagePath:"%WINDIR%\Setup\Updates" /ignorecheck /norestart
  • Add a restart command as the last line.
    • shutdown.exe /r /t 5
  • Create an ISO, with your updated SetupComplete & monthly rollup CAB in the Updates folder

Here's the technical notes:

NTLite won't allow you referring to the same update in two places, under both Updates list AND the OEM folder. You must first add the rollup, integrate, and after NTLite finishes up, manually copy the CAB version to the Updates folder.

DISM /PackagePath can install multiple packages from the same folder. Adding /ignorecheck will bypass the eligibility checks, which is very slow for a monthly rollup. We need to force a reboot, since our DISM command skips restart. Drop that line at the very end (shutdown.exe not shutdown).

@echo off
"%WINDIR%\Setup\Files\NDP48-x86-x64-AllOS-ENU.exe" /passive /norestart
"%WINDIR%\Setup\Files\NDP48-KB4532941-x64.exe" /quiet /norestart
wusa.exe "%WINDIR%\Setup\Files\Win7AndW2K8R2-KB3191566-x64.msu" /quiet /norestart
dism /Online /Add-Package /PackagePath:"%WINDIR%\Setup\Updates" /ignorecheck /norestart
rd /q /s "%WINDIR%\Setup\Files"
del /q /f "%0"
shutdown.exe /r /t 5

After reboot, confirm your updates list in this reverse order:
3552, 3229, 1566 (WMF), 9601 (last rollup), 6952 (last SSU), ..., 9215, ...​
 

garlin

Member
Agreed. While debugging, I discovered some unintentional behavior.

NTLite automatically creates DISM commands for 3552 & 3229, except it doesn't use the /norestart flag. When you don't wrap the /norestart, DISM reboots with no delay -- skipping all the lines below the command. But skipping the required reboot, means you need to add it back to force the pending Windows changes.

We need to check when any postponed updates require a reboot, wrap them individually or globally apply the /norestart. Then insert a shutdown command on behalf of those updates. The user shouldn't need to know, especially for a newbie who's just copying a list of a random updates. I'be seen some Powershell scripts which query regkeys for a pending reboot, but it might be easier (?) to inspect the package info.

The reason this hasn't broken most instances, W7 only pushes 3552 & 3229 to online installation. Everything else integrates. And the Setup cleanup commands will finish before the DISM scheduled reboot takes effect. But lines below DISM are likely to skipped. Now this might be a design "feature", but it's not explained as a warning.

Most people will assume it's safe to add commands here. Like registry tweaks, because re-applying the monthly rollup doesn't guarantee any previous registry changes won't get overwritten.
 
Top