Parsing of %ProgramFiles% under 64-bit Windows
Posted: 27 Sep 2009 13:04
I'm not entirely sure if this is a bug or a feature request, but here goes: when parsing %ProgramFiles% under 64-bit Windows, XYplorer returns the value of %ProgramFiles(x86)% instead of %ProgramFiles%. Under 64-bit Windows, 32-bit apps get installed in %ProgramFiles(x86)% and 64-bit apps get installed in %ProgramFiles%. When calling a 64-bit program (installed in %ProgramFiles%) from a script, using %ProgramFiles% doesn't work because it returns %ProgramFiles(x86)%.
By way of an example, when calling TeraCopy.exe installed in C:\Program Files\TeraCopy (i.e. %ProgramFiles%\TeraCopy), calling %ProgramFiles%\TeraCopy\TeraCopy.exe returns C:\Program Files (x86)\TeraCopy\TeraCopy.exe which is incorrect. I suspect this has to do with 64-bit Windows "lying" to a 32-bit app like XYplorer; also, the problem can be easily circumvented by hardcoding C:\Program Files\ instead of %ProgramFiles% since Vista and Windows 7 always assign C: to the Windows partition. Nevertheless, with 64-bit Windows and apps becoming more prevalent, it's an issue that may crop up more often.
OS: Windows 7 x64 RTM
XYplorer 8.40.0112 beta.
By way of an example, when calling TeraCopy.exe installed in C:\Program Files\TeraCopy (i.e. %ProgramFiles%\TeraCopy), calling %ProgramFiles%\TeraCopy\TeraCopy.exe returns C:\Program Files (x86)\TeraCopy\TeraCopy.exe which is incorrect. I suspect this has to do with 64-bit Windows "lying" to a 32-bit app like XYplorer; also, the problem can be easily circumvented by hardcoding C:\Program Files\ instead of %ProgramFiles% since Vista and Windows 7 always assign C: to the Windows partition. Nevertheless, with 64-bit Windows and apps becoming more prevalent, it's an issue that may crop up more often.
OS: Windows 7 x64 RTM
XYplorer 8.40.0112 beta.