System.FilePath.joinDrive problem

Bulat Ziganshin bulat.ziganshin at
Sun Nov 4 15:00:33 EST 2007

Hello Seth,

Sunday, November 4, 2007, 10:15:14 PM, you wrote:

i just simplified my description. console programs has current
directory" on each drive and inherit it from parent program. i don't
know exact behavior of GUI programs. shlwapi.dll is just helper dll
which contains various string functions in particular. i don't think
that it defines "Windows API" although i may be wrong here

i don't use cygwin and imho its behavior is not definitive in this case

> The fact that the behavior (where a current directory is maintained) is
> related to the command interpreter certainly changes things.  Command
> interpreter programs are not insignificant (if you use cygwin, or something
> similar), but logically if the win32 API behaves differently, then the win32
> API behavior is (IMO) the properly expected behavior.

> What is the behavior of programs compiled within cygwin?

> Seth Kurtzberg
> Software Engineer
> Specializing in Security, Reliability, and the Hardware/Software Interface

> -----Original Message-----
> From: Bulat Ziganshin [mailto:bulat.ziganshin at] 
> Sent: Sunday, November 04, 2007 9:27 AM
> To: Twan van Laarhoven
> Cc: Seth Kurtzberg; 'Bulat Ziganshin'; libraries at
> Subject: Re[2]: System.FilePath.joinDrive problem

> Hello Twan,

> Sunday, November 4, 2007, 2:33:44 AM, you wrote:

>> The reason I came upon this problem was that my %ProgramFiles% was set
>> to "E:". For years this has worked without incident, all programs handle
>> this just fine. The only program that doesn't accept this is cabal.

> i think that you just violated agreement that here absolute path
> should be used. while your program was GUI ones, e: and e:\ was the
> same, but when you installed console program that inherits its
> environment from cmd, things goes wrong. is it possible to use "e:\"
> here?

Best regards,
 Bulat                            mailto:Bulat.Ziganshin at

More information about the Libraries mailing list