AN UNRESOLVED ISSUE cropped up regarding this tweak. Running the 32-bit shell seems to cause Explorer to crash whenever a hardware device is connected. At this point there's no fix, and I don't have the free time to look into it right now. So at this point, I wouldn't recommend trying this unless you want to experiment and/or try to find a fix. If you do try this and you DON'T have this problem, let me know!
Why would I do this?
Before diving into the “how?” question, some of you might be asking “Why would you want to run a 32-bit shell on a 64-bit OS?”
One of the first things many users notice about Windows XP and 2003 x64 Editions is that they do not support any kind of shell integration (Deskbars, Toolbars, Context-menu handlers like WinRAR, etc). The reason for this is that 64-bit processes cannot communicate with 32-bit processes or libraries.
Running the 32-bit shell maintains all the benefits of having a 64-bit OS underneath, allows the full use of standard 32-bit Windows shell integration, while still allowing you to run both 32-bit and 64-bit applications side-by-side.
Where do I get it?
If you have Windows XP x64 Edition (or Server 2003 x64 Edition), you already have the 32-bit shell! It resides in your WINDOWS\SysWow64 folder.
How do I use it?
It’s as simple as changing one registry key. You could just change the “Shell” key to “%systemroot%\SysWow64\Explorer.exe” by yourself. But I’ve provided registry files in the pack below that make it even easier. So read on!
What’s the catch?
There are certain problems that arise from using the 32-bit shell. These mainly have to do with the fact that Windows sees the 32-bit shell just like any other 32-bit process. That means any requests for the System32 directory get rerouted to the SysWow64 directory (which contains a 32-bit copy of System32, the real System32 directory now has 64-bit files. Believe me, it wasn’t my idea.)
The compatibility layer also redirects most registry calls to a special “Wow6432Node” branch of the registry. 32-bit programs think they’re seeing the whole registry when they’re really only seeing part of it.
Most control panel applets are 64-bit. The 32-bit shell cannot load these directly.
Is there a workaround for those problems?
In a word? Yes.
For the most part, the 32-bit shell will work just fine. To workaround these problems, I created a set of command shell scripts. Here’s what they do:
-Enable/disable the 32-bit shell
-Launch the Control Panel and Administrator Tools
-Open the Registry Editor with a full view of the registry
-Open a 64-bit Explorer process in “My Computer” – from here you can run the normal control panel, or browse the system and run files as if you were running the 64-bit shell.
My “enable” script does more than just enable the 32-bit shell. It will also create an “explorer32” directory in your Windows folder, with copies of certain files that normally the 32-bit shell wouldn’t be able to see. These files are copied from your system’s “system32” directory. I do NOT distribute any of these files with the installer.
Is it worth it?
That depends. For me the answer is yes. I’ve been much happier with my x64 experience since I switched shells.
What if I have problems?
This is a very new “hack” and I’ve only been running it for a couple weeks now. As such, I recommend only advanced and experienced Windows users attempt this… at least for now.
Ryan will be setting up a new section in the Forum specifically for this hack. That’s where we can discuss problems, ideas, and experiences with the 32-bit shell.
Enough already, give me the file!
If you’re ready to take the plunge, get the setup file here. At this point, it MUST be installed in the default directory.
I only have one computer to test this on right now. And while it works great for me, you may encounter problems. This documentation and software is provided “AS IS” with no warranties of any kind. This is an EXPERIMENTAL project at this point. Do not attempt this on a vital or mission-critical system, or a system with irreplaceable data (at the very least, do a backup).
Good luck! And report back your experiences.
May 22 2005, 09:58 PM