kshahar
kshahar

Reputation: 10513

"There is no disk in the drive" in an application that doesn't require it

Our application is written in C++ and used on Windows XP. On some client machines with only a C: drive, an error pop ups when the application starts:

There is no disk in the drive. Please insert a disk into drive "D"

If they hit "Continue" or insert a CD (even an empty one!) and press "Try Again", everything works fine.

Someone suggested that this might be related to compiling on drive D: (our build machine uses drive D: for compilation). Has anyone encountered this issue?

Upvotes: 4

Views: 2978

Answers (5)

user2478404
user2478404

Reputation: 31

This may be old news but I was receiving the same error just now trying to run Delphi 2010. It turns out that when I unplugged my cellphone that I was charging, the error went away.

Since I charge my phone all the time on this computer, I wondered why all of the sudden this was happening. One thing different this time was that my phone was plugged in when I restarted the computer to install some updates.

After unplugging the phone (after restart) the error disappeared and I plugged my phone back in to charge without incident.

Hope this helps someone.

Upvotes: 3

Stu Mackellar
Stu Mackellar

Reputation: 11638

It would certainly be a good idea to find out what's trying to access the D drive and fix it. But it's possible to suppress this behaviour, if desired, with a call to SetErrorMode using the SEM_FAILCRITICALERRORS flag. It may even help you to identify the problem, because the error will be sent directly to the application instead of being handled with a system dialog.

Upvotes: 5

unwind
unwind

Reputation: 400039

Try running the program through Dependency Walker, and see if there's any reference to D: in the binary's dependencies. This might give you a hint to which library (if any) is being problematic. Or it might give you nothing, but it's free and very quick to do, so I'd recommend it.

Upvotes: 2

steffenj
steffenj

Reputation: 8085

Oh yes, we used to have errors like these ... unfortunately i can't tell you what the fix was but it was something utterly stupid, that much i remember. I could still find the comment in our CDebugStackWalk class, so it may have to do with stack unrolling ... somewhere, somehow...

Upvotes: 0

Treb
Treb

Reputation: 20289

Try compiling it on C: and see if the error still exists. You can use Process Monitor from www.syinternals.com to see which file/dir the program is trying to access. Hope this helps!

Upvotes: 3

Related Questions