Is there any way to force application to run in 32-bit mode on 64-bit Windows ?
My Os is windows 7 64 bit.

  • 8
    What's the problem you're actually trying to solve? – Daniel Beck Jan 27 '12 at 21:13
  • 1
    In fact the vast majority of programs ARE 32 bit already. – horatio Jan 27 '12 at 21:37

If you are trying to run a 64-bit program, there is no way to run it as 32-bit. Executable format is different, system calls are designed for 64-bit. Simply it is incompatible with 32-bit environment. This is why you can not run a 64-bit executable on 32-bit operating systems and 32-bit processor.

If you are trying to run a 32-bit program, the program is already run as 32-bit. 64-bit processors are compatible with 32-bit programs. 64-bit Windows (or any other 64-bit operating system) replaces 32-bit system calls with 64-bit ones by emulation or any other technique.

So x-bit is about the processor, operating system and executable; it's not a mode. you can not force a 64-bit executable to run as 32-bit. 32-bit indications on Windows process list only show that a program is actually 32-bit and thus run in 32-bit system call emulation mode. You can not force this artificially.

  • 1
    Some programs may use a loader which will start a 64 bit or 32 bit executable and such loaders might be tricked to start the 32 bit version on 64 bit Windows. Furthermore interpreted and JIT-compiled programs might be able to trick system into using 32 bit interpreter/compiler with cerian settings, even if 64bit is available. – AndrejaKo Jan 27 '12 at 22:31
  • I did not think that the question meant "building an executable that runs in 32 bit", I thought what is required "running an existing application in 32 bit". If we are talking about an executable that forces itself to run in 32-bit, then these kind of tricks might make it work. – infiniteRefactor Jan 27 '12 at 22:41
  • @AndrejaKo How do you trick this loader? In my case, a setup.exe that doesn't ask whether to install the 32bit or 64bit version. Thanks. – William C Sep 7 '12 at 23:32
  • @William C I don't think there's much you can do in that case except maybe messing with compatibility settings. For the example I was talking about, you'd literary have loader.exe (or something similar) which is first started and it chooses whether to run the 32bit or 64 bit exe. Usually you can run the executable itself instead of the loader. – AndrejaKo Sep 8 '12 at 6:13

Not the answer you're looking for? Browse other questions tagged or ask your own question.