Install and run 32 bit on 64 bit machine

I want to make sure that on 64-bit Windows, 32-bit application can be installed/run without any issues? And it is guaranteed by Windows backward compatibility?

For example, any application (e.g. Microsoft Windows Media Encoder 9) which runs smoothly on 32-bit Windows 7 can run smoothly on 64-bit Windows 7.

I am developing some software and actually my question is whether release x86 version is ok for both 32-bit and 64-bit Windows 7. If WOW could guarantee it, it could save my work to package different binaries for different platforms.


Solution 1:

No, there is no guarantee, and it isn't difficult to find examples of 32-bit applications or libraries not behaving as expected when running inside WoW64 (Windows on Windows 64-bit, the 32-bit environment that allows 64-bit versions of Windows to run 32-bit applications).

In general, they'll work fine, but it's certainly not a guarantee.

Also, this belongs on superuser.com; this isn't software development related.

Solution 2:

In general, this will work. As a real-world example, my company does this for all our apps (ie: ship x86 versions which run on both 32 and 64 bit OS's).

There are no certainties, though, and you should test before shipping. Generally it will work unless your application is doing something "strange" (eg: using 16-bit components/drivers), but there are cases where it will not.

Also note that there are some differences in behavior (eg: how registry/files are accessed with automatic redirection), so you really should test it. However, it is designed to work in most cases, and that has been my experience with the apps I write, generally.