WUA API empty download URL for cumulative updates

somesh hiremath 1 Reputation point
2022-03-22T11:13:10.4+00:00

*I am using a Python program which uses WUA API to scan for updates against Microsoft Update Catalog. I am seeing certain KB articles are not providing download URL. These are especially cumulative updates.

I have verified Microsoft Update Catalog for same KB article, but there I can find the updates available and able to download from there. Please help on this.

Example: 2022-03 Cumulative Update for Windows 10 Version 21H1 for x64-based Systems (KB5011487)

wua = win32com.client.Dispatch("Microsoft.Update.Session")

print("Find updates available")
avilable_update_seeker = wua.CreateUpdateSearcher()
search_available = avilable_update_seeker.Search("IsInstalled=1 and Type='Software')
updates = win32com.client.Dispatch("Microsoft.Update.UpdateColl")

if search_available.Updates.Count != 0:
    for update in search_available.Updates:
        print('')
        print(f"Title: {update.Title}")
        for kb_num in update.KBArticleIDs:
            print(f"KB_Num: KB{kb_num}")

        for article in update.MoreInfoUrls:
            print('Article:', article)

        for category in update.Categories:
            avail_category_name = category.Name
            print(f"Available: {update} Category:{avail_category_name}")

        for BundledUpdates in update.BundledUpdates :
            for download_content in BundledUpdates.DownloadContents:
                print(f"Download_URL: {download_content.DownloadUrl}")
wua = win32com.client.Dispatch("Microsoft.Update.Session")

print("Find updates available")
avilable_update_seeker = wua.CreateUpdateSearcher()
search_available = avilable_update_seeker.Search("IsInstalled=1 and Type='Software' and IsHidden=1 and  CategoryIDs contains 'E6CF1350-C01B-414D-A61F-263D14D133B4' or CategoryIDs contains '0FA1201D-4330-4FA8-8AE9-B877473B6441'")
updates = win32com.client.Dispatch("Microsoft.Update.UpdateColl")

if search_available.Updates.Count != 0:
    for update in search_available.Updates:
        print('')
        print(f"Title: {update.Title}")
        for kb_num in update.KBArticleIDs:
            print(f"KB_Num: KB{kb_num}")

        for article in update.MoreInfoUrls:
            print('Article:', article)

        for category in update.Categories:
            avail_category_name = category.Name
            print(f"Available: {update} Category:{avail_category_name}")

        for BundledUpdates in update.BundledUpdates :
            for download_content in BundledUpdates.DownloadContents:
                print(f"Download_URL: {download_content.DownloadUrl}")


Output:


Title: 2022-03 Cumulative Update for Windows 10 Version 21H1 for x64-based Systems (KB5011487)
KB_Num: KB5011487
Article: https://support.microsoft.com/help/5011487
Available: 2022-03 Cumulative Update for Windows 10 Version 21H1 for x64-based Systems (KB5011487) Category:Security Updates
Windows development | Windows API - Win32
{count} votes

2 answers

Sort by: Most helpful
  1. Castorix31 90,686 Reputation points
    2022-03-22T11:17:45.327+00:00

    This is the same question as WUA API empty download URL for cumulative updates
    where XiaopoYang-MSFT said he was investigating the problem

    (BTW, I can reproduce it too in C++/Win32 on Windows 10 21H1, by testing various flags/parameters)

    0 comments No comments

  2. abbodi86 4,036 Reputation points
    2022-03-23T07:22:12.697+00:00

    Updates handled by UUP (Unified Update Platform) Agent do not provide static download URL
    temporary download links are generated when you request / start downloading the updates
    e.g.

    http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice/files/16af23cd-3a1f-4639-9638-941e71d0a29e?P1=1648032289&P2=404&P3=2&P4=ZloVxoBrdoqBGb1AMjmOquCKY4YVrREs9PhkQMUo9zoetr4a6IzIC0qqCydNxQxnL7iEk3XA4xgB%2fSNPX%2bg5Bw%3d%3d  
    

Your answer

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