Windows – Why are 32-bit processes started under 64-bit processes in Windows

32-bit64-bitwindowswindows 7

When I run a 32-bit program in Windows 7 64-bit often times a 64-bit process is started with a 32-bit process underneath it. For instance, if I start iexplorer.exe (Internet Explorer) from C:\Program Files (x86)\Internet Explorer it starts a 64-bit process with a 32-bit process underneath it.

a

This can be seen in Process Explorer as well as Task Manager.

b

Why is this? What's going on here? Also, if I go to C:\Program Files\Internet Explorer and start iexplorer.exe from there, again, both a 64-bit and a 32-bit process is started. The executable in this folder is supposed to start a 64-bit version of the program.

Best Answer

If the 64bit application needs (or thinks it may need) to interface with 32bit applications, modules, or processes, it'll spawn a 32bit process to manage that interaction.

In the case of IE, as was mentioned in @and31415's comment, it needs to interact with add-ons (such as Flash, ActiveX etc.) as well as other applications that may be needed, based upon the content you browse).