>Assuming a drive will always be there is not a really good practice. There are times when you may be running the application from a drive d: or other drive. I don't know what's going on with your application, but a good way around it is to set a PUBLIC variable at the begining gDrive or whatever and use that throughout your application instead of hard coding a drive letter. This way, you can store the value in a .mem file or a table and update it in one place.
There are no hard-coded drives in the application itself. The drive specifications are inherited by the .app or .exe from the project, which holds hard-coded addressing of every component of your project from your development machine. Setting a PUBLIC variable will not do a thing for this - this simply a part of the wiring of a FoxPro executable.
You can create a machine without a hard drive if you are running in DOS with a network available - I've done that before. However, this problem is occuring on standalone machines, running in Windows 3.1, which do have c: drives.
You may wish to read the article I cited - it's in the June 1997 issue of FoxProAdvisor, written by Jack Hairston, on page 60.