0X800F022F

SPAPI_E_NO_CATALOG_FOR_OEM_INF (0X800F022F) Fix

This error means Windows won't install a driver because its .inf file lacks a signed .cat catalog. The fix is to disable driver signature enforcement temporarily or sign the driver yourself.

You're stuck with 0X800F022F and you just want it gone.

I've seen this error dozens of times — usually when someone's trying to install a legacy printer, a weird network adapter, or some industrial device whose manufacturer never bothered to sign the driver. The error's exact wording is "The third-party INF does not contain digital signature information." Windows is basically saying "I don't trust this, and I'm not loading it."

The Quick Fix: Disable Driver Signature Enforcement

If you just need the driver installed right now, skip the signing process. Here's how.

  1. Open Settings > Update & Security > Recovery (Windows 10) or Settings > System > Recovery (Windows 11).
  2. Under Advanced startup, click Restart now.
  3. When the blue menu appears: Troubleshoot > Advanced options > Startup Settings > Restart.
  4. After the reboot, press 7 or F7 to select Disable driver signature enforcement.
  5. Windows will boot into a one-time session where unsigned drivers can install. Run your installer again.

Heads up: This is temporary. Once you reboot normally, the driver won't load again unless you either sign it properly or keep using the disabled-enforcement boot. You can hold Shift and click Restart every time — but that gets old fast.

The Permanent Fix: Enable Test Signing Mode

If this is a dev machine or a box that only runs your custom software, flip on test signing. It lets you install self-signed drivers permanently.

bcdedit /set testsigning on

Run that in an elevated Command Prompt, then reboot. Now Windows will accept any old unsigned driver — including the one throwing 0X800F022F. Install the driver again. It'll work.

Security trade-off: Test signing mode lowers your security posture. Don't use it on production servers or machines that touch the internet. But for a lab rig or a test bench? It's fine.

Why This Happens

Windows 10 and 11 (and Server 2016/2019/2022) require kernel-mode drivers to have a valid digital signature from a trusted CA. The .inf file references a .cat catalog file — that's the signature. If the .cat is missing or invalid, you get 0X800F022F.

The culprit here is almost always a driver that was signed for an older OS (like Windows 7) or one that was never signed at all. The error code 0X800F022F specifically means "no catalog for OEM INF" — Windows looked for a .cat file that matched your .inf and didn't find one.

Less Common Variations of the Same Issue

Sometimes the .cat file exists but is corrupt or doesn't match the .inf. In that case, you'll see the same 0X800F022F but with a slightly different context. Check Event Viewer under Windows Logs > System for events from CodeIntegrity or DriverFrameworks-UserMode — they'll tell you exactly which file failed.

Another variation: You're trying to install via pnputil and it fails with 0X800F022F. That's rare but happens when you manually add an .inf to the driver store. The fix is the same — disable enforcement or sign it.

And yes, I've seen this on Windows Server Core too. You can't use the GUI recovery menu there. Instead, boot into Safe Mode with Networking and run:

bcdedit /set {current} testsigning on

Then install the driver and reboot normally. Works every time.

How to Sign the Driver Yourself (No Test Mode)

If you need a clean, production-ready solution, sign the driver yourself using a self-signed certificate. You'll need the Windows SDK (specifically makecat.exe and signtool.exe).

  1. Open a Developer Command Prompt as admin.
  2. Create a certificate:
makecert -r -pe -n "CN=YourCompany" -ss PrivateCertStore -sv YourCert.pvk YourCert.cer
  1. Create a .cat file for your driver package. You'll need a .cdf file that lists all driver files. Run:
makecat -v YourCatalog.cdf
  1. Sign the .cat:
signtool sign /v /fd sha256 /a /s PrivateCertStore /n "YourCompany" YourCatalog.cat
  1. Install the certificate to Trusted Root Certification Authorities on the target machine (double-click the .cer file and choose that store).
  2. Now install the driver normally — no more 0X800F022F.

This is the proper way. But honestly? For most people, test signing mode is faster and easier.

Prevention — Don't Let It Happen Again

First rule: Only download drivers from the hardware vendor's official site. Third-party aggregator sites often strip signatures. Second rule: If you develop drivers, always sign them before distribution. Microsoft's Hardware Dev Center is the only way to get a cross-signed cert that works on all systems without test mode — but it costs money.

For internal tools, self-sign your .cat files and push the cert via Group Policy. It's ten minutes of setup and saves hours of debugging later.

And if you're still running legacy hardware that only provides unsigned drivers? Either virtualize the OS that supported them (Windows 7 VM with signature enforcement disabled) or replace the hardware. Seriously. Some stuff just isn't worth the fight.

Related Errors in Windows Errors
0XC00D157E NS_E_SOURCE_PLUGIN_NOT_FOUND (0XC00D157E): Quick Fixes 0XC00D10DA Fix Windows Media Player burn error 0XC00D10DA 0X00000A79 Fix 0X00000A79 DFS Error: Data Identical on Windows Server 0X400D2F01 NS_I_NOLOG_STOP (0X400D2F01) on IIS Startup — What Forces a Pending Header Switch

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.