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
- :
- Question about required execution level
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
‎Aug 08, 2011
06:28 AM
Question about required execution level
I have a pure Installscript project. In the release tab, under setup.exe, I am setting the Required Execution Level to Administrator.
In this install, I am creating several registry keys, all of them under the Wow6432Node (32-bit part of the registry).
The machine below has UAC enabled.
When I run the installer on a Windows 2008R2 machine, by right-mouse-clicking setup.exe and selecting Run as Administrator, the install goes through and creates all the required entries under the 32-bit part of the HKLM\Software registry.
However, when I just double click on setup.exe, I am prompted by the UAC. When agreeing to grant permissions, the install goes through. However, the registry entries are partially created under the 32-bit part of the HKLM\Software registry and the partially under the 64-bit part of the registry.
I was under the impression that by setting required execution level to "Administrator", the install should behave the same way irrespective of the way it is launched (either by RMC -> Run as administrator) or double clicked and agreeing to the UAC prompt.
Am I missing something here?
Is this something that anyone else has seen? Or maybe someone has some idea?
Thanks for your help.
In this install, I am creating several registry keys, all of them under the Wow6432Node (32-bit part of the registry).
The machine below has UAC enabled.
When I run the installer on a Windows 2008R2 machine, by right-mouse-clicking setup.exe and selecting Run as Administrator, the install goes through and creates all the required entries under the 32-bit part of the HKLM\Software registry.
However, when I just double click on setup.exe, I am prompted by the UAC. When agreeing to grant permissions, the install goes through. However, the registry entries are partially created under the 32-bit part of the HKLM\Software registry and the partially under the 64-bit part of the registry.
I was under the impression that by setting required execution level to "Administrator", the install should behave the same way irrespective of the way it is launched (either by RMC -> Run as administrator) or double clicked and agreeing to the UAC prompt.
Am I missing something here?
Is this something that anyone else has seen? Or maybe someone has some idea?
Thanks for your help.
(4) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Aug 08, 2011
03:20 PM
If they are fully available under the 32-bit area, and then also partially available under the 64-bit area, I would suspect Registry Reflection.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Aug 09, 2011
02:21 AM
Unfortunately, that is not the case. The registry keys are partially created in both the 32- and 64-bit areas. There are no duplicate keys in either area.
I used Visual Studio to check the embedded manifest of setup.exe and it looks perfect.
I used Visual Studio to check the embedded manifest of setup.exe and it looks perfect.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Aug 09, 2011
03:29 PM
Huh. Is there anything common to the keys that mysteriously end up in the non-WOW6432Node areas? For example, do they share a source? The three common sources of registry keys I can think of are: registry view, InstallScript registry API calls, and self-registration. The behavior of the InstallScript registry API calls can be modified by changes to the global REGDB_OPTIONS, and thus could be reflect different changes to this global if other code conditions on whether it's elevated.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Aug 19, 2011
12:04 AM
Well. It turns out that there was one point where one of the developers was setting the REGDB_OPTIONS in a wrong way. He had the | and the ~ reversed. I changed it and all is well now.
Thanks for your time and replies Mike.
Thanks for your time and replies Mike.