Fix ERROR_CHILD_NOT_COMPLETE (0X00000081) on Windows
This error means a 16-bit program can't run in 32-bit Windows. It's a compatibility issue with older apps. The fix is enabling NTVDM or using a different compatibility mode.
Quick answer (for advanced users)
Enable NTVDM (NT Virtual DOS Machine) via Windows Features, then run the 16-bit application again. If it still fails, use a compatibility shim or switch to a DOSBox emulator.
Why this error happens
You're seeing ERROR_CHILD_NOT_COMPLETE (0X00000081) because a 16-bit application (like an old DOS program or a legacy Windows 3.x app) tried to start in a 32-bit environment but the child process couldn't finish. Windows 10 and 11 don't include NTVDM by default—it's an optional feature that's often left out. This tripped me up the first time too when I tried to run an old scheduling tool from the early 90s. The error message says “cannot be run in Win32 mode,” which is Windows telling you it can't bridge the 16-bit to 32-bit gap without NTVDM.
This usually happens when you double-click a .exe file that was compiled for 16-bit Intel 8088 or 286 processors. Common triggers include old accounting software, database tools, or games from the DOS era. On 64-bit Windows, NTVDM isn't available at all, so you'll need a different approach.
Fix steps (main solution)
- Turn on NTVDM in Windows Features
Press Win + R, typeoptionalfeatures, and hit Enter. Scroll down to Legacy Components. Check the box for NTVDM (NT Virtual DOS Machine). Click OK and restart when prompted. This adds the 16-bit subsystem. - Run the application
After the restart, try launching the app again. If it works, you're done. If it doesn't, the app might need a compatibility mode or a different command-line parameter. - Apply a compatibility shim (if still failing)
Right-click the executable, go to Properties > Compatibility. Check Run this program in compatibility mode for and select an older version like Windows 95 or Windows 98. Also try checking Run in 640x480 screen resolution and Reduce color mode to 256 colors.
Alternative fixes if the main solution fails
- Use DOSBox – For true DOS applications, DOSBox is your best bet. Download it from dosbox.com, mount the folder with your app, and run it. It's free and works on any 64-bit Windows.
- Try a virtual machine – Install Windows 98 or Windows XP in a VM (like VirtualBox or VMware) and run the app there. This is overkill for one app but works for a suite of old software.
- Command-line workaround – Open a 32-bit command prompt (not the 64-bit one). Go to
C:\Windows\SysWOW64and runcmd.exefrom there. Some 16-bit apps launch from inside a 32-bit shell.
Prevention tips
If you regularly use legacy apps, keep NTVDM enabled. But know that it's a security risk—malware could exploit the 16-bit subsystem. For occasional use, enable it only when needed and disable it after. If you're on a shared or corporate machine, your IT might have it blocked. In that case, push for a DOSBox or VM solution. Also, check if the vendor offers a 32-bit or 64-bit update—many old apps have modern replacements that skip the error entirely.
I know this error is infuriating because it's vague. But once you know it's a 16-bit compatibility issue, the fix is straightforward. Stick with NTVDM first—it's built in and free.
Was this solution helpful?