Fix 0X80093028 Printer Driver Error on Windows 10/11
The OSS_PDV_CODE_NOT_LINKED error means Windows can't verify the printer driver's digital signature. The fix is to disable driver signature enforcement or install a signed driver.
I get it — you're trying to install a printer driver and Windows throws 0X80093028 at you with OSS_PDV_CODE_NOT_LINKED. Frustrating. But the fix is straightforward once you understand what's actually happening.
What Causes 0X80093028
The error means Windows can't link the printer driver's digital signature to a trusted certificate chain. What's actually happening here is that the driver's .CAT or .SYS file has a signature that Windows can't validate — either it's missing, revoked, or issued by a certificate authority Windows no longer trusts. This usually happens with older printers (HP LaserJet 4xx series, Canon LBP, Samsung ML) where the manufacturer stopped updating their drivers years ago.
The Real Fix: Disable Driver Signature Enforcement
Skip the wild goose chase of reinstalling drivers or running Windows Update. The quickest path is to temporarily disable driver signature enforcement. Here's how.
Step-by-step for Windows 10 and 11
- Open Settings → Update & Security → Recovery (on Win 11 it's Settings → System → Recovery).
- Under Advanced startup, click Restart now.
- Your PC reboots into the blue recovery menu. Click Troubleshoot → Advanced options → Startup Settings → Restart.
- After reboot, press F7 to select Disable driver signature enforcement.
- Windows boots up. Now install your printer driver — it should work.
Important: This setting only lasts for one boot. After you shut down, signature enforcement turns back on. That's fine for installing the driver, but if you want it permanent, read on.
Make the Fix Permanent (if needed)
If your printer driver keeps breaking after each restart, you can permanently disable signature enforcement via the Group Policy Editor (Windows Pro/Enterprise) or a BCDEdit command.
bcdedit /set testsigning on
Then reboot. This puts Windows into Test Mode — a watermark appears in the corner saying "Test Mode". It's ugly but harmless. To remove it later:
bcdedit /set testsigning off
Why This Works
The reason step 3 works is that Windows checks each driver's embedded signature against its signature catalog. When the signature is missing or invalid, the code integrity service refuses to load the driver and throws 0X80093028. By disabling enforcement, you're telling the OS "I'll take responsibility for this unsigned code." The driver itself is fine — it just lacks the modern certificate chain.
Less Common Variations
Sometimes the fix above doesn't fully resolve things. Here's what else can trigger the same error code.
1. Corrupted Driver Store
If you've tried multiple driver versions, the driver store might have stale entries. Clean it out:
pnputil /enum-drivers
Look for your printer driver's published name (like oem0.inf). Remove it:
pnputil /delete-driver oem0.inf
Then install fresh.
2. USB Port Power Management
On laptops especially, Windows may power down the USB port the printer's connected to. This doesn't cause 0X80093028 directly, but it can make the driver fail to initialize after that error's been resolved. Go to Device Manager → Universal Serial Bus controllers → right-click each USB Root Hub → Properties → Power Management → uncheck Allow the computer to turn off this device.
3. Certificate Revocation Check Failure
If you're offline or your system clock is wrong, Windows might fail to check the certificate revocation list (CRL). Set your clock correctly and ensure internet access during driver install. This one's rare but I've seen it on air-gapped machines.
Prevention Going Forward
You won't see this error if you stick to WHQL-signed drivers. Before downloading a driver, check the manufacturer's site — look for "WHQL certified" or "Microsoft signed" in the description. For older hardware, sometimes the Windows Update driver catalog has a signed version even when the manufacturer's site doesn't. Run Optional Updates in Windows Update and look under Driver updates.
If you regularly support legacy printers, make a bootable USB with driver signature enforcement permanently disabled using the BCDEdit method above. Saves you from repeating the recovery menu dance.
Bottom line: 0X80093028 is Windows protecting you from a driver it can't trust. Disable enforcement, install, done. If it's your own machine, no risk. If it's a corporate device, talk to IT about signing the driver with your org's certificate.
Was this solution helpful?