5

I downloaded the OpenHardwareMonitor program. The web site says it runs on 32-bit and 64-bit Windows. There is no installation file, it is just contained in a zip file. If you look inside the zip file, the only executable is OpenHardwareMonitor.exe. All of this leads me to believe it is a 32-bit program. So I unzipped it into C:\Program Files (x86).

But then I ran it on my Windows 7 64-bit system, and opened up Task Manager. Based on what I read, if a program is 32-bit, it will show *32 next to the process name in Task Manager. But OpenHardwareMonitor.exe does not have *32 next to it. Does that mean it is 64-bit? How would it run on a 32-bit system then?

Also, for programs that do not have installation files and only come in a zip file, does it matter if I extract it into C:\Program Files if it is a 32-bit program, or C:\Program Files (x86) if it is a 64-bit program?

1
  • "Also, for programs that do not have installation files and only come in a zip file..." - If they are portable apps, you can place them anywhere, including on your pen drive. Also, 32-bit programs installed to Program Files and 64-bit ones installed to Program Files (x86) should continue to work (see questions related to the two folders on SU).
    – Karan
    Dec 27, 2012 at 16:50

3 Answers 3

5

This is a .Net tool which is configured as AnyCPU. On a 32Bt Windows it runs as 32Bit on a 64Bit Windows it runs as 64Bit applications.

1
  • 1
    More information on AnyCPU.
    – TFM
    Dec 27, 2012 at 19:47
3
  • The fact that a program is placed into "Program Files (x86)" or "Program Files" doesn't make it run in 32-bit or 64-bit context;
  • An installer doesn't force a program run in 32/64-bit context;
  • Programs are installed into whether "Program Files" or "Program Files (x86)" only for their own or user's comfort;
  • If task manager (in 64-bit windows) doesn't add "*32" to the program's "Image Name", then it means that this image is 64-bit;
  • A program can have images for either 32-bit or 64-bit contexts;
  • A program may run both in 32-bit and 64-bit contexts simultaneously (using different images);
  • If a program is 64-bit only (has only 64-bit image), then it won't run on 32-bit system;
  • 32-bit programs run on 64-bit windows systems using WoW64 subsystem. This fact usually means that 32-bit programs usually run unnoticeably slower (compared to 32-bit systems) while having quite a bit of more memory available to them.
2
  • Thanks, so OpenHardwareMonitor has both a 32-bit and 64-bit image. I ran into another program (Process Explorer from the Sysinternals Suite) that also has 32-bit and 64-bit images, although it goes about it differently than OpenHardwareMonitor. The procexp.exe extracts a procexp64.exe onto the disk and then you can see both of them in the Task Manager. Dec 27, 2012 at 22:59
  • openhardwaremonitor is ".net pe" executable that has intermediate language (IL) data so .net could compile it to run in either 32 or 64bit environments. and yup, procexp.exe uses 64-bit system by running 64bit image of itself (after extracting it from itself). in 64bit system you actually see procexp64.exe's process window on your desktop.
    – boo
    Dec 28, 2012 at 20:45
1

In my on the Applications task manager it doesn't show a *32 or *64 next to the name, just the name. If it is compatible with x86 and x64 systems then it is an x86 program.

However, if you go to the Processes tab, it will show a *32 on x64 systems.

5
  • Nitpick, but there is no such thing as x32. It's x86, and then x86_64 (sometimes x64).
    – Thomas
    Dec 27, 2012 at 4:09
  • @Thomas Thanks, I thought x32 didn't sound right, couldn't think of right thing =p
    – cutrightjm
    Dec 27, 2012 at 4:12
  • Task Manager in Win7 x64 does show *32 for 32-bit apps.
    – Karan
    Dec 27, 2012 at 16:46
  • @Karan is right - I was looking under Applications. If you look under Processes you can see the *32.
    – cutrightjm
    Dec 27, 2012 at 18:38
  • not correct. .NET framework applications which are built using "AnyCPU" option can run on any CPU, any OS that supports a CLR framework, and will be shown under task manager as the architecture it's running on. That means on x86 it's 32 bit, on x86_64 it's 64 bit, on IA-64 it's IA-64
    – phuclv
    Aug 31, 2013 at 3:44

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .