0X800F0200

Fix SPAPI_E_NO_ASSOCIATED_CLASS (0X800F0200) Driver Install Error

Windows Errors Intermediate 👁 0 views 📅 May 26, 2026

This error means Windows can't find the right install class for a driver INF. Usually a missing or corrupted class GUID entry. Here's how to fix it fast.

What's Actually Happening Here

You're trying to install a driver — maybe for an old printer, a USB gadget, or a PCIe card — and Windows throws SPAPI_E_NO_ASSOCIATED_CLASS (0X800F0200). The short version: Windows doesn't know which install class the device belongs to. Every driver INF needs a ClassGUID entry that matches a key in HKLM\SYSTEM\CurrentControlSet\Control\Class. If that GUID is missing, malformed, or the INF doesn't include it at all, you get this error.

I've seen this most often with third-party driver packs that got corrupted during download, or with old unsupported hardware on Windows 10/11. The fix depends on whether the INF itself is bad or the registry entry is missing. Start simple, escalate as needed.

Fix 1—30 Seconds: Check the INF for a Missing ClassGUID

This is the quickest check and often all you need. Open the driver's .inf file in Notepad. Look for a section like [Version]. Inside it, you need two things:

[Version]
Signature="$Windows NT$"
Class=SomeName
ClassGUID={XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}

If ClassGUID is missing or the curly braces are wrong, that's your problem. The GUID must be in all caps with dashes, wrapped in curly braces. A common legitimate GUID is {36FC9E60-C465-11CF-8056-444553540000} for USB devices. If the line is missing entirely, you can try adding a standard GUID from Microsoft's list — but that's a band-aid. The real fix is Fix 2.

If the INF looks fine, move on.

Fix 2—5 Minutes: Manually Add the Missing Class Registry Entry

What's actually happening here is the INF references a ClassGUID, but Windows doesn't have a matching entry under HKLM\SYSTEM\CurrentControlSet\Control\Class. This can happen after a registry cleaner tool nuked it, or the driver installer failed halfway.

  1. Press Win+R, type regedit, hit Enter.
  2. Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class.
  3. Look for a key that matches the ClassGUID from your INF. If it's missing, right-click on Class, select New > Key, and name it the exact GUID with curly braces (e.g., {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}).
  4. Inside that new key, create two string values:
    • Class — set to the driver's class name (e.g., "USB")
    • ClassGUID — set to the same GUID value
  5. Close regedit, reboot.

This is usually the fix for 90% of cases. The reason step 3 works is because the SetupDiGetINFClass function in Windows looks up this registry path. If the key's missing, it can't associate the INF with a class, hence the error.

Fix 3—15+ Minutes: Deep Clean Stale Class Entries and Re-scan

If the above didn't work, the problem is likely a corrupted Class entry — maybe the GUID is present but has malformed subkeys, like an empty Enum branch or a missing DeviceDesc. I've seen this when a driver uninstaller leaves half the registry behind.

  1. Open Device Manager (devmgmt.msc), show hidden devices (View > Show hidden devices).
  2. Look for any device with a yellow triangle or listing as "Unknown device". Right-click and uninstall it. If it won't uninstall, use pnputil /delete-driver (below).
  3. Open an elevated Command Prompt. Run pnputil /enum-drivers to list all installed driver packages. Find the offending driver by name, note its published name (like oem123.inf).
  4. Remove it: pnputil /delete-driver oem123.inf (replace with your actual published name). This wipes the INF from C:\Windows\System32\DriverStore\FileRepository.
  5. Now go back to regedit and delete the entire Class key for that GUID. Windows rebuilds it from scratch on next driver install.
  6. Reboot, then reinstall the driver fresh. Use the manufacturer's signed installer, not a random download.

If you're still stuck, the INF might be unsigned or malformed beyond repair. Try grabbing a different version from the hardware vendor's site — sometimes the only fix is a properly authored INF. For advanced users only: you can force a class assignment using devcon dp_add with a custom INF, but that's outside this article's scope.

Pro tip: Always download drivers directly from the OEM, not from generic driver updater apps. Those apps are notorious for stripping ClassGUID entries from INF files to save bandwidth. That's the real reason you're reading this page.

Was this solution helpful?