NTVDM encountered a hard error
I ran across this one today when trying to run a 16-bit application on a Windows 2003 Server. I run the app and it pops up a Windows dialog box saying, "System Error : NTVDM encountered a hard error."
Turns out that the environment path for "TEMP" and "TMP" is invalid. Normally these paths resolve to their 8.3 pathname, so an enviromental variable set to %USERPROFILE%\Local Settings\Temp will resolve to C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp. On my problem server the path resolves to C:\DOCUME~1\ADMINI~1\Local Settings\Temp, note the space in Local Settings. This mix of long filenames and 8.3 names is invalid.
To resolve the issue, I changed the user TEMP and TMP variables to use C:\TEMP.
Labels: tip, troubleshooting



6 Comments:
I had the same NTVDM problem trying to install SQL 2000 on a virtual machine running Windows 2003 R2. I changed my TEMP and TMP to C:\temp and I was able to install SQL 2000 from the setup.bat file. SQL 2000 has a autorun.exe but that won't execute as it is a 16 bit application. At least I could install SQL 2000. Now to find out how to install a 16 bit application. Maybe a compatibility mode setting on autorun.exe?? Thanks for the help. Jeff Ingram
Perfect! Solved my problem. Great work, Jeff!
Thank you very much! I was able to resolve a related NTVDM issue with Installshield Wizard using the information that you provided. I am dealing with a 8 year software and I would not have known what to do if the issue has not been resolved!
Dang! Fixed another server today using my own blog post. :)
Darn...It didn't work for me.
Terminal Service into a Windows 2003 SP2 box with an automatic launch of a 16-bit app. I'll keep trying.
Superb, worked straight away, thank you.
Post a Comment
Thank you for posting a comment! It is my hope that you find the information here useful. Let me know (and others) if this post helped you out or if you have a comment or further information.
Links to this post:
Create a Link
<< Home