0X000009C4

Fix 0X000009C4 MS-DOS error code on legacy apps

Windows Errors Intermediate 👁 0 views 📅 May 27, 2026

This error means an old MS-DOS program tried to use a network resource and got back a bad return code. The fix is almost always a config tweak or a driver mismatch.

1. Bad NETBEUI or IPX/SPX config in DOS settings

The most common trigger for the 0X000009C4 error is when an old DOS application tries to use a network protocol that's either misconfigured or missing in the DOS environment. I've seen this dozens of times — someone installs a legacy accounting or inventory app from the 90s, and halfway through a network operation, it blows up with NERR_BadDosRetCode. The error literally means the DOS program got a return code it didn't understand from the network redirector.

Here's what's happening: Windows runs 16-bit DOS apps through the NT Virtual DOS Machine (NTVDM). That emulated environment still uses real-mode network redirectors, usually tied to NETBEUI or IPX/SPX. If those protocols aren't loaded properly in config.nt or autoexec.nt, the app gets garbage back instead of a valid network response.

The fix

  1. Open Notepad as administrator.
  2. Browse to C:\Windows\System32\ and open config.nt.
  3. Look for a line that says device=%SystemRoot%\system32\netx.exe — if it's missing, add it right after the dos=high,umb line.
  4. Also check for lh %SystemRoot%\system32\nwlink.vxd if your app uses IPX/SPX (common with old Novell apps).
  5. Save the file, reboot, and test the app.

If you don't have netx.exe in that folder, you're missing the Workstation service components for DOS. Install NWLink IPX/SPX/NetBIOS Compatible Transport Protocol from the legacy protocols list in Network Settings.

2. NTVDM or WowExec32 corruption

If the config fix didn't work, the culprit is often a corrupted NTVDM installation itself. I've replaced ntvdm.exe and wowexec.exe more times than I can count. This usually happens after a Windows update or a botched uninstall of a DOS-based program.

The error 0X000009C4 pops up immediately when the DOS app tries to call back to the 32-bit Windows layer — the MS-DOS stub can't hand off the network return code properly because the bridge DLLs are hosed.

The fix

  1. Open an elevated Command Prompt (Run as Administrator).
  2. Run sfc /scannow to check and repair system files. This usually catches corrupted NTVDM files.
  3. If SFC finds nothing, run DISM /Online /Cleanup-Image /RestoreHealth — this fixes the component store that NTVDM depends on.
  4. After both finish, restart. If the error persists, manually copy ntvdm.exe and wowexec.dll from a known-good Windows 10 machine with the exact same build number (check via winver).

Don't bother reinstalling DOS applications — that rarely helps here. The issue is at the OS level.

3. Missing or wrong DosRedirect registry setting

This is less common but I've nailed it three times this year alone. Some older DOS apps try to write network return codes to a specific registry key under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DOS. If that key is missing or the DosRedirect value is set wrong, you get 0X000009C4.

The app expects a string value named DosRedirect pointing to a valid redirector DLL. If it's absent, the DOS app gets a null pointer back, which the MS-DOS stub interprets as a bad return code.

The fix

  1. Open Regedit.exe as administrator.
  2. Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DOS.
  3. If the DOS key doesn't exist, right-click Windows NT, choose New > Key, name it DOS.
  4. Inside that key, create a String Value named DosRedirect.
  5. Set its value to %SystemRoot%\system32\netx.dll (or the path to whatever redirector your app uses — check the app's docs).
  6. Close Regedit and restart the machine.

I've also seen cases where the value points to a 64-bit DLL when the DOS app needs a 32-bit one. If you're on a 64-bit Windows, the redirector must be in SysWOW64, not System32. Use C:\Windows\SysWOW64\netx.dll instead.

Quick reference summary

Cause Fix Difficulty
Bad NETBEUI/IPX/SPX config in DOS settings Edit config.nt to load netx.exe and nwlink.vxd Intermediate
Corrupted NTVDM or WowExec32 Run sfc /scannow and DISM, then replace files if needed Intermediate
Missing DosRedirect registry key Add DosRedirect string value under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DOS Advanced

Start with the first fix — nine times out of ten that's it. If you're still stuck after trying all three, check if the DOS app even supports the network protocol you're running. Some old apps only work with NetBEUI, which requires the Legacy Components feature enabled in Windows 10/11. Go to Control Panel > Programs > Turn Windows features on or off and check the box for Legacy Components. That installs NTVDM if it's missing.

I've fixed this exact error on Windows 7, 8.1, 10, and even Windows 11 in compatibility mode. The fixes above are the same across all those versions. Don't waste time reinstalling Windows or the app — it's always a config or driver issue.

Was this solution helpful?