Since I can’t find anything clearly stating it on the MSDN documentation: what does the ProgramFilesX86 enum value return on 32-bit systems?
Development Environment
Please note: in my organization I can’t just stand up machines whenever I want to test things. This is why I’m asking the community. I don’t even have access to 32-bit ISO’s to build a virtual machine — so please understand I have some limitations inside this organization.
- Windows 7 64-bit
Production Environment
In production I don’t know if they are running 32 or 64-bit systems, and it’s likely a mixture. However I do know the list of operating systems.
- Windows 7
- Windows Vista
- Windows XP
Objective
Get the correct program files directory so I can launch my application dynamically.
Known Variables
- The application is installed with an MSI, and it will be installed with the default options, so it will be installed in the
Program Filesdirectory. - The application is a 32-bit application, so on 64-bit systems it will use the
Program Files (x86)folder, but on 32-bit systems it will use the standardProgram Filesdirectory.
Thanks all!
It returns “Program Files”. Since you’re installing using an MSI, you might consider using the installer APIs (MsiLocateComponent, and so on) to locate your program instead of assuming it’s in the expected location.