Here's a clever solution that seems to work...
In your config file you store the path like this:
Data Source={0}\DB\Volume.mdb
Then where you use the path in code, you map the root of the virtual directory and use that as the source of the replacement in String.Format:
String.Format(sPath, Server.MapPath("~"))
The ~ represents the virtual directory path. You can use this to establish a "root" reference to a resource. I.e. if you try to reference something with "/myResource" and you are running in virtual directory path "myWebApp" the resource url will reference "myServer/myResource" instead of the correct "myServer/myWebApp/myResource". ASP.net automatically fills in the ~.
So now, regardless of where the virtual directory lives on the physical machine, the {0} in the path will get replaced with the virtual directory's physical path.
Peter
-------------------------
Work smarter, not harder