SPAPI_E_NOT_AN_INSTALLED_OEM_INF (0X800F023C) Fix
This error means Windows can't find the driver INF file you're pointing to in the OEM driver store. It's almost always a path or driver store issue.
1. You're pointing to the wrong INF — the path doesn't exist in the driver store
This is the most common cause by far. You're running a command like pnputil /add-driver C:\Drivers\some.inf or right-clicking an INF in File Explorer and picking "Install". Windows then tries to slap that file into the driver store (usually C:\Windows\System32\DriverStore\FileRepository). But here's the thing: the driver store doesn't have a record of that INF yet. The error literally means “hold on, that file isn't in my approved list.”
I see this constantly with people downloading drivers from third-party sites or extracting them badly. The file is on the desktop, but it's not staged in the store. The real fix: use pnputil to add the driver to the store first, then reference it. Here's how.
- Open Command Prompt as Administrator. Hit Start, type
cmd, right-click it, select "Run as administrator". - Navigate to the folder with your INF. Example:
cd /d C:\Users\YourName\Downloads\driver - Run
pnputil /add-driver yourdriver.inf. Replaceyourdriver.infwith the actual file name. After this, you should see “Driver package added successfully.” - Now the driver is staged. Run
pnputil /enum-driversand look for the published name, something likeoem0.inf. - To install it properly, use
pnputil /install-driver oem0.infor go to Device Manager, right-click the device, choose "Update driver", then "Browse my computer", and pick the INF you just added.
After step 3, you won't see the 0X800F023C error anymore because the INF is in the store. If you do, double-check you're running as administrator – missing that step trips up half my trainees.
2. The INF itself is corrupted or not a valid driver package
Sometimes the file is there, but Windows takes one look at it and says “nope, you're not an OEM INF.” This happens when the file's header is mangled, or it's actually a text file renamed to .inf. Or maybe you grabbed a driver meant for a different OS version – a Windows 7 INF won't work on Windows 11 without modification.
Here's what I do to check:
- Right-click the INF file, choose "Open with", then Notepad.
- Look at the first few lines. A valid INF starts with
[Version]and includesSignature="$Windows NT$"orSignature="$CHICAGO$". If it's missing that, it's not a proper INF. - Check the
[Manufacturer]section. It should list your device's hardware ID. If you see gibberish or nothing there, the file is bad. - Try opening the same INF on another PC with the same OS version. If it works there, the file's fine – move to cause #3. If it doesn't, redownload from the manufacturer's site, not a random blog.
I've seen people spend hours on this because they grabbed a driver from a forum that was just a renamed .txt file. Don't be that person. Always get drivers from Intel, AMD, NVIDIA, or the device maker directly.
3. Driver store corruption or permissions issue
Less common but nastier. The driver store itself is messed up – maybe a bad update, a disk error, or someone messed with permissions. When you try to install an INF, Windows checks the store's integrity and fails before even looking at your file.
You'll know it's this if the first two fixes don't work, and you see other driver errors in Event Viewer under System with source SetupAPI or PNP.
Here's my fix:
- Run
sfc /scannowfrom an admin Command Prompt. Let it finish – it might take 15 minutes. After it's done, you'll see “Windows Resource Protection found corrupt files and successfully repaired them.” Reboot. - If that doesn't help, run
DISM /Online /Cleanup-Image /RestoreHealth. This fixes the component store that backs the driver store. After it finishes (could be 30 minutes), reboot. - Still no luck? Check permissions on
C:\Windows\System32\DriverStore. Right-click the folder, go to Properties > Security. Make sure SYSTEM and Administrators have Full Control. If they don't, click Advanced, change permissions, and apply. Then reboot. - As a last resort, you can try resetting the driver store using
pnputil /clean-driverstore– but this removes all third-party drivers. Only do this if you can reinstall everything later.
I've only seen the permission thing a handful of times, but it's always after some security tool went haywire. If you use something like Bitdefender or McAfee, try disabling them temporarily.
Quick-reference summary table
| Cause | Symptoms | Fix |
|---|---|---|
| Wrong path – INF not in driver store | Error when running pnputil /add-driver or right-click install | Use pnputil /add-driver to stage it first |
| Corrupt or invalid INF | File opens in Notepad but missing [Version] section | Redownload from manufacturer |
| Driver store corruption/permissions | Other driver errors, sfc finds issues | Run sfc, DISM, check permissions |
That's it. Nine times out of ten, cause #1 is your problem. Pointing pnputil at the right file works like magic. If you're still stuck after these steps, drop a comment with the exact INF file name and a snippet of the first 10 lines – I'll help you sort it.
Was this solution helpful?