I ran into this issue not long ago. The short answer is that if you run a 32 bit application on a 64 bit machine then it’s registry keys are located under a Wow6432Node.
For example, let’s say you have an application that stores its registry information under:
If you compile your application as a 64 bit binary and run it on a 64 bit machine then the registry keys are in the location above. However, if you compile your application as a 32 bit binary and run it on a 64 bit machine then your registry information is now located here:
This means that if you run both the 32 bit and 64 bit versions of your application on the same machine then they will each be looking at a different set of registry keys.