0X800F0235

SPAPI_E_IN_WOW64 (0x800F0235) – Fixing driver operations in 32-bit mode

Windows Errors Intermediate 👁 0 views 📅 Jun 8, 2026

This error pops up when a 32-bit app tries to do driver work inside 64-bit Windows. The fix is usually running the right tool from the right place.

What's actually happening here?

SPAPI_E_IN_WOW64 (0x800F0235) is Windows SetupAPI's way of saying "no, you can't do driver operations from a 32-bit process on a 64-bit OS." The WOW64 layer (Windows 32-bit on Windows 64-bit) lets 32-bit apps run, but it deliberately blocks certain system-level operations — driver installs and driver package management are the big ones.

The error code 0x800F0235 maps to SPAPI_E_IN_WOW64 in setupapi.h. You'll see it most often when running devcon.exe or pnputil.exe from a 32-bit command prompt or when a 32-bit installer tries to call into SetupAPI with a driver INF. The system checks the caller's bitness at the API level. If it's 32-bit, the call fails with this error.

Most common cause: Running a 32-bit tool from a 32-bit command prompt

The number one trigger: you're in C:\Windows\SysWOW64\cmd.exe (the 32-bit command prompt) and you run devcon or pnputil. Even if the executable is the 64-bit version, Windows might redirect file system calls. But the real issue is that the process is 32-bit, so SetupAPI blocks it.

How to fix it

  1. Open a 64-bit command prompt. Don't guess — check: run echo %PROCESSOR_ARCHITECTURE%. It should show AMD64. If it shows x86, you're in 32-bit mode.
  2. Launch the 64-bit prompt by going to Start > Run > cmd (not the SysWOW64 one). Or navigate to C:\Windows\System32\cmd.exe directly — that's the 64-bit one despite the folder name.
  3. Then run your driver command. For example: pnputil /add-driver driver.inf /install

The reason step 3 works is that the 64-bit cmd.exe process has PROCESSOR_ARCHITECTURE=AMD64, and SetupAPI sees that and allows the call. Simple as that.

Second most common cause: The executable itself is the 32-bit build

Some driver tools — especially older ones — ship both 32-bit and 64-bit versions. If you grabbed the wrong one (say devcon.exe from an x86 folder), it'll fail even from a 64-bit command prompt. The 32-bit binary still runs through WOW64.

How to fix it

  1. Check the binary: right-click the EXE, go to Properties > Details. Look for "File version" or "Image type." It'll say "32-bit" or "x86."
  2. Download the 64-bit version from the Windows Driver Kit (WDK) or the OEM's site. The 64-bit devcon.exe lives in C:\Program Files (x86)\Windows Kits\10\Tools\x64\devcon.exe by default.
  3. Or use pnputil — that comes built into Windows and is always the correct bitness for the running OS. Run where pnputil — you'll see it's in C:\Windows\System32.

A quick test: run dumpbin /headers devcon.exe | find "machine" (from a developer command prompt). If it says x86, that's your problem.

Third cause: A 32-bit installer script calling SetupAPI indirectly

This is trickier. You might see the error in a log file (setupapi.dev.log) while running an installer that's itself 32-bit. The installer spawns a 64-bit helper process, but the 32-bit parent still does the SetupAPI calls. Example: an old printer driver installer written for 32-bit Windows, being run on Windows 10 x64.

How to fix it

  1. Look at the installer's architecture. Right-click the installer, go to Properties > Compatibility. If it says "This program is designed for 32-bit operating systems," you need the 64-bit version.
  2. If no 64-bit version exists, try forcing the installer to run as a 64-bit process: Compatibility tab > Change high DPI settings > Override high DPI scaling behavior > Scaling performed by: Application. That's a long shot but works sometimes.
  3. Better approach: manually install the driver using pnputil from a 64-bit prompt. Extract the driver files from the installer (many are just self-extracting ZIPs). Then run: pnputil /add-driver C:\path\to\driver.inf /install
  4. If the driver needs a custom installer tool, contact the vendor. This error means their software hasn't been updated for 64-bit Windows.

Quick-reference summary

Cause Check Fix
32-bit command prompt echo %PROCESSOR_ARCHITECTURE% shows x86 Run C:\Windows\System32\cmd.exe (64-bit)
32-bit tool binary dumpbin /headers shows x86 Get the 64-bit version of the tool
32-bit installer Installer properties show 32-bit only Use pnputil to install driver manually

Bottom line: This error is Windows protecting you from yourself. The WOW64 block exists because 32-bit driver operations can corrupt the driver store or cause instability. The fix is always the same: use a 64-bit process. Stop fighting it.

Was this solution helpful?