Registry is the least of your worries. Simply don't use it and create your own conf/ini file.
64 / 32 bit will require compiling separate binaries and dlls even for the same OS (eg: XP x86 and XP x64).
Take the least common denominator approach to the initial design (eg: don't do things that exclusively rely on 64 bit or Direct X and then expect an easy port to 32 bit and OpenGL). LCD is why most PC games today suck, they are basically console games that just happen to have a make file to spit out a PC .exe.
Avoid using as much OS API as you can. DLLs and SOs for example may be handled entirely different.
Use wrappers for everything platform specific that you cannot avoid. Use C runtime instead of OS native API as much as possible (eg: fopen calls NtCreateFile on Windows builds, etc). Don't use wglSwapBuffers or d3d->Present. Instead write your own API wrapper that calls mySwap() then write an implementation of that wrapper interface for all target platforms/apis.
Keep game code generic and separate from system level functions. The game logic itself should just be an abstract concept that runs blind in RAM on ANY platform regardless of a keyboard or video card even being present, and changing the build target just implies providing a audio/video interfaces, input, file io, and memory manager. The MVC pattern is useful for this... I should be able to "play" your game through telnet if you make the appropriate interface and attach it to a running game instance.
With proper design beforehand, you should be able to implement the game itself not knowing what platform it's on. Then think about the interface you need to use to communicate with the game world and translate that to info the player needs, whether it's showing HP and object coordinates in a command prompt or feeding that info the a fancy HUD that renders on DX11. Decouple everything from the game itself.
Keep your file system structure clean. Multi platform game binaries in the root, platform independent content in a asset tree. Quake 3 runs on pretty much anything, you just need the correct binary/app/whatever but the q3abase tree is just copied off the CD as is whether it's for Windows or Android.
That said, what you want is not possible. You will have to, at a minimum, copy or run the appropriate binary from the install path. Realistically, even that is a stretch, as you have file systems to worry about. Lot of good not having to reinstall the Windows version of the game does when it's sitting on a ext partition and Windows can't even access it.