Can I Use the Same User Profile on 32-bit and 64-bit Windows?

This article is part of Helge’s Profile Toolkit, a set of posts explaining the knowledge and tools required to tame Windows user profiles.

More and more people are upgrading to a 64-bit version of Windows. Many of them would probably like to keep their existing configuration. The question is: can you use the 32-bit profile on Windows x64? Is there even such a thing as a 32-bit or a 64-bit user profile? Or are profiles independent of the system’s bitness?

Profiles and Operating System Bitness

We had those very questions at sepago, so we performed some tests. First, we analyzed the entire file system and registry content of a default profile on x86 and on x64 Windows. When comparing the results, we found zero differences. Then we tried to log on to a 64-bit machine with a profile created on a 32-bit system. All went well – no mysterious signs, no funny sounds, nothing. We also did it the other way around, again, without noticeable wrath of the gods.

That answers the question: Can you use a 32-bit profile on a 64-bit machine? Yes, you can!

You Can – But Should You?

The fact that something is possible does not mean that it is clever. Although technically possible, using profiles across OS bitnesses has the potential for trouble. If you want to know why, just search for “Program Files (x86)” in the HKEY_CURRENT_USER hive on a 64-bit system. You will find many references (unless you installed 64-bit software only, which I doubt). Applications store file system paths to all kinds of configuration files, helper executables and installation directories in the registry. In the case of 32-bit applications on 64-bit Windows those paths all start with “Program Files (x86)”. Now use the same registry hive on a 32-bit machine that has the same 32-bit applications installed … and all paths are invalid. 32-bit Windows does not have a WoW64 subsystem that redirects 32-bit processes from “C:\Program Files” to “C:\Program Files (x86)”.

What are the consequences?

Profile sharing across operating system bitnesses may cause applications to malfunction in strange ways. Some programs may be entirely unaffected, whereas others may not work at all. How exactly your most important application is going to deal with such a situation cannot be foreseen – because one thing is certain: that its developers never thought such a thing might happen.