I'm trying to get a 32-bit app to be able to use more than 2GB on my 64-bit edition of Windows 7 Ultimate. Currently, it crashes when it hits 2GB. I've heard there're ways to move this up to 3GB in 32-bit editions of Windows XP, Vista, and 7. Setting increaseuserva doesn't seem to work. (I have 4GB installed. If you're wondering, it's Dwarf Fortress.)
According to this MSDN page the maximum address space for a 32-bit process is 4Gb on 64bit Windows 7. But, this requires the process to have the
IMAGE_FILE_LARGE_ADDRESS_AWARE flag set.
IMAGE_FILE_LARGE_ADDRESS_AWARE is more of a problem, as it has to be done at the linking stage when compiling the software. See another MSDN page for a bit more info.
You might also wish to see this StackOverflow question, and maybe this one as well, which provide some general info.
3The LAA flag can be set on an exe after the link. However if the exe assumes that user mode addresses will never be larger than 0x7FFFFFFF it will crash. Sep 4, 2015 at 21:48