coapp/toolkit — Issue #24: Two registry compositions needed for one key for 32 bit software
Author: ericschultz
Created: 2011-11-12 21:18:42+00:00
State: open
Labels: Request

Consider the following situation:
- A piece of 32-bit software expects a key to be in a certain place. Example:
`HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\VersionMinimum\AssemblyFoldersEx\MyAssemblies`

- On 64-bit Windows, the Composition Rule code in the engine uses the 64-bit version of the registry for adding registry keys. Therefore the key will be added at the same place.

- While the 32-bit software looks for `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\VersionMinimum\AssemblyFoldersEx\MyAssemblies`, in reality it's ACTUALLY looking at:
`HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\VersionMinimum\AssemblyFoldersEx\MyAssemblies`.

- To a 32-bit application running on 64 bit Windows, the composition rule does not put the registry key in the proper place. Therefore we need a second composition rule setting `HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\VersionMinimum\AssemblyFoldersEx\MyAssemblies`

- In this case, the 32-bit version of Windows will get a registry key set at `HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\VersionMinimum\AssemblyFoldersEx\MyAssemblies` even though it has no need for this.

Is this situation a problem? Is there a better, less annoying solution?