Flamingo Raises $4.5M Seed Round

Skip to content

The same driver update fails on Tuesday, fails again on Wednesday, and Windows Update keeps offering it as if the first fourteen attempts never happened. The component-repair commands come back clean, because nothing is broken. Install error 0x80070103 is Windows telling you it has been asked to install a driver the device already has, and the fix is to stop the offer, not to repair the PC.

What 0x80070103 Means

Strip the HRESULT wrapper and 0x80070103 is Win32 error 259, ERROR_NO_MORE_ITEMS, which Microsoft's WinError.h reference translates as "No more data is available." On its own that says nothing about drivers. In Windows Update it has a specific meaning: the update being installed is a driver, and the driver already on the device is the same version or a better match, so the installer has nothing left to do.

Microsoft's own explanations say the same thing in plainer words. A Microsoft Technical Advisor answering a December 2022 Microsoft Q&A case, where an HP USB driver dated 2/10/2017 was offered to a Windows 11 Home laptop, wrote that the error appears when Windows tries to install a driver that is already present on the device. When a batch of Windows 11 devices hit the code in February 2023, Microsoft's statement was that Windows Update was attempting to install something that was already installed and that, beyond the error message, this should not affect general use.

Two details matter for what comes next. The code does not appear in Microsoft's common Windows Update errors table (updated February 2026), so there is no official mitigation to run. And the device is not broken: the driver you have is the one Windows thinks is right. The only thing wrong is a catalog entry that keeps matching your hardware.

Why Windows Keeps Offering the Same Driver

Windows Update matches drivers to hardware IDs, not to the device model you bought. When a manufacturer publishes a driver package to the catalog with a version that Windows ranks equal to or below what is installed, the scan still finds the match, still queues the install, and the install still fails with 0x80070103. Nothing on the device changes, so the next scan finds the same match. That is why the retry button never helps and why the same package can fail for weeks.

The manufacturer is the only party that can fix the root cause. The Q&A answer above says it directly: customers could not resolve the HP case on their device, only HP could, by correcting the versioning and republishing. Until that happens, your options are to hide the offer on one machine or to change what Windows Update is allowed to offer across many.

The February 2023 wave is a useful reference point because it was the same mechanic at scale, and the r/Windows11 thread that tracked it landed on the same conclusion: the code means the driver was already there, so nothing happened.

Check Which Driver It Is First

Before hiding anything, read the offer. Open Settings, then Windows Update, then Update history, and find the failed entry. The name usually carries the vendor and a version string, such as "Hewlett-Packard - USB - 44.1.2402.1741" or "Intel - Display - 31.0.101.5186". Write the version down.

Now open Device Manager, find the matching device, open Properties and the Driver tab, and compare the driver version and driver date with the offer. Three outcomes are possible. If the offered version matches the installed one, the offer is a duplicate and you hide it. If the offered version is older, Windows is right to refuse it and you hide it. If the offered version is newer and the install still fails, something else is wrong, and the safer route is to install the package from the vendor or the update catalog rather than to keep retrying Windows Update. Our guide to updating drivers covers that path, including rollback.

Two things do not help here, and both cost time. Running SFC and DISM is the standard reflex for update errors, but they repair the component store, and this error never touches it. A March 2025 r/WindowsHelp thread shows the pattern: the troubleshooter, chkdsk, DISM and SFC all reported clean, the driver kept failing, and the thread ended with a suggestion to do a clean install of Windows for a driver that was already installed. Resetting the SoftwareDistribution folder clears the download cache, so the next scan simply downloads the same offer again.

Fix One PC: Hide the Update

On a single machine, the job is to tell Windows Update to stop offering that one package. Windows 11 has no hide button in Settings, so you need one of three tools.

The first is Microsoft's Show or hide updates troubleshooter, wushowhide.diagcab. It is an old tool with no current Microsoft documentation page, but the download still works as of October 2026, and it does exactly one thing: it scans, lists pending updates, and lets you tick the driver to hide. The Microsoft Q&A answer from December 2022 recommends it for this error, followed by pausing updates for a week and resuming.

The second is the community PSWindowsUpdate PowerShell module, which adds Hide-WindowsUpdate. Run Get-WindowsUpdate to see the offer, then Hide-WindowsUpdate -Title "*Hewlett-Packard*USB*" to hide it, and confirm with Get-WindowsUpdate -IsHidden. This is the route to script when you have a handful of machines and no management platform. If you are new to running this from the console, our PowerShell commands guide covers modules and execution policy.

The third is the pause-and-resume trick that the 2023 threads settled on: pause updates for a week, then resume. Several people reported the failed driver dropping off the list after that. It works when the manufacturer has already pulled or republished the package in the meantime, and it does nothing when they have not, so treat it as a check rather than a fix.

Whichever tool you use, hide the driver, not the cumulative update. The monthly quality update is a separate entry and should keep installing.

IT Networking's walkthrough shows the single-PC steps on screen, including the hide tool:

Fix a Fleet: Decide Who Ships Drivers

When the same driver fails on twenty devices of one model, hiding it twenty times is the wrong shape of fix. The policy question is whether Windows Update should be delivering drivers to managed devices at all, and Microsoft gives you three levels of control.

The Group Policy level is a single setting: Computer Configuration, then Windows Components, then Windows Update, then Manage updates offered from Windows Update, then "Do not include drivers with Windows Updates". Its CSP name is ExcludeWUDriversInQualityUpdate, it writes to Software\Policies\Microsoft\Windows\WindowsUpdate, and it applies to Pro, Enterprise and Education from Windows 10 1607 onward, per Microsoft's Policy CSP reference updated September 2026. Enabled, Windows Update stops offering anything with the Driver classification, so the failing package never appears. Our guide to Windows Update policy covers the rest of that folder.

The Intune update ring level is the same switch with a friendlier name. In an update ring policy, Windows drivers has two options, Allow to include Windows Update drivers during updates and Block to prevent scanning for drivers, and Microsoft's reference for ring settings (April 2026) maps it to the same CSP. Block is the blunt version: no drivers from Windows Update for that ring, including the security-relevant ones.

The Intune driver update policy level is the precise version. Driver update policies give you an approval queue where recommended drivers can install automatically or wait for an administrator, and a driver you never approve never ships. Microsoft's Intune documentation (updated April 2026) lists the requirements: Intune Plan 1, a Windows license with the Autopatch entitlement, Pro, Enterprise or Education editions, and devices that are Entra joined or hybrid joined. LTSC is not supported. If you already run Intune as your management layer, this is the level that turns a recurring failure into a queue item you decline once.

One policy family to avoid for this problem is Device Installation Restrictions. "Prevent installation of devices that match any of these device IDs" blocks Windows from installing the device's driver package at all, takes precedence over allow rules, and can be applied retroactively to devices already installed. It is a tool for keeping USB storage off a workstation, not for silencing a duplicate driver offer.

Find It Across Devices

Update history lives in the Windows Update Agent, and the COM API exposes it without any extra module. This script lists every driver install that returned 0x80070103 in the last 90 days on one machine:

powershell
$session = New-Object -ComObject Microsoft.Update.Session
$searcher = $session.CreateUpdateSearcher()
$count = $searcher.GetTotalHistoryCount()
$searcher.QueryHistory(0, $count) |
  Where-Object { $_.HResult -eq -2147023613 -and $_.Date -gt (Get-Date).AddDays(-90) } |
  Select-Object Date, Title, @{n='HResult';e={'0x{0:X8}' -f ($_.HResult -band 0xFFFFFFFF)}} |
  Sort-Object Date -Descending

The decimal -2147023613 is 0x80070103 as a signed 32-bit value, which is how the API stores it. Run this across a client's devices with your RMM and group the output by Title, and you have the list of packages worth hiding or the evidence that one model needs a policy rather than a workaround. OpenFrame can run the same script across a client's devices and collect each machine's output in one place.

The Short Version

Install error 0x80070103 is Windows Update trying to install a driver the device already has. Confirm that by comparing the offered version with Device Manager, then hide the offer on one PC with wushowhide or PSWindowsUpdate, or keep Windows Update out of the driver business on a fleet with the "Do not include drivers with Windows Updates" policy or an Intune driver update policy. Skip SFC and DISM for this one; there is nothing to repair. When the offered driver is newer and still fails, the Microsoft Update Catalog is the clean way to install it by hand.

FAQ

Can I ignore install error 0x80070103?

Yes, in the sense that the device keeps working with the driver it has. Microsoft said as much in February 2023. What you should not ignore is the noise: a failing update every day hides real failures in the same list, and on managed devices it shows up as a compliance miss. Hide the offer or exclude drivers by policy so the list goes quiet.

Does DISM or SFC fix 0x80070103?

No. DISM RestoreHealth and SFC repair the Windows component store, and this error comes from the driver installer finding nothing to do. Both commands will report a healthy system and the driver will fail again on the next scan.

How do I stop Windows Update from installing drivers?

Enable "Do not include drivers with Windows Updates" under Computer Configuration, Windows Components, Windows Update, Manage updates offered from Windows Update, or set Windows drivers to Block in an Intune update ring. Both map to the ExcludeWUDriversInQualityUpdate policy. For approval rather than a blanket block, use an Intune driver update policy.

Why does Windows Update offer a driver from 2017?

Because the manufacturer published that package to the catalog and it still matches your hardware ID. Windows ranks drivers by signature, date and version, so an old package can be offered and then refused with 0x80070103 when the installed driver is the same or better. Only the manufacturer can remove or republish the entry.

Aliaska Varieva

Aliaska Varieva

Head of Platform

Hi! I’m Aliaska, and I’ve been working as a software engineer (mostly Java + a bit Kotlin) for over 8 years now. I mostly spend my time building backend services, integrating systems, fixing bugs (the fun part 🙃), and making sure things don’t fall apart behind the scenes.

Related Content

Blog Posts

Product Releases

Podcasts

Webinars

Case Studies

Events

Onboarding Guides

Frequently Asked Questions

About OpenFrame

OpenFrame isn't built to plug into your stack. It replaces it. Instead of duct-taping a dozen tools together (RMM, MDM, SIEM, patching, remote access, each its own login and bill), we bundle it into one unified platform: RMM, MDM, monitoring, automation, remote access, patch management, security monitoring, and ticketing, plus built-in AI copilots. So "does it integrate with X?" usually means: you won't need X anymore.
Most platforms give you one piece and expect you to bolt the rest on. OpenFrame unifies the whole stack in one place, with AI copilots built in. Fewer logins, fewer bills, less duct tape.
In the cloud, on US soil. Your data stays stateside.
Both. It's built for MSPs and MSSPs alike.

MSP AI Agents

Yes. In production MSP shops today, 10% to 25% of tickets close before a human opens them. Thread alone has processed 173 million tickets across 750-plus MSP partners at 96% triage accuracy, handing back 490,000-plus technician hours. Agents own the low-risk, high-volume work (password resets, MFA enrollment, known installs, onboarding and offboarding) and flag anything that touches production data or needs judgment for a human to take.
On a five-person desk, reported deployments show $78,000 to $130,000 in annual direct labor savings, roughly 30% fewer escalations, and 15% to 20% better SLA compliance. Broader MSP adoption data adds ticket handling time cut by 45% and five to 12 points of margin, all from reclaimed capacity rather than headcount cuts.
Yes, in the sense that the device keeps working with the driver it has. Microsoft said as much in February 2023. What you should not ignore is the noise: a failing update every day hides real failures in the same list, and on managed devices it shows up as a compliance miss. Hide the offer or exclude drivers by policy so the list goes quiet.
No. DISM RestoreHealth and SFC repair the Windows component store, and this error comes from the driver installer finding nothing to do. Both commands will report a healthy system and the driver will fail again on the next scan.
Enable "Do not include drivers with Windows Updates" under Computer Configuration, Windows Components, Windows Update, Manage updates offered from Windows Update, or set Windows drivers to Block in an Intune update ring. Both map to the ExcludeWUDriversInQualityUpdate policy. For approval rather than a blanket block, use an Intune driver update policy.
Because the manufacturer published that package to the catalog and it still matches your hardware ID. Windows ranks drivers by signature, date and version, so an old package can be offered and then refused with 0x80070103 when the installed driver is the same or better. Only the manufacturer can remove or republish the entry.