In Richter's "CLR via CSharp" book there is a following table explaining how application built in different ways will run on various versions on Windows. It says that application built with x86 platform switch will run on 64-bit OS as a WoW64 application which is perfectly fine, but it also tells that with anycpu32bitpreferred switch it will run as a 32-bit application. So the question is how 32-bit application can run on 64-bit OS other than as a WoW64?
Asked
Active
Viewed 430 times
1
-
I believe it is a typo in the table (the "Runs as a 32-bit application" at the intersection of anycpu32bitpreferred and x64 should read "Runs as a WoW64 application"). Then again, it can be the other way round too (the "Runs as a WoW64 application" could be "Runs as a 32-bit application", because *the* way to run a 32-bit application on x64 is WoW64, thus saying "as 32-bit" already implies the use of WoW). – GSerg Sep 04 '19 at 06:59
-
The table is outdated, Windows RT is dead and a column for 64-bit ARM platforms is missing. A 32-bit app always needs the wow64 emulator, on ARM as well. Otherwise the reason that the "Prefer 32-bit" option got added, targeting x86 doesn't make much sense on an ARM device. – Hans Passant Sep 04 '19 at 09:18