cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Superfreak3
Level 11

Registry Reflection Question

I have a few questions regarding a component's disable registry reflection setting.

This is, again, an offshoot of the 32/64 bit installs from one template thread, but here goes...

When I compile the 64 bit installer, the template summary property is set to x64;1033 in the release configuration.

I have a registry entry component that writes to HKLM\Software\OurCo\OurProduct\InstallPath value. Registry Reflection is NOT disabled so I would expect this to appear in both the key value mentioned and in HKLM\Software\Wow6432Node as well, but this is not the case. It only ends up in the later, 32 bit hive.

My first thought was that the template summary property wasn't being grabbed or set correctly in the release configuration, but I can't run this 64 bit package on a 32 bit system, so I'm guessing that's OK.

Am I missing something with regard to Registry Reflection? If not disabled, should I see key values mirrored in both hives?

Any further explanation, tips would be greatly appreciated!
Labels (1)
0 Kudos
(3) Replies
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

From my understanding, only certain registry keys are reflected prior to Window 7/2008 R2 (these versions no longer use reflection). Looking through the keys listed in the following MSDN article, the key that you are trying to create probably wouldn't be reflected automatically anyway (the closest match is HKLM\Software, which is always redirected for 32-bit applications):
Registry Keys Affected by WOW64

The simplest solution to this would be to include a 32-bit component in your setup that writes the same registry key as your 64-bit component. Since the component is 32-bit, the key should be written to HKLM\Software\Wow6432Node.
0 Kudos
Superfreak3
Level 11

Ah, that might be it. I forgot to make the registry component 64 bit. My install is set up in the following features...

Server
ServerX64
Common.

My thinking was that since I want the same key written for both our 32 and 64 bit installs, I just tied it to the Common feature.

I guess I should put a component in the Server and ServerX64 features.

Thanks for turning that light on for me (if what I'm saying and now thinking is correct)!......

Well, I made a 64 bit registry component with reflection enabled and the value only appeared in the 64 bit hive. Since my Custom Action widget that runs at the end of our install and accesses the key value in question, I guess I could go with the registry component tied to the Common Folder and have it marked as a 32 bit component. ??
0 Kudos
Superfreak3
Level 11

joshstechnij wrote:
The simplest solution to this would be to include a 32-bit component in your setup that writes the same registry key as your 64-bit component. Since the component is 32-bit, the key should be written to HKLM\Software\Wow6432Node.


Ah yes, I guess I could do something like that too. I could just leave the 32 bit component registry key tied to the common feature and just add another 64 bit component that would write the key to the 64 bit hive.
0 Kudos