I'm using installshield 2010 express edition to make setup file of win32 application.
I have some problem to register some registry keys.
I configured the installshield
project(.ise) to register two registry entry like below.
HKCU\Software\ProgName\SomeKeys
]HKLM\Software\ProgName\SomeKeys
]When I install this setup on a x64 machine, the HK key writes to the Wow6432Node
[HKLM\Software\Wow6432Node\ProgName\SomeKeys
]. It's just what i want.
BUT HKCU does not write anything to the Wow6432Node
.
It write on [HKCU\Software\ProgName\SomeKeys
] not [HKCU\Software\Wow6432Node\ProgName\SomeKeys
].
Why this problem occurred.
Please give me any advices. Thank you
This is working correctly, by design on Microsoft's part. Please read the MSDN documentation:
Redirected keys are mapped to physical locations under
Wow6432Node
.
Registry Keys Affected by WOW64
Under WOW64, certain registry keys are redirected. When a 32-bit or 64-bit application makes a registry call for a redirected key, the registry redirector intercepts the call and maps it to the key's corresponding physical registry location. For more information, see Registry Redirector.
Other registry keys are shared by both 32-bit and 64-bit applications on 64-bit Windows. 32-bit registry calls to shared keys are not redirected. Instead, one physical copy of the key is mapped into each logical view of the registry.
User-defined subkeys underneath HKCU\Software
are shared, so there is no Wow6432Node
subkey for them.
User-defined keys underneath HKLM\Software
are redirected, so there is a Wow6432Node
subkey for them.