PDA

View Full Version : Setup Requirements -> Requirements -> Administrative Rights



NewsArchive
04-14-2011, 12:58 AM
What is the difference between

(1) Setup Requirements -> Requirements -> Administrative Rights

and

(2) Project > Settings > Generator -> Execution Level -> require
Administrator

The documentation on this isn't clear to me.

My programs uses (2) and needs to make changes to HKEY_LOCAL_MACHINE

Those changes seem NOT to be made on some Windows 7 computers.

Thank you
Mike

NewsArchive
04-14-2011, 01:00 AM
Mike,

I "think" (1) is a holdever from the pre-Vista era. It won't let the setup
project run unless you're running as an administrator (which, for Vista and
later, would mean an administrator running elevated). This is something SB
enforces.

(2) is in the Vista+ era and tells the system and User Account Control that
this program is going to be modifying restricted areas. UAC is enforced by
Windows, not by SB. (2) won't have any effect on XP and earlier machines.

If you think your changes aren't being made to the registry, I'll wager a
Heinekens that you're looking in the wrong place on 64-bit machines.
(Similar to the thread you started on 2/23?)

If you've downloaded the "Learning Setupbuilder Part I" file (now available
within the IDE - see my post a few minutes ago to Glenn), check out the
64-bit registry gotcha topic.

(Actually, I'll waste the bandwidth and paste a screen shot below).

If for some reason you NEED to write to the 64-bit portions of the registry,
check out this thread:
http://www.lindersoft.com/forums/showthread.php?t=31326

Jane

NewsArchive
04-14-2011, 01:01 AM
Thank you Jane

I just don't get it.

Using the SetupBuilder Visualizer item Installation Details -> Registry
how do I tell it I want to write to the non-64bit location?

It seems to me if there are different sections SetupBuilder would have a way
to specify which registry section to write to,

Thanks,

Mike

NewsArchive
04-14-2011, 01:14 AM
Mike,

You may be overthinking this.

Assume:
1. Your installer is configured as 32-bit (not 64-bit and not "hybrid")
2. Your application is compiled as 32-bit

Just use SB's normal registry read and write functions. And be happy.

Windows will direct those to the HKLM\SOFTWARE\Wow6432Node\MyCompany\yada
folder automatically.
Read and write to the registry as normal from your 32-bit Clarion app (or
any other 32-bit app). Windows will direct those to the same place.

But if you actually want to use Regedit.exe to view or modify the entries on
a 64-bit machine, then you'll need to navigate to the Wow6432Node.

If you really need to read/write the 64-bit areas of the registry
(installing a 64-bit instance of SQL is one possibility), then use the trick
Friedrich demonstrated in the link contained in my prior post.

Jane

NewsArchive
04-14-2011, 01:15 AM
Yes...that is what I thought.

I run the insaller as administrator and assume it places the entries in
HKEY_LOCAL_MACHINE

When I then run my 32 bit program the entries are not there.

My next step will be to GoToMeeting on my users machine and watch
SetupBuilder run.

Michael Brooks

NewsArchive
04-14-2011, 01:15 AM
It appears that all I need to do is add a registry level WOW6432Node to my
registry spec...correct?

Michael Brooks

NewsArchive
04-14-2011, 01:16 AM
I retract my prior

My question is still "How can I get SetupBuilder to write to the 32bit
registry location"

THx,

M

NewsArchive
04-14-2011, 01:16 AM
Mike,

>I retract my prior
>
> My question is still "How can I get SetupBuilder to write to the 32bit
> registry location"

Exactly what Jane said. If your installer is running in 32-bit mode (the
default) and the user has admin rights (on NT/2000/XP/2003) -or- has
administrator execution level privileges (on Vista/2008/Win7/2008R2) then
the installer automatically writes to the 32-bit registry branch of 64-bit
operating systems.

Friedrich