Skip to main content

32 bit and 64 bit system files in Windows

The windows operating system stores both 32 bit and 64 bit system files under seperate folders. 

Because 64 bit OS needs to be able to run 32 bit programs without confusing them with new paths, some paths are redirected to different folders depending on whether a 32 bit or 64 bit application looks at them. The same applies to some registry keys. 

Basically, if you open explorer (which is a 64 bit program), you will see these folders:

C:\Windows\System32 << your 64 bit system folder
C:\Windows\SysWOW64 << your 32 bit system folder

(Yes, the numbers appear to be exactly the other way round, looks like someone at Microsoft was trying to be funny!)


However: When a 32 bit program, such as Atom, looks at your Windows folder, it will see these folders instead:

C:\Windows\System32 << your 32 bit system folder (!!!)
C:\Windows\Sysnative << your 64 bit system folder

This ensures that under the path C:\Windows\System32, all applications, be it 32 or 64 bit, will find the system files with the correct bitness which fits to the applications themselves. Therefore, 64 bit applications will find 64 bit files there, where as 32 bit applications will find 32-bit files there.

The way to access files with the "other" bitness (32 bit from 64 bit applications and 64 bit from 32 bit applications) is to access the C:\Windows\SysWOW64 and C:\Windows\Sysnative paths, respectively.


C:\Windows\Sysnative is not in the path by default. So you need to tell your 32 bit application to specifically look in that folder, by specifying the full path such as - C:\Windows\Sysnative\bash.exe.
 
By the way, you can easily check the different perspectives by trying to explore your Windows folder from 64 bit cmd.exe (which you normally get) and also 32 bit cmd.exe which you will find in Explorer in C:\Windows\SysWOW64\cmd.exe.

Comments

Popular posts from this blog

Solving PyCharm bug: "Python helpers are not copied yet..."

I have been using PyCharm Professional to run and debug Python code from my Windows machine to a remote Linux device. There are some other tools available for the same purpose (e.g. Python Tool for Visual Studio 2017). But in my opinion, PyCharm Professional stands out among its counterparts as it comes with a "All Batteries Included" setup. Once you configure remote Python interpreter in PyCharm, then it works out of the box. However, today after upgrading to PyCharm Professional 2018.2.1, I could not run my Python script on remote device. The execution always failed with below error - "Error running 'hello': Python helpers are not copied yet to the remote host. Please wait until remote interpreter initialization finishes." To solve this issue, I had to remove the ".pycharm_helpers " folder from the remove device and then restart PyCharm so that the folder is re-created and files are copied again. Here are the steps with comma

Customized Crosshair with OxyPlot charting library

I am using Oxyplot to draw heatmap for a WPF project and needed to draw a crosshair that moves according to user clicks. Since I couldn't find any good example or documentation on the topic, I made a small hack by using LineAnnotations and by over-riding Oxyplot mouse click event. Here is the sample code using WPF with MVVM pattern- MainWindow.xaml <Grid>         <oxy:Plot x:Name="CrossHairPlot">             <oxy:Plot.Axes>                 <oxy:LinearAxis Key="MyXAxis" Position="Bottom" IsZoomEnabled="False"/>                 <oxy:LinearAxis Key="MyYAxis" Position="Left" IsZoomEnabled="False"/>                 <oxy:LinearColorAxis Key="ZAxis" Position="Top" LowColor="Black"                                                                                      HighColor="White" PaletteSize="300">                     <G

Solving ‘Could not resolve host: github.com’ issue

Recently I ran into this issue while trying to clone one of my own repository from GitHub C:\GitHub\FS> git clone https://github.com/<username>/FS.git Cloning into 'FS'... fatal: unable to access 'https://github.com/<username>/FS.git/': Could not resolve host: github.com At first I thought that this could be due to some proxy setting. So I tried to unset it by executing below command - C:\GitHub\FS> git config --global --unset https.proxy But that didn’t fix the problem and I was still getting the same error. As it turned out later, the culprit was my VPN connection. Turning off the VPN fixed the issue. For the records, I was using ‘Surfshark’ on my Windows 10 laptop.