0X800F022B

SPAPI_E_DI_DONT_INSTALL (0X800F022B): Class Installer Denied Device Install

Windows Errors Intermediate 👁 0 views 📅 May 26, 2026

The class installer blocked the device install. Usually a driver signing issue or a leftover registry entry from a previous failed install.

Quick Answer

Run pnputil /enum-drivers in admin Command Prompt, find the old driver with the matching hardware ID, delete it with pnputil /delete-driver oemX.inf, then reinstall the driver from the manufacturer's signed installer.

What Actually Causes This Error

I've seen 0X800F022B show up mostly on Windows 10 and 11 when you're trying to install a driver for a device that's been plugged in before — like a USB-to-serial adapter, a printer, or a network card. Had a client last month whose entire print queue died because this error blocked a driver update for a Brother MFC. The system remembered a previous install attempt that failed, and the class installer (the part of Windows that handles device setup) decided the new driver wasn't trustworthy. Maybe the original driver was unsigned, or a registry entry got corrupted. Either way, the installer slams the door shut.

The error text says "The class installer has denied the request to install or upgrade this device." That's Windows being cautious. But it's also a pain because the device just won't work until you clear out that old install record.

Fix Steps

  1. Open Command Prompt as admin. Hit Windows key, type cmd, right-click, Run as administrator.
  2. List all installed drivers. Type pnputil /enum-drivers and press Enter. You'll see a list of OEM driver packages, each with a name like oem0.inf or oem12.inf. Look for the one that matches your device's hardware ID.
  3. Find the specific driver. If you know the device name, scan through. If not, look up the hardware ID from Device Manager (right-click the failing device > Properties > Details tab > Hardware Ids). Match that ID in the pnputil output's "Hardware ID" column.
  4. Delete the old driver. Once you've got the oemX.inf name, run pnputil /delete-driver oemX.inf. Confirm the deletion. This wipes the driver store entry and the registry reference.
  5. Reinstall the driver. Now plug in the device or run the manufacturer's setup. Should go through cleanly.

Alternative Fixes If the Main One Fails

Clean the Registry Manually

Sometimes pnputil leaves a stale registry key. Open Regedit (admin), go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class. Look for a subkey with your device's class GUID (you can find that in Device Manager's Details tab under "Class Guid"). Delete the entire subkey. Backup first — export it. I've had to do this twice this year for cheap USB Ethernet adapters that left ghost entries.

Disable Driver Signature Enforcement (Temporary)

If the driver is unsigned and you absolutely need it, reboot, press F8 before Windows loads, choose "Disable Driver Signature Enforcement." Install the driver, then reboot normally. Only do this for devices where you trust the source. It's a workaround, not a fix.

Use Device Manager's Legacy Hardware Wizard

Open Device Manager, right-click your computer name, select "Add legacy hardware." Let it scan, then manually pick the INF file from a known good location. It bypasses the class installer check for some older devices.

Prevention Tip

Always remove the old driver before plugging in a new device of the same type. Use the manufacturer's signed installer from their site, not a generic driver from a driver update tool. Those tools are terrible at cleaning up remnants. I've seen them leave half a dozen orphaned driver packages that cause exactly this error on the next install.

Was this solution helpful?