Solved

DOS apps and the NTVDM.EXE process? HELP!

Posted on 2002-06-26
41
3,035 Views
Last Modified: 2008-03-04
I am in a real bind here. The environment I work in is migrating from a Novell 3.x/DOS based environment to a Win2K AD/WinXP environment.

We are transitioning off of this 16 bit application that communicates with an old Btrieve database that resides on a Novell 3.x server.

The client runs fine in XP. You can get into the application without any problems. Once you click on a customer record though, the trouble begins. The processor (machines are Dell 2.0ghz) pegs out to 100% and the application just sits there. If you open up the task manager you can see the NTVDM.EXE is the process that's eating up all of the processors resources.

From a little bit of research I have learned that the NTVDM is the built in 16 bit emulator for 2k/XP. I need to figure out what is going on and why this doesn't work. There is almost no overhead on the Novell box where this database resides, so I know it's not a bandwidth issue. This app runs like a champ in 95/98. I need some ideas or things to try, bad. Thanks in advance.
0
Comment
Question by:Gabe_Rivera
  • 11
  • 6
  • 5
  • +9
41 Comments
 
LVL 1

Expert Comment

by:GregD
Comment Utility
Have you tried running the app in compatability mode??

Also are you running the app in a window or full screen?

I've had a lot of problems tring to run old dos apps in windows, however they appear to run ok when run in full screen.
0
 
LVL 1

Author Comment

by:Gabe_Rivera
Comment Utility
Well it's actually a window client that runs, so you can't run it in "full screen" mode.

Checking the properties of the shortcut, the compatibility options are all greyed out.
0
 
LVL 22

Expert Comment

by:Adam Leinss
Comment Utility
Right click directly on the executable in question (not the shortcut) and see if you the the compatibility options.
0
 
LVL 22

Expert Comment

by:Adam Leinss
Comment Utility
Right click directly on the executable in question (not the shortcut) and see if you the the compatibility options.
0
 
LVL 1

Author Comment

by:Gabe_Rivera
Comment Utility
Nope, still greyed out.
0
 
LVL 1

Author Comment

by:Gabe_Rivera
Comment Utility
Nope, still greyed out.
0
 
LVL 10

Accepted Solution

by:
LRI41 earned 200 total points
Comment Utility
6/13/2002 12:00:52 PM Pacific Daylight Time
From:     smartcomputing@email.smartcomputing.com

Run Old Programs
Windows XP is particularly friendly for most old Windows programs, even some intended for DOS. If you have any difficulty running an old program, try this: Using Windows Explorer, find the program file, right-click it, and select Properties. Click the Run This Program In Compatibility Mode For checkbox. Select the appropriate Windows version for which the program was designed and click the appropriate Display Settings checkbox(es). If you need help, click the Learn More About Program Compatibility link; otherwise, click OK. You should now be able to double-click the program file to run it.
***************************************************

More on compatablility, on the xp cd
\support\tools\act2.o.exe
compatablity wizard on steroids, with over 200 tweaks

Maybe the following from Microsoft TechNet will be of some help:

The Application Compatibility Toolkit contains
documents and tools to help Microsoft Windows
customers diagnose and resolve application
compatibility issues. These include the Windows
2000 Server and Professional logo documents, the common compatibility issues whitepaper, and
several documents on best testing practices and
tools to help fix compatibility issues. You can find the application compatibility tool kit on

http://msdn.microsoft.com/compatibility

0
 
LVL 41

Expert Comment

by:stevenlewis
Comment Utility
0
 
LVL 44

Expert Comment

by:CrazyOne
Comment Utility
I take it then this is not a DOS program per se but a 16bit Windows program. Chances are the problem has to do with the Btrieve driver and how it communicates with the database on the other machine. I am just curious as a test if you moved the database over to the XP machine and made sure the client software points to the database on the XP machine does the problem still exist?


The Crazy One
0
 
LVL 44

Expert Comment

by:CrazyOne
Comment Utility
http://support.microsoft.com/search/preview.aspx?scid=kb;en-us;Q310310

Several network components are not included with Windows XP because of their dependence on real-mode configuration. If these components are detected during Windows XP Setup, you receive a message that informs you that they must be removed before Setup can proceed.

Clients:
Banyan MS-DOS/Windows 3.1 client.

Novell NetWare [Workstation Shell 3. X (NETX)]: This client predates Windows 95 and provides read-mode communication with NetWare 3. X and 4. X servers. At this time, no 32-bit clients are available from Novell to enable Windows XP to communicate with NetWare servers.

Novell NetWare [Workstation Shell 4.0 and above (VLM)]: This client predates Windows 95 and provides real-mode communication with NetWare 3. X and 4. X servers. At this time, no 32-bit clients are available from Novell to enable Windows XP to communicate with NetWare servers.
0
 
LVL 7

Expert Comment

by:jmiller47
Comment Utility
I think that this is a repeated question from the Windows 2000 section.

If it is, can one be deleted? Would you rather both stayed open?

If you are an expert working on this thread you may want to take a look at the other thread also...

http://www.experts-exchange.com/win2k/Q_20316577.html
0
 
LVL 7

Expert Comment

by:jmiller47
Comment Utility
I also know of some 16-bit application that can not be run in long file paths. Can you make sure that the application is installed in a path like:
C:\TESTAPP
The path should have no spaces and be less than 8 characters.
0
 
LVL 16

Expert Comment

by:Kyle Schroeder
Comment Utility
along the same lines as jmiller47's comment, make sure your %TEMP% environment variable is in a 8.3 path, i.e. C:\TEMP

-dog*
0
 
LVL 1

Author Comment

by:Gabe_Rivera
Comment Utility
Sorry for the delay in updates.

- Crazyone, yes this is most likely a problem with the driver we're using. Unfortunately due to the age of the program, it's no longer supported by the vendor. We couldn't get a new driver without buying a crapload of new licenses and since we've moving off the platform anyways, that's just not an option.

- The support articles on Microsoft's site in relation to NTVDM don't apply to me or didn't match up with the symptoms I'm experiencing.

- I downloaded the compatibility toolkit and have been playing with it a bit. I'm not really sure what flags I should be setting. I pretty much just let the compatibility toolkit choose the flags for me and hoped for the best. I would say 3 times out of 5 it works like it's supposed to. Sometimes it will crap out like it always does, I'll kill the NTVDM service and try it again and it works like a champ. Not sure what that is all about.

The CTK makes a .sdb file that you can exectute if you have the toolkit installed. I have noticed that it apparently makes no changes to the files themselves (the actual program executable), so how would I get this fix out to every desktop in my environment? Am I correct in assuming that the CTK would need to be installed on everyone's machine?

Also, I seem to have more success if I execute the .sdb file before I run the application. Is that just coincidence or is that actually the way it's supposed to work? So many questions, so little time...
0
 
LVL 1

Author Comment

by:Gabe_Rivera
Comment Utility
Also, it won't let me increase the points on this question to any more than 500. I have a similar question posted on the Win2k side which is also valued at 500 points. I'd like to award massive points to all that have contributed to help me find a solution. If I can make this work even 75% of the time, I will save this company thousands of dollars... which makes me look pretty damn good. =)

Thanks in advance.
0
 
LVL 16

Expert Comment

by:Kyle Schroeder
Comment Utility
Well it would be nice, but 500pts is the maximum.  If you want to offer more, you can make "Points for xxxxx" questions in a topic area to award the expert who helped.  EE considers a 500 point question to be extremely difficult, but hey they're your points...

-dog*
0
 
LVL 7

Expert Comment

by:jmiller47
Comment Utility
From what I collected at one of my last MS seminars, the MCTK will create a wrapper for you application. It would create an additional installation application (Very small) for you to install on your XP workstations. It might also lead you to understand the compatabilty issue and lead you to a way to resolve the issue programatically yourself (fixing your app). Another option is you can call MS and (for a fee :)) they can create a compatability fix for you...
0
 
LVL 1

Author Comment

by:Gabe_Rivera
Comment Utility
Ok as an update, after running the compatibility toolkit, and a fresh reboot this is what happens:

The first time I run this 16 bit application, the client comes up properly. When I got to access a record that pulls from the database, I get the hour glass mouse pointer and the processor pegs out. I have to go in and kill the NTVDM.EXE process, which closes the application.

If I run the application again, everything works like it should. I can access records and what not that made everything freeze up the time before.

So I guess now I'm wondering what has changed from the first time I initially run the application, to the time that I run the second one. What is going on here??
0
 
LVL 7

Expert Comment

by:jmiller47
Comment Utility
After you run it again, does it run under NTVDM?
0
 
LVL 1

Author Comment

by:Gabe_Rivera
Comment Utility
Yes.
0
Free Gift Card with Acronis Backup Purchase!

Backup any data in any location: local and remote systems, physical and virtual servers, private and public clouds, Macs and PCs, tablets and mobile devices, & more! For limited time only, buy any Acronis backup products and get a FREE Amazon/Best Buy gift card worth up to $200!

 
LVL 7

Expert Comment

by:jmiller47
Comment Utility
And after you ran the Application Compatability Toolkit, it gave you a small program to install, or what exactly did it do for you?
0
 
LVL 1

Author Comment

by:Gabe_Rivera
Comment Utility
Yes, it gave me a small .SDB file, which is executable. Since I've run this little file, I have the functionality that I described above. It craps out during the first initial load, but after that 4 out of 5 times I can access objects in the database and the client continues to respond.

It's close, but it's still not acceptable. I can't expect my user base to understand how to kill processes and what not. I need it to work the right way, no exceptions.
0
 
LVL 16

Expert Comment

by:Kyle Schroeder
Comment Utility
The unfortunate fact that you may have to face is that DOS apps were never meant to run under a modern NT-based OS, they were designed for DOS so that's what they like the best.  I don't have any additional ideas for you, I think jmiller is getting you awfully close; maybe you can fool around with the ACT some more and find the option you're missing...?

Have you tried running the app from within a command.com DOS box (not cmd.exe)?

-dog*
0
 
LVL 1

Author Comment

by:Gabe_Rivera
Comment Utility
What benefit would I get from running it from a "command.com" prompt when it just fires up a 16 bit window?

I just don't understand why it works the second time around, after the NTVDM.EXE component has been fired up and choked on the first run. Doesn't make since to me.

0
 
LVL 16

Expert Comment

by:Kyle Schroeder
Comment Utility
I don't know that there would be any benefit; I'm just proposing another option which may help.  Its impossible for us to know how your application will work with XP, so all we can do obviously is make suggestions.

I do wish you luck, but maybe you'll need to resort to keeping a few WIn98 machines around to run this legacy application...There are AD clients for Win98 BTW.

-dog*
0
 
LVL 1

Author Comment

by:Gabe_Rivera
Comment Utility
Well, would it be possible for me to write some script that fires up this process (the NTVDM.EXE), then kills it, and then runs the executable for this application?

I'm not much of a scripter, I suppose I could do some research and find out how to do it, if it's even possible to begin with.
0
 
LVL 1

Expert Comment

by:GregD
Comment Utility
If you want to script it you could try rkill, it's a resource kit app that allows you to kill local & remote processes. Your batch file could look something like this

rkill.exe /install \\%COMPUTERNAME%
rkill.exe /nkill \\%COMPUTERNAME% NTVDM.EXE

This will install the rkill service, if it's not allready installed, and kill a named process called NTVDM.EXE.

I've tested this script & it works, to my surprise, even when the process your killing is the one running the rkill command...

Hope your going to migrate off this app soon :))
Good Luck
Greg.
 
0
 
LVL 1

Author Comment

by:Gabe_Rivera
Comment Utility
Thanks GregD.

I have found a solution that works, even as half assed as it is. Basically you fire up the client, let it load, it stops at the login section where you enter in your user ID and password. You close the application at that point. Then you fire it up again and log in normally. If you follow these steps, the program works like a champ. How strange is that?

I'm going to award points to several people who offered input.
0
 
LVL 1

Expert Comment

by:GregD
Comment Utility
Your users are going to love you!!! :)))

I can't help wondering what the app is trying to do on the first execution. Have you tried running a snapshot app to see if any files are changed between executions??

I know you've got a solution, but it's got me thinking now :)

Cheers
Greg.
0
 
LVL 27

Expert Comment

by:Asta Cu
Comment Utility
Have you been helped here or is more needed?  Since time has passed since your last comment, an update is appreciated (in case things have changed).  If you've been helped, convert the expert's comment to the Accepted Answer to grade and close it.  If more than one helped you, ask for a point split by posting a zero point question in the Community Support topic area, include this link and details with your request (expert name and point values to each).

This is the Community Support link:
http://www.experts-exchange.com/jsp/qList.jsp?ta=commspt

Thanks,
":0)
Asta
0
 
LVL 6

Expert Comment

by:Mindphaser
Comment Utility
I reduced the points to 200 and refunded the rest. Please accept LP141's comment as an answer and post seperate questions for the other experts with a title like : "Points for xxx" and a body "For your help in  ."

** Mindphaser - Community Support Moderator **
0
 
LVL 10

Expert Comment

by:LRI41
Comment Utility
Thank You! Now I have answered 2 questions!!!!!
ROFL

LRI41
0
 
LVL 16

Expert Comment

by:Kyle Schroeder
Comment Utility
Interesting that you selected LRI41's comment as an answer, since the compatability mode was suggested by at least 2 other people first.  Your decision I suppose...

-dog*
0
 
LVL 6

Expert Comment

by:Mindphaser
Comment Utility
dogzar
LR141's coemmnt was used because the asker decided to award points not equally split:

Please award 200 points to LR141
Please award 100 points to CrazyOne
Please award 100 points to Jmiller47
Please award 75 points to GregD
Please award 25 points to dogztar

So you should see these questions pop up very soon.

I hope that satisfies at least a bit :-)

** Mindphaser - Community Support Moderator **
0
 
LVL 27

Expert Comment

by:Asta Cu
Comment Utility
Mindphaser, hats off to you, for being most excellent and fair.
Thanks.
":0) Asta
0
 
LVL 10

Expert Comment

by:LRI41
Comment Utility
I am just glad that at least I can at least contribute
a little bit now and then. This has been the most helpful
site to me for problem solving and my unattainable goal
is to have as many of my comments accepted as answers and
I have posted questions.
0
 
LVL 16

Expert Comment

by:Kyle Schroeder
Comment Utility
Ahh, I am still going through my notifications for the past 5 days and didn't see the "points for" yet.  In that case, OK :)

Glad to have you on board LRI41.

-dog*
0
 
LVL 6

Expert Comment

by:Mindphaser
Comment Utility
Give him some time ... I adjusted the points last night ...
0
 
LVL 1

Expert Comment

by:GregD
Comment Utility
much appreciated.
0
 

Expert Comment

by:jmdcpa
Comment Utility
Gabe,

I just had the same problem with ntvdm.exe eating up all my processor and I solved the problem by running Task Manager and setting the Priority to Low. (Right-click the process)

Joe
0
 

Expert Comment

by:midmon
Comment Utility
Working Solution: When configuring an XP workstation for connection to a Netware Server for access to a legacy btrieve database, use the Microsoft Netware Client supplied with XP rather than a Novell supplied client for XP.
0

Featured Post

Complete Microsoft Windows PC® & Mac Backup

Backup and recovery solutions to protect all your PCs & Mac– on-premises or in remote locations. Acronis backs up entire PC or Mac with patented reliable disk imaging technology and you will be able to restore workstations to a new, dissimilar hardware in minutes.

Join & Write a Comment

If you have done a reformat of your hard drive and proceeded to do a successful Windows XP installation, you may notice that a choice between two operating systems when you start up the machine. Here is how to get rid of this: Click Start Clic…
For both online and offline retail, the cross-channel business is the most recent pattern in the B2C trade space.
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…

771 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now