What happens if I use SHGetFolderPath api call in a 32 bit system with CSIDL_PROGRAM_FILESx86 folder id instead of the CSIDL_PROGRAM_FILES id?
Theoretically CSIDL_PROGRAM_FILESx86 should map to C:\program files (x86)
in a 64 bit system but what does it map to in a 32 bit system where this path doesn't exist?
The different scenarios are described in this article on MSDN.
Scroll down to remarks, "FOLDERID_ProgramFiles"
Summary: It will point to %SystemDrive%\Program Files
Try this:
YMMV