Why are 32-bit programs still running on my 64-bit version of Windows?

Most PC’s shipping these days are rocking 64-bit versions of Windows 8.0 or 8.1.  If you’re not sure how to check which bit architecture you have (32-bit or 64-bit) in Windows, there’s a quick command line trick for that.

Today I want to show you something peculiar that you may not have noticed but once I bring it up you’ll certainly have questions.

Assuming you’re rocking a 64-bit OS, kick open the Task Manager and look in the process list.

In the Process tab you should see a few processes with the (32 bit) prefix tacked on the end.

Task Manager shows applications with (32 bit)

  • What’s up with that?
  • Why isn’t your 64-bit PC running all your application in 64-bit mode?
  • It seems like you’re not getting the most performance from your system right?

There are a myriad of benefits from running a 64-bit version of Windows such as better memory usage and tighter security so why are some of your applications failing to take advantage of that?

Good question. Let me attempt to explain what’s going on here:

A Plethora of Program Files

Windows usually segregates 32-bit applications from 64-bit applications.  For example, in a Windows 8.1 64-bit computer, the 64-bit apps are installed in “C:\Program Files” but their 32-bit cousins hang out in “C:\Program Files (x86)”.  There are lots of reasons for this but the short non-technical answer is that having both folders make the system backwards compatible.  It’s a way to make it easy to run 32-bit software on a 64-bit operating system.

I want you to do a little experiment with me.

Press Windows Key + e to open Windows Explorer then open both Program Files and Program Files (x86) and compare the item count in the status bar at the base of each window.

In the graphic below you can see I have more 32-bit programs than 64-bit programs because the item count in Program Files (x86) on the right is 48 which is slightly more than the item count in the regular Program Files folder on the left.

Program Files (x86) compared to regular Program Files

This is actually pretty normal.

You can run almost any 32-bit program in a 64-bit environment without a performance penalty.

Notice I qualified that last sentence with almost because some 32-bit antivirus programs will categorically refuse to run on a 64-bit OS.  In that case, you’ll need to supplant the 32-bit version of the antivirus program with its 64-bit counterpart.  Also, 32-bit device drivers won’t work on a 64-bit OS.  But these are the exceptions of-course.  Most 32-bit applications are 100% compatible with their 64-bit  peers and will run without complaining.

But how is this possible?

Through a process called Windows on Windows, Microsoft implements a compatibility layer between the two bit architectures.  It gets pretty technical here but the synopsis is that every 64-bit version of Windows includes an emulator called WoW64 (Windows 32-bit on Windows 64-bit) which is responsible for translating the differences between 32-bit and 64-bit applications.  It’s just an emulator that passes 32-bit applications through to the OS.

There is no performance penalty because WoW64 actually lets 32-bit application enjoy all the benefits of the 64-bit kernel.  If you’re really curious about how this works you should check out the technical whitepaper titled “Performance and Memory Consumption Under WOW64” on the Microsoft Developer Network.

In most cases; there’s not really a good reason for a developer to go through the extra work of crafting a 64-bit version of the program.  Since legacy 32-bit apps run fine in 64-bit OS there’s little pay off for designing a specific 64-bit version. The bottom line is that most applications don’t need access to more than the 32 bits of addressing space provided by 32-bit apps.

Incidentally, by 32-bits I mean raising the number 2 to the 32nd power.  32-bits give us a total of about 4 gigabytes of addressable memory and most applications simple don’t need that much.

But this doesn’t apply to all programs.

For example, the big guys with voracious memory appetites such as AutoCad 2015 and Adobe Premiere Pro CC 2014 get the most palpable benefit from using 64-bit of addressable memory.  Thus it makes since to install the 64-bit versions of the big guys on a 64-bit OS but the majority of applications won’t see a performance bump greater than 30%.

The Bottom Line

Creating 64-bit versions of software simply isn’t a viable option in most cases.  It requires time and testing.  Furthermore, since most 32-bit applications run perfectly well on 64-bit OSes (thanks to WoW64) it doesn’t make sense to make a separate 64-bit app just to squeeze out a 30% performance gain that’s not even guaranteed to happen.

So what should you do?

If a program you want offers a 32-bit version (also called x86) or a 64-bit versions (x64) grab the 64-bit version but don’t feel bad about going 32-bit.  Ultimately, for most non-heavy-weight applications such as iTunes and Adobe Flash Player, the website automatically detects the bit architecture of your computer and only displays the relevant setup file for you.

So don’t worry about it…

I hope that helps to clear up some of the confusion here!  As always feel free to rail me, call me names and say I don’t know what I’m talking about in the comments hahaha.

I love you guys.  And thanks for reading my site.  Consider joining my team too.  In the right rail you can drop in your email address to get exclusive (and original) content from me that I don’t give to my non-members.  It’s 100% free so go for it!

Thanks again!

About

Connect with Vonnie on Twitter

Posted in Desktops, Hardware, Laptops, Windows, Windows 8, Windows 8.1 Tagged with:
  • Neil

    …”with the (32 bit) prefix tacked on the end”

    my friend, the thing you add at the end of a noun/verb is actually called a “suffix”.
    PREfixes, as the name should suggest, are only prefixes if they are
    placed in front.

    …”there’s a quick command line trick for that”

    if the trick you intended is in fact to do a windows-E to call up
    explorer, then you’re using a gui app. it doesn’t require typing a
    command in a cli shell, so there’s no command line involvement there.

    “The bottom line is that most applications don’t need access to more than
    the 32 bits of addressing space provided by 32-bit apps”

    the two benefits you mentioned: a potential increase in execution speed and
    access to a theoretically huge memory address space are only some of the
    benefits of switching to 64 bits; if that’s all x64 offered, then most
    *desktop* apps would not gain anything from the conversion. thankfully,
    there’s more to it than that. as an example only, many developers would
    care more about the greater number of registers offered by x64, the more
    secure environment provided by techniques like ASLR, DEP and SEHOP
    (some of which are available in 32-bit versions of windows, but don’t
    offer the same level of protection) etc…

    the most important reason of all, IMHO and something most developers
    unfortunately don’t think of, is that 32-bit apps run well on 64-bit
    Windows *NOW*. Microsoft is rather infamous for u-turns and dropping
    features. you can be certain that at some point, a future version of
    windows will drop support for 32-bit apps like they did before with
    16-bit apps, which now require the use of a VM. as such, it makes sense
    to begin working on slowly converting your app to 64-bits now regardless
    of any other consideration, otherwise your app only runs at microsoft’s pleasure.

  • MysoreMasalaDosa

    I would like to know why, even though I am running Windows 7 64-bit, ALL of my software is running in 32-bit mode. That doesn’t make any sense. Can someone help?

  • 9gagger

    can 64 bit items run on a 32 bit (x86) system?

  • Aida

    What I have learned is that “more” doesn’t necessarily means “better” I was questioning why my 62 bit computer had a 32 bit flash player! Thank you for clarifying the question!

    • Udayan Chelvaratnam

      LOL! “thanks for Clarifying the Question” – So nicely said!
      After reading though the reply I was wondering where the eff is the answer. It’s like pleasuring oneself and stopping abruptly before the orgasm.

  • Barbara Wall

    thanks for a ‘simple’ to understand answer….given in layman’s terms!

    • Udayan Chelvaratnam

      the so called technical expert who wrote this didn’t provide the answer like Aida (profile above) said. LOL!
      I’m having this same problem. Please let me know if you find a solution anywhere.

      • lovesblueskies

        I’m sure there’s numerous reasons, but in the end, I can only think that it usually just comes down to the 32-bit version being the only version available or user error.

        To find the answer that pertains to each individual, the first question you need to ask is “What is the origin each of the 32-bit programs running on my 64-bit system?”. If it’s important to you, many of the version conflicts can be resolved with a redownload/reinstallation.

        If you’re interested in more in-depth reasons, read on. Otherwise, I wouldn’t worry too much about it; you can just install the potentially more ideal version henceforth. By the time Windows phases out the 32-bit compatibility, there will be sufficient prior notifications and you’ll probably have a different computer by the time it actually comes to pass.

        While I couldn’t possibly imagine all the scenarios that could lead to 32-bit programs being installed on a 64-bit machine, I’ve listed a few possibilities below that immediately come to mind.

        –Even if you’re running a 64-bit version of Windows, depending on the types of programs you run, many are still only available as 32-bit.

        –If the user’s given choice upon download, 32-bit is/was the default (if not automatically detected)–sometimes even saying “recommended”.

        –Unless the user knows, or has the tenacity to figure out how to find out what their system is, they go with the default or what’s familiar, and they see 32-bit here and there on their computer, and it feels better.

        –Informational websites used to say (maybe still do) that if in doubt, download the 32-bit version (because almost always, it’ll function just fine on a 64-bit system).

        –The 32-bit .exe could have been migrated from an older computer/hard drive or downloaded in error when given a choice of download versions.

        –In the past, 64-bit versions, if even available, used to be more difficult to locate, and took a few extra steps to navigate to, increasing the number of 32-bit downloads. Today if there’s a link to both the 32- and 64-bit versions, they’re listed one above the other, but it’s a lot more common these days. I can only think they used to do this to decrease negative reviews/impressions of the company or software when people download the incorrect version and didn’t get the results they wanted. It would also decrease the customer service burden.

        My experience has been that many people start off as unaware users, not knowing what they don’t know, and go about their business blissfully downloading 32-bit versions of this or that without any worries; they work just fine, and the user is following the once ‘recommended if in doubt’ advice they read one time, so they’re happy with things as they are.

        Only as knowledge/curiosity/problems increase, does it seem that desires to research and/or resolve certain issues also increase. And as users learn more, they may discover they’ve got a 64-bit system, and too late understand the relationship between that and all these 32-bit programs installed on their machine.

        There may be feelings of curiosity and/or a sinking feeling that their system is having, or will have, issues and maybe even some feelings of betrayal, like “How could this be?! Why didn’t the computer install the correct version?! There’s definitely something wrong!,” when there is often nothing actually “wrong” at all. The user is just seeing with new eyes something that didn’t previously register as anything at all to them because they had no idea what it meant.

        It may be hard to swallow that it was ultimately they who installed either the only available (32-bit) version or “wrong”, “recommended if you don’t know”, 32-bit version programs resulting in a 64-bit system populated with 32-bit programs.

        That’s why there’s articles like the one above that try to give users peace of mind (even if it may not quite have an entirely clear title, the information is good and can ease the minds of those just learning about 32/64).

        Good news: It seems that things are evolving, albeit slowly.

        –People are overall more knowledgeable, the demographic of the typical user is not what is used to be, the version is no longer secreted away for those programmer-people, and information is readily available on the internet.

        –It also though it seems increasingly popular to have the installation wizard detect the operating system’s version.

        Not as Good, but Far From Bad, News

        –When I was doing a lot more downloading, it seemed to me that unless the program was altogether new and the installation wizard was being newly constructed, it didn’t appear that all program upgrades included an upgraded installation wizard unless there was a specific reason/need, such as:

        –the 64-bit version is a new addition, and the wizard needed to be updated to accommodate

        –upgrading the wizard is a high priority to the developer for some reason

        –and probably a lot of other reasons I have no idea about

        In the end, there still seem to be many instances that it’s still left to the user to choose their version.

        Well, I hope this reply is able to help, even a tiny bit, those who are still trying to discover how/why their 64-bit system is loaded with 32-bit programs. I’m sure there’s many other reasons that I didn’t mention, so anyone with more ideas, please don’t hesitate to reply and add more insight. 🙂

        Now, the last thing I have to say is a little off-topic:
        To all those who made snide comments about the article/title, please tap into your heart and be a little kinder. I’m trying to not pass judgment, yet stand up for all that has the potential to be good in this world. It’s tough to do. The author was trying to help people understand and put their minds at ease, and he *did* offer good information, if maybe not the best title.