Skip to main content
1 of 3

Should I deploy 32-bit only or both 32- and 64-bit versions for Windows?

I have a cross-platform application written in a compiled language.

  • For Linux it is customary to have both amd64 and i386 builds available to user, so user can choose version, suitable for its current environment.
  • In Mac it is customary to make Universal Binary, so it could support multiple versions of Apple computers. Or just provide 64-bit version, as all current Apple computers use 64-bit architecture and OS.

I don't want to confuse users, asking "What architecture are you?", but deploying 32-bit only is bad idea, as this program uses some 64-bit optimization magic and runs much faster on these machines.

My ideas:

  • Install both 32- and 64-bit versions of application and choose at run-time. (Requires wrapper, so making click-and-launch application (like uTorrent) will be difficult).
  • Detect architecture using User-agent on the website, so user could download appropriate version automatically (and make link to "alternative versions"). (It is Google Chrome style)
  • Force user to use 32-bit application and make 64-bit version "expert-only"? (like VLC)

What should I do in Windows?