Share via

Duplicate cumulative kb, Windows 11 update returns false information

Simon Fonteneau 105 Reputation points
2025-02-13T11:22:44.96+00:00

I use the windows update api to check which cabs are installed on the machine:

https://learn.microsoft.com/en-us/windows/win32/wua_sdk/using-the-windows-update-agent-api

On Windows 11 the scan sends incorrect information and duplicate cabs.

What I was able to observe is that for a 24h2, the API also sees the cumulative updates of the 23h3 and the 22h2 (the cab numbers are indicated but not their update id.).

In addition, the API indicates that the cab is installed, which is false since it has just been detected.
Is the 24h2 cab considered not installed. Which is true

Looks like there is a detectoid problem.

This is problematic because if we base ourselves on the kbids, Windows makes us believe that the cab is properly installed... Finally we have two contradictory results.

Windows for business | Windows Client for IT Pros | User experience | Other

Answer accepted by question author
  1. Anonymous
    2025-02-24T12:56:11.8566667+00:00

    Hello,

    If this is indeed a detectoid issue in the WUA API, it’s important to report it to Microsoft:

    File Feedback:

    Use the Feedback Hub app in Windows 11 to report the issue.

    Provide detailed steps to reproduce the issue, including the WUA API query and the observed results.

    Contact Microsoft Support:

    Provide them with the following information:

    Windows version (24H2).

    WUA API query details.

    Logs from Get-WindowsUpdateLog or dism /get-packages.

    Best Regards,

    Hania Lian

    ============================================

    If the Answer is helpful, please click "Accept Answer" and upvote it.

    1 person found this answer helpful.

4 additional answers

Sort by: Most helpful
  1. Simon Fonteneau 105 Reputation points
    2025-02-14T08:41:38.0066667+00:00

    I use the script presented here:

    https://learn.microsoft.com/en-us/windows/win32/wua_sdk/using-wua-to-scan-for-updates-offline?tabs=vbscript

    I just replace the filter with

    Type='Software'
    
    1 person found this answer helpful.
    0 comments No comments

  2. Simon Fonteneau 105 Reputation points
    2025-09-22T10:32:30.67+00:00

    I can confirm that this bug is still present in Windows 11 25H2. The API keeps reporting older cumulative KBs as “installed” even when they are not. It’s really frustrating to see that nothing has changed after all this time.

    0 comments No comments

  3. Simon Fonteneau 105 Reputation points
    2025-03-21T11:49:45.4366667+00:00

    I just saw that the problem is also visible on a wsus server (which seems logical). I have the impression that the 24h2 windows update engine is completely crap.

    Is there still someone at the helm at Microsoft to take things in hand?

    0 comments No comments

  4. MotoX80 37,676 Reputation points
    2025-02-14T14:28:50.8566667+00:00

    I think that you just need to look at the IsInstalled peoperty.

    I used the PowerShell version and made a slight change to the output.

    $UpdateSession = New-Object -ComObject Microsoft.Update.Session
    $UpdateServiceManager = New-Object -ComObject Microsoft.Update.ServiceManager
    $UpdateService = $UpdateServiceManager.AddScanPackageService("Offline Sync Service", "c:\temp\wsusscn2.cab")
    $UpdateSearcher = $UpdateSession.CreateUpdateSearcher()
    Write-Host "Searching for updates..."
    $UpdateSearcher.ServerSelection = 3 # ssOthers
    $UpdateSearcher.ServiceID = [string] $UpdateService.ServiceID
    $SearchResult = $UpdateSearcher.Search("Type='Software'")   #IsInstalled=0")
    $Updates = $SearchResult.Updates
    If ($SearchResult.Updates.Count -eq 0) {
        Write-Host "There are no applicable updates."
        return
    }
    Write-Host "List of applicable items on the machine when using wssuscan.cab:"
    For ($i = 0; $i -lt $SearchResult.Updates.Count; $i++) {
        $update = $SearchResult.Updates.Item($i)
        #Write-Host ($i + 1) "> " $update.Title
        [PSCustomObject]@{
            IsInstalled = $update.IsInstalled
            Type = $update.Type
            Title = $update.Title
        }
    }
    

    On my Win11 laptop it reports this.

    User's image

    I have a Win10 VM that I don't use very often. It reports that it is missing some updates.

    User's image

    ....


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.