How-To Geek
Why Are Most Programs Still 32-bit on a 64-bit Version of Windows?

Your computer is probably running a 64-bit version of Windows. But take a look at the Task Manager and you’ll see most programs on your system are still 32-bit. Is this a problem?
There are many differences between 64-bit and 32-bit versions of Windows. 64-bit versions of Windows can run 32-bit software, but 32-bit versions of Windows can’t run 64-bit software.
Check What Programs Are Still 32-bit
Use the task manager to see which of your programs are 64-bit and which are 32-bit. Right-click the taskbar and select Task Manager or press Ctrl+Shift+Escape to open it.
Look in the process name column. If you’re using a 64-bit version of Windows 8.1 or 8, you’ll see “(32-bit)” after each name of a 32-bit program. If you’re using a 64-bit version of Windows 7, you’ll see “*32” instead.

32-bit programs are usually installed to the C:\Program Files (x86)\ folder on 64-bit versions of Windows, while 64-bit programs tend are usually installed to the C:\Program Files\ folder.
This is just a rule of thumb — there’s no rule that says 64-bit programs can’t be in the C:\Program Files (x86)\ folder. For example, Steam is a 32-bit program, so it installs to “C:\Program Files (x86)\” by default. Games you install in Steam are installed to the C:\Program Files (x86)\Steam folder by default — even 64-bit games will install here.
If you compare your two different Program Files folders, you’ll find that most of your programs are probably installed to the C:\Program Files (x86) folder. They’re likely 32-bit programs.

Is Running 32-bit Software on a 64-bit OS Bad?
On the surface, this seems bad. Most of your Windows programs aren’t taking advantage of the 64-bit architecture. You might imagine that there’s a performance penalty for running such 32-bit programs on a 64-bit operating system, but this isn’t true.
Windows runs 32-bit programs through the WoW64 compatibility layer on 64-bit versions of Windows. However, 64-bit Intel and AMD processors are backward compatible and can natively execute 32-bit software. Your 32-bit Windows programs will run about the same as they would on a 32-bit version of Windows, so there’s no downside to running these programs on a 64- bit operating system.
Even if every program you use is still 32-bit, you’ll benefit because your operating system itself is running in 64-bit mode. The 64-bit version of Windows is more secure.
But 64-bit Programs Would Be Better, Right?
There’s no downside to running those 32-bit programs on a 64-bit OS instead of a 32-bit OS. But wouldn’t it be better if all your programs were 64-bit?
There are definitely advantages for 64-bit programs. 32-bit programs can only use 2 GB of memory each, while 64-bit programs can use much more. If a program is likely to come under attack, the additional security features applied to 64-bit programs can help. Google Chrome is currently a 32-bit application even on 64-bit versions of Windows, but it’s already a 64-bit version on the beta channel. Google promises that the 64-bit version of Chrome will be faster, more secure, and more stable.

Some programs do offer 64-bit versions. Photoshop, iTunes, and Microsoft Office are a few of the most popular Windows programs, and they’re all available in 64-bit form. Demanding games are often 64-bit so they can use more than 2 GB of memory.

Many programs haven’t made the leap, and most never will. You can still run most ten-year-old 32-bit Windows programs on a 64-bit version of Windows today, even if their developers haven’t updated them since 64-bit versions of Windows came along.
A developer that want to provide a 64-bit version of their program has to do additional work. They have to make sure the existing code compiles and runs correctly as 64-bit software. They have to provide and support two separate versions of the program, as people running a 32-bit version of Windows can’t use the 64-bit version.
Let’s take the Windows desktop version of Evernote as an example here. Even if they provided a 64-bit version of Evernote, users likely wouldn’t notice a difference at all. The 32-bit program can run just fine on a 64-bit version of Windows, and there’d be no noticeable advantages of it went 64-bit.
Getting 64-bit Applications
You usually won’t be able to choose between 32-bit and 64-bit versions of software. For example, when you install iTunes for Windows, Apple’s website automatically directs you to the 32-bit or 64-bit installer depending on your version of Windows. When you install Photoshop for Windows, both the 32-bit and 64-bit .exe files are installed and Photoshop automatically chooses the appropriate ones. Sometimes you’ll see separate download links for 32-bit and 64-bit versions, but this isn’t as common.
What’s important isn’t finding a 64-bit application — it’s finding applications that work well for you. For most applications, 64-bit vs. 32-bit doesn’t really matter.

It’s easy to wonder why so many applications are still 32-bit when you look at your task manager, but it isn’t a very big issue. Applications that benefit from being 64-bit are transitioning to 64-bit software. Even if developers did all the work and rolled out 64-bit versions of all the little Windows desktop applications and utilities you use, you wouldn’t be able to notice the difference for most of them.
It's not really a problem. The primary advantage of 64-bit computers is the ability to address more than 4GB of RAM and still only use one word for the address. With 32 bits you have to use 2 words to get more than 4GB, which adds complexity and overhead. For an individual application that does not need more than 4GB of RAM, that's not an issue, so the OS just drops the irrelevant 32 bits of each word without much fuss. If you run a big database, or other application that wants to use more than 4GB of RAM, you want a 64 bit version of that application.
As with all things computer-related, there are a number of other complications, but as far as I know, the essential part is the memory. Distributing one 32 bit version is easier for most suppliers than making two versions and having some set of users install it incorrectly.
That's not really a problem with a universal installer; well written installers can handle installing the correct binaries for your operating systems.
Aside from the memory issue, 64-bit programs often can't use 32-bit DLL's or addons, and 32 bit programs can't use 64-bit DLL's or addons. This is why Microsoft ships two versions of IE: the 64 bit version can't use 32-bit plugins. (I'm curious to see how the 64-bit Chrome deals with plugins.)
It's also worth mentioning that, for large programs, the 32bit will use less RAM. Most people don't need an excel spreadsheet that over comes the 32bit limitations. By loading the 64bit version of excel, you're not taking advantage of its potential, and you're getting the negative effect of the suite taking way more RAM, simply because all the pointers and other variables floating in memory take twice as many bits.
There is also an issue with Intel processors where apps cant use 64 bit architecture because sometimes they are slower than x32 one. There are some benchmarks on stackoverflow but i can't find them atm.
I know of at least one popular software - Revo Uninstaller - which includes 64-Bit capabilities only in the paid, or "PRO" version of their product.
In the case of Revo - the free version will only "see" the 32-bit programs running on your system - while the Pro (paid) version shows all installed software - both 32 and 64 Bit.
I'm not sure if other companies do the same, but with more 64-bit installations, this makes the free version of Revo less useful with each passing day.
Have you seen this yourself? This isn't supposed to be a huge issue; one of the optimizations compilers make is to pack smaller variables together in memory so that 8 and 16 bit atomic types are grouped in to a single 32-bit block. A 64-bit compiler should do the same thing.
There's no doubt there will be a little bit more slack space in memory, but it won't be double or anything... probably just a few percentage points. On the other hand, I certainly want the option to use more memory if I need it, so I will almost always install the AMD64 version of a program if there's a choice between x86 and AMD64 versions.
If you look at MS Office, for example, the 32 bit version does use less RAM. If you declare something as a pointer, it needs to keep the entire 64 bits, same as if you had picked an int. The compiler can only group if you actively use something like Boolean, small int, char, ect since they're by definition smaller than 64bits.
If you select a pointer or int for example, they by definition take the whole space. Since the compiler can't know if you'll use that space or not, it can't do the same type of grouping.
In the Chrome 64 bit browser, 32-bit NPAPI plugins are not supported because they plan on removing NPAPI entirely at the end of this year.
Okay, we're talking about two separate things, then.
Yes, the pointers themselves will always be larger on a 64-bit system, but the objects they point to are not necessarily larger if they're made up of atomic types.
The real question is... how much is the difference, really? If it's 10%, I don't see that as a real concern, especially since there's going to be some overhead in the WOW32 subsystem. But if the 64-bit version uses twice as much RAM...that would be something that would concern me.
My organization did some testing... I don't really remember what the stated difference was, but it was enough that we chose to keep installing 32bit over 64bit Office for any machine that had 4GB or less of RAM. Granted, those machines are getting fewer and fewer, but some departments just aren't upgrading as fast as they should be. I'm sure there are a lot of organizations out there that suffer with some similar concerns.
To me, it's a pretty minor detail, and I would always install the 64bit if given the option. I just thought it was prudent in an article discussing the difference in how they work![:wink: wink]()
I agree; on < 4GB machines, there's no real advantage to 64-bit software. If a computer is never likely going to be upgraded to a 64-bit OS or to more than 4GB of memory, you're better off using 32-bit software.
32-bit apps may run fine on 64-bit operating systems at the moment. But let's not forget what happened to 16-bit apps. You could run 16-bit apps on the legacy 16-bit and newer 32-bit operating systems, but not on 64-bit. The compatibility layer for 16-bit was scrapped, as will be the case with 32-bit eventually. 32-bit will be prevalent for quite some time, however. We'll be running all 64-bit apps before an issue with 32-bit compatiblity will surface. So it's nothing to worry about. But 32-bit's days are numbered. That's a great thing, even if 64-bit is not needed in all cases.
MS Office (2013/365, and earlier) defaults to 32 bit versions. Actually, MS has "hidden" the 64 bit download.
The reason is the one you cited, MS warns users that not all vendors have created 64 bit versions of their addons, so you could lose functionality. What they don't say is that MS is one of those vendors who has not bothered to create 64 bit versions of all of their tools.
MS suggests that the main reason for switching to 64 bit is if you are dealing with file size approaching 2GB or you use files that require 2GB or more of RAM when they are opened. The specific example Excel spreadsheets that have LOTS of data, or have many or complex calculations that require much RAM to work.
I didn't notice that before, but sure enough... it's really hard to find. Interesting!
[edit] Turned that into a quick article for tomorrow.