This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Registry Reflection Question
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 09, 2010
09:43 AM
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!
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!
(3) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 09, 2010
12:51 PM
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.
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.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 09, 2010
12:58 PM
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. ??
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. ??
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 09, 2010
01:45 PM
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.