Quote:
Well, if you mean that SHGetFolderPath(CSIDL_PROGRAM_FILES) returns a different location depending on whether your app is 32- or 64-bit, then that makes a certain amount of sense. After all, it's not necessarily called "Program Files" anyway.

If you're saying that it actively lies to the running program when it uses filesystem calls, then I have a hard time believing that.


From what I remember doing with the Itanium version, it lies to 32 bit programs. This may not be true in the x64 version. But I do distinctly remember going to File - Open in both a 32 and 64 bit program. The 64 bit program saw the files as normal, the 32 bit one didn't see a c:\Program Files (x86)\, but any file manipulated in what it saw as c:\Program Files\ ended up in that x86 folder.

Doing a Google search on it, it does look like they changed it on x64 to do the first part you suggested, it provides a different path depending on 32 or 64 bit, since some programs are balking at the parentheses for some reason.