Gizmo's Freeware is Recruiting
We are currently looking for people with skills and/or interest in the following areas:
- Anonymous Surfing Service
- Mobile Apps contributors
- Mac Section contributors
If this sounds like you then click here for more details
How Windows 64-bit Supports 32-bit Applications
|
Introduction
|
|
This article provides an overview of the Windows on Windows 64 (WOW64) sub-system and associated techniques that support 32-bit applications under Windows 64-bit. |
|
Discussion
|
Windows 32-bit on Windows 64 (WOW64)WOW64 emulates 32-bit WindowsUnder Windows 64-bit, 32-bit applications run on top of an emulation of a 32-bit operating system that is called Windows 32-bit on Windows 64-bit, or WOW64 for short. WOW64 intercepts all operating system calls made by a 32-bit application. For each operating system call made, WOW64 generates native 64-bit system calls, converting 32-bit data structures into 64-bit aligned structures. The appropriate native 64-bit system call is passed to the operating system kernel, and any output data from the 64-bit system call is converted into a format appropriate for the calling application before being passed back. Like 32-bit applications, WOW64 runs in user mode so any errors that occur in translating an operating system call will only occur at that level. The 64-bit operating system kernel cannot be affected. Since WOW64 runs in user mode, all 32-bit application code must also run in user mode. This explains why 32-bit kernel mode device drivers and applications that rely on them, will not work under Windows 64-bit. The WOW64 emulator consists of the following DLLs, the only 64-bit DLLS that can be loaded into a 32-bit process: Wow64.dll – the core emulation infrastructure and the links to the Ntoskrnl.exe entry-point functions. Wow64.dll loads the 32-bit version (x86) of Ntdll.dll and all necessary 32-bit DLLs which are mostly unmodified 32-bit binaries..However, some of these DLLs have been modified to behave differently on WOW64 than they do on 32-bit Windows. This is usually because they share memory with 64-bit system components. WOW64 manages file and registry settingsIn addition to handling operating system calls, the WOW64 interface needs to ensure that files and registry settings for 32-bit applications are kept apart from those for 64-bit applications. To achieve this two mechanisms are used, File and Registry Redirection and Key Reflection. Redirection maintains logical views of the data as if it were in 32-bit Windows and maps it to the correct physical location. Reflection ensures that 32-bit and 64-bit settings will be consistent where that is required. File RedirectionFile redirection ensures that there are separate folders for program and operating system files for 32- and 64-bit applications. 32-bit applications files are installed into C:\Program Files(x86) 32-bit system files are installed into C:\WINDOWS\SysWOW64 For 64-bit applications, files are installed to: C:\Program Files C:\WINDOWS\SYSTEM32 The WOW64 file redirector ensures that requests from 32-bit applications to open files in C:\Program Files or C:\WINDOWS\SYSTEM32 are redirected to the appropriate 32-bit directories. There is one issue with file redirection that users and developers should be aware of. Many 64 bit applications still use 32 bit installation routines. To ensure that an application is installed correctly, i.e. to C:\Program Files, the installation routine should make an operating system call to temporarily suspend the WOW64 file redirector. After installation another operating system call needs to be made to re-enable the redirector. If this approach isn't followed then the application will be installed to C:\Program Files (x86). A classic example of this is the 64 bit development version of Firefox 3.5, codenamed Shiretoko, which is installed to C:\Program Files(x86)\Shiretoko. Firefox still functions correctly, the only thing you can't do is change the icon for the application. Registry RedirectionRegistry keys specific to 32-bit applications are redirected from: HKEY_LOCAL_MACHINE\Software to: HKEY_LOCAL_MACHINE\Software\WOW6432Node You may also occasionally see Registry entries elsewhere although this is unusual HKEY_CURRENT_USER\Software\WOW6432Node This approach allows both the 32-bit and 64-bit versions of an application to be installed side-by-side without overwriting each other’s settings. Registry reflectionSome redirected keys and/or values are also reflected. This means that if a 32-bit application makes a change to the redirected section of the registry, that change is also made to the 64 bit part of the registry, and vice-versa. Key reflection uses a policy of last writer wins. For example, if I install three applications with the same file extension then the last one to be installed will be associated with that extension.
Double-clicking on a file with the extension XYZ in Explorer would load the application installed in step 3, as it was the last one to associate itself with this extension. All of this is done transparently for 32-bit applications by WOW64, which, in intercepting calls to the operating system, detects references to file paths and registry keys and maps them accordingly. WOW64 has several limitationsSome but not all 64-bit features are available to 32-bit applications WOW64 provides 32-bit applications with access to some features of 62-bit systems. For example, applications can have more memory up to 4GB with the correct setting.. Other features are more limited due to overheads and restrictions. For example, 64-bit Windows will support logical 64 processors but 32-bit applications are restricted to the usual 32 logical processors. Code Injection cannot mix between 32-bit and 64-bit Under 64-bit Windows it is not possible to inject 32-bit code into a 64-bit process, nor is it possible to inject 64-bit code into a 32-bit process. Applications that rely on code injection to add functionality to existing applications will usually not work. This explains why most 32-bit shell extensions do not work under Windows 64-bit. The majority of shell extensions rely on code injection to add themselves to Windows Explorer. WOW64 does not support 16-bit installersWOW64 provides support for Microsoft's 16-bit installer - by substituting a compatible 32-bit installer - but does not extend this support to third-party products.
Further options for running 32-bit applications with Windows 64-bitWindows Virtual PCWindows Virtual PC is free software that provides an environment that will support legacy hardware and software that will not work under Windows 7. Guest operating systems (OS) can run in a virtual machine which means they are not aware that they are running under another operating system. The system requirements and features vary significantly between versions of Virtual PC and versions of Windows so check before you try Virtual PC. The latest version is, perhaps, the most limited with no support for operating systems before the current supported version of Windows XP which is Service Pack 3. Windows XP Mode (XPM)Windows XP Mode is a specific implementation of Windows Virtual PC that comes with a pre-installed, licensed copy of Windows XP Professional with Service Pack 3. It is only available with the Enterprise, Ultimate and Professional editions of Windows 7 64-bit so you are expected to upgrade to these versions if you want it. Many who have used XPM advise that it should be used as a last resort. It will provide legacy support if you have no other options but, compared to other virtualization products, performance is disappointing and the default configuration raises a number of security issues. Dual boot WindowsYou can install more than one version of Windows on the same computer by dual booting.For the purposes of this article, you would install a 32-bit version and a 64-bit version alongside each other. Each operating system is installed into its own disk partition and a boot manager is installed on the default partition to ensure that you can choose which operating system you want to use at startup. Although you cannot use both operating systems at the same time it is a useful option because the entire computer is dedicated to the running operating system. Compared with virtual machines, there are no issues of compatibility and much less complexity in both installation and operation. You can also retain the ability to run 16-bit applications under the 32-bit version of Windows. |
|
Summary
|
|
Most 32 bit applications will run quite happily under Windows 64. The main exceptions are:
Some applications may work with reduced functionality. These include uninstallers, registry cleaners and tweaking programs, amongst others, since they only have access to that part of the Registry made visible to them by WOW64. If you cannot run your 32-bit applications then consider virtualization or dual-booting with the old and new operating systems both installed. |
|
Related Links
|
|
Editor
|
|||
|
This software category is maintained by volunteer editor Remah.
If you have had a similar experience then you should consider becoming a reviewer too. |
|
Tags
|
|
Windows on Windows 64, WOW64, 32 Applications under 64 bit Windows, 64 bit Windows Vista, 64 bit Windows 7, Windows Virtual PC, virtualization, dual boot, Securable |
Back to the top of the article.
- Article type:


Comments
Hi,
I have an existing windows Xp-32 bit server and i want to connect it with another server which is windows 7-64 bit. Will this things workout properly?
Please i need some advice on this matter..
Thanks!!
i m using sony vaio 64 bit OS,,I am unable to run oracle related softwares on my computer...please help me out.
i am using windows7 64bit but when i install 32bit programs its show some error
Hello Remah,
And what about the server performans running a 32 bits application on a 64 bits server (W2k3)
Thanks in advance
The application may run faster or slower than on a 32-bit processor (http://support.microsoft.com/kb/896456). The server performance will be reduced compared with running an equivalent 64-bit application. WOW64 emulation is less efficient than native execution. Exactly how much impact that has on your server will depend on your specific configuration.
If you are running Itanium CPUs then I have not addressed that here. Pre-2006 Itanium processors had hardware support for 32-bit applications but performance was so bad Intel developed software emulation similar to WOW64, the IA-32 Execution Layer.
I have 64 bit windows 7 laptop i am able to install a 32 bit java application but when try to open the launcher file it popup a message "unable to find jawaw please check if u have typed correct user name and password"
This is a tutorial about Windows 64-bit and comments should relate to that.
You have a problem with Java so either post your problem in our Freeware Forum or in a Java support forum elsewhere.
Iam having Laptop with WINDOWS7 OS & 64bit system. Iam Unable to install Shared Printer from the Network (i.e printer installed on 32 bit os windows 7 )
Please provide solution on priority basis how to install network shared printer from 32 to 64 bit os windows 7.
You will have to find a 64-bit printer driver for 64-bit Windows.
This is not a support forum so you will have to post your question in one of our support forums.
I'm using windows 7 now & for one machine i work with,after it was migrated recently from windows XP (32-bit) to windows 7 (64-bit) the 32-bit IE 8 stopped working. After more investigation i've found that the 32-bit IE 8 has stopped being able to work with https-secured sites mostly, although the IE 8 64-bit is fine. I've done the normal resetting of settings & SSL within the browser configurations to no effect. I've also done numerous poring over the registry within HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\MICROSOFT\INTERNET_EXPLORER\ and then a great many of the listings within there, but still to no luck in spotting any difference between two different otherwise identical machines.
I've even ran a tool to reregister the compatibility dll's, but no luck yet for the 32-bit IE 8 to handle https sites, although it does work ok on the normal http sites like google & so on.
Ideas or suggestions or wisdom?
Thank you for your assistance.
For the record, you are better off asking questions like this in a dedicated support forum either on this site or one of the many.
Recently purchased Sony Viao 64 bit laptop, now software vendor says I should hire software professional to make new laptop immulate 32 bit for old DOS applications. Found your website about WOW64 but cannot find source of software or whether it is already installed but not operational. Who can help?
For the record.
If you have a 64-bit version of Windows installed then you have WOW64 which is for Windows applications. So it is not WOW64 that you need to run an old DOS application, it is the NT Virtual DOS Machine which is no longer available in 64-bit versions of Windows 64-bit.
So I presume that you were either advised to get a virtual machine (VM) setup, to get your 64-bit Windows downgraded to a 32-version, or to have your laptop setup to dual-boot both the 32-bit and 64-bit version of Windows.
Remah - New editor for this article
The person who contributed this article is not active at present. Please post your query in our forum.
How do you know if you are operating in 32 or 64? I have recently downloaded some actions for photoshop and when I try to unzip the files I get an error, not a valid win32 application. Im assuming Im a 32 because of the error message.... how do I fix this? All help is GREATLY appreciated!!! Thanks!
You can check whether you have a 32 BIT or 64 BIT operating system by using this;
http://www.igorware.com/news/released-64bit-checker-110
Most 32 BIT applications will run on 64 BIT systems, but some will not. Also, if you have a 32 BIT version of a program ( like Photoshop, GIMP, and many others), they can not load 64 BIT add-ons, and also many 32 BIT add-ons will not run on 64 BIT versions.
This is purely program related. You need the right version of the add-on for the program. Usually add-ons are marked as to which version they will run on.
You can check which version of a program you have by using this software;
http://www.innovative-sol.com/uninstaller-free/
once you have installed it, start the "UNINSTALLER" and it will show you a list of your installed programs, marked as to whether they are 32 or 64 BIT;
Screen shot;
http://imageshack.us/photo/my-images/16/advunins.jpg/
There are other ways to do it, but this is quick and easy.
Regards....Mike Connor
The person who contributed this article is not active at the moment. Please post your question in our forum.
Looks like I did a big mistake when I bought laptop with Windows 7!
Now I have to buy Dictionaries, verb conjugation software, CAD software and that means a lot of money!
Thank you, this worked for me!
My client works with a suite of programs that were written in VB6, VB.NET 2003 and VB.NET 2005. They work perfectly in XP, Vista and Windows 7 (all 32-bit). But, we encountered a problem when trying to run the programs on 64-bit Windows 7.
The error message that we saw, was somewhat misleading:
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
After banging our heads on a few desks and verifying that we could see the database server, we came across your article. Long story short, the (32-bit) programs were looking for values in the registry but couldn't find them. One of the values it was looking for was the database driver type.
After migrating all of the registry settings from "HKEY_LOCAL_MACHINE\Software\(customer key)" to "HKEY_LOCAL_MACHINE\Software\WOW6432Node\(customer key)" everything worked like a charm!
Thanks again for the write-up!
Allen
I don't know how to do this! Again thank you for assistance! Betty
my system is not inishalized window-7os ?
who to change the 32bit to 64bit in any operating system?
Dear, sir
I have windows 7 64 bit. and I want to install Ansys 12 32 bit, could you help me how can I do that please
regards
hi h r u?
i m using window 7 in 64. i want to use an antivirus which is in 32 bit.
so can u plz help me in this matter as i hv to install antivirus urgent.
waiting for ur kind reply.
regards
asim mangat.
What should I do if I want to run an .exe file for 32 bits version? My current version is vista 64 bits. Downloading those dll and put it somewhere will solve my problem?
Great Article!
Thanks a lot ! A sad thing about other comments, though.
Going 64-bit within a week :)
im using vaio i3 processor i cant able to find personalization instead i check out in trouble shoot its show appearance and personalization aero theme is not fixed how can i solve this problem ..........
I have purchase 64 Bit Sony laptop,but i want to install in that 32 bit application. is that possible for me. please advice me.
Hiiiiii......i just want to know that i m using system32 bit can i install windows7 x64 in it....plz help me .....my email is
{Moderator's Comment: Email address removed. For your own privacy and security please do not post your email address on this site.}
hi i am praneeth from india i want to know how to open win7 32 bit files in win7 64 bit
amd i want to have the xp virtual instlation file
Hello, I have a 64 bit computer with Windows Vista 64 and am unable to run most of my 32 bit programs. Calls to Windows and HP have proved unsuccessful. Even certain hardware is not compatible. Is there a way to make these run? I do not want to have to purchase new programs when what I have already runs perfectly on 2 other 32 bit computers. Any help would be greatly appreciated.
Thanks!
Post new comment