In the case where you explicitly need to read a value written by a 32 bit program in a 64 bit program, it’s OK to hard code it. Simply because there really is no other option.
I would of course abstract it out to a helper function. For example :
private static RegistryKey GetSoftwareRoot()
{
var path = IntPtr.Size == 8
? @"Software\Wow6432Node"
: @"Software";
return Registry.LocalMachine.OpenSubKey(path);
}