Why does x86 WiX installer on Vista x64 not write keys to WOW6432Node in the registry

Posted by Ryan Conrad on Stack Overflow See other posts from Stack Overflow or by Ryan Conrad
Published on 2010-05-29T03:05:28Z Indexed on 2010/05/29 3:12 UTC
Read the original article Hit count: 415

Filed under:
|
|
|
|

I have an installer that writes to HKLM\Software\DroidExplorer\InstallPath. On any x86 machine it writes just fine to the expected location, on Windows XP x64 and Windows 7 x64 it also writes to the expected location, which is actually HKLM\Software\WOW6432Node\DroidExplorer\InstallPath.

Later on during the install, my bootstrapper, which is also x86, attempts to read the value. On all x86 Windows machines it is successful, and on Windows XP x64 and Windows 7 x64, but Windows Vista x64 is unable to locate the key. If I look in the registry, it doesn't actually write it to WOW6432Node on Vista, it writes it to Software\DroidExplorer\InstallPath

If I do not forcefully tell the installer to write to WOW6432Node, it writes the value to Software\DroidExplorer\InstallPath, but the bootstrapper still trys to look in WOW6432Node because of the Registry Reflection. This is on all x64 systems.

Why is Vista x64 the only one I have this issue with? Is there a way around this?

© Stack Overflow or respective owner

Related posts about c#

Related posts about windows-vista