Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why do some programs compiled for x86 do not run under x64, while some do

I have seen that some programs which were written by me and assembled for x86 using ml.exe run fine on my Win 7 x64. I believe this is because of Wow technology.

However, there are some programs (not written by me) which don't run. They give the error that: The version of this file is not compatible with the version of Windows you're running. Check you computer system infromation to see whether you need an x86 (32-bit) or x64 (64-bit) version of the program, and then contact the software publisher

Is there any way I can modify the EXE of these programs to make it run on Win 7 x64. What is the fundamental difference in these programs which make it different from other programs which run transparently.

like image 404
Madhur Ahuja Avatar asked Nov 29 '10 11:11

Madhur Ahuja


1 Answers

They're actually 8- or 16-bit programs. Windows x64 runs in Long Mode, which does not support Virtual 8086 Mode, required for such programs. There is no way to make them work short of recompiling them from source or running them in a virtual machine.

like image 115
Ignacio Vazquez-Abrams Avatar answered Sep 26 '22 16:09

Ignacio Vazquez-Abrams