cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
bbrriijj
Level 3

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.
Labels (1)
0 Kudos
(4) Replies
MichaelU
Level 12 Flexeran
Level 12 Flexeran

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.
0 Kudos
bbrriijj
Level 3

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.
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

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.
0 Kudos
bbrriijj
Level 3

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.
0 Kudos