This is the mail archive of the
mailing list for the Cygwin project.
Re: Baffled: is it Cygwin (64-bits) or Windows that causes the invocation of regedit (from bash) to fail?
- From: "Houder" <houder at xs4all dot nl>
- To: cygwin at cygwin dot com
- Date: Mon, 12 May 2014 19:13:12 +0200
- Subject: Re: Baffled: is it Cygwin (64-bits) or Windows that causes the invocation of regedit (from bash) to fail?
- Authentication-results: sourceware.org; auth=none
- References: <849f1f5420ebf77d7a591d6c9b6bfa4b dot squirrel at webmail dot xs4all dot nl> <536E339A dot 6030200 at breisch dot org> <6f9d939cc604437def11828435a67f96 dot squirrel at webmail dot xs4all dot nl> <20140512125054 dot GC2436 at calimero dot vinschen dot de>
Thank you for sharing your expert knowledge!
>> Consequently, I decided to investigate why I got the denial (64-bits Cygwin) at my end.
>> First of all, some more info about my "environment":
>> - I am using Cygwin from Windows 7 ...
>> - I am using Cygwin from an administrative account ...
>> - furthermore, using secpol.msc, I have set the ConsentPromptBehaviorAdmin field in
>> HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System (key in registry)
>> to zero, meaning 'elevate without prompting'
> Doesn't matter. The problem is that elevating is a special procedure,
> requiring a special form of ShellExecuteEx function, which doesn't
> integrate well with the requirements of POSIX fork/exec. Therefore
> Cygwin never calls ShellExecuteEx to fork/exec an application, rather it
> calls CreateProcess/CreateProcessAsUser, both of which don't provide a
> way to elevate a process. Therefore, to elevate a process from a Cygwin
> shell, the shell must already run elevated (e.g., right click on "Cygwin
> Terminal" -> "Run as Administrator...").
> What's really annoying: RegEdit's mainfest does not request "asAdmin"
> rights. Rather it only requests "MaximumAllowed". One would think this
> means that a CreateProcess call would simply continue with the current
> permissions of the user. Not so, unfortunately.
Interesting! I can assure you that I am UNfamiliar grounds here :-)
But how do you explain, that I can invoke regedit from 32-bits Cygwin, using
an UNelevated bash?
(both /drv/c/Windows/regedit and /drv/c/Windows/SysWOW64/regedit)
(Sorry, I will look into that myself :-)
The values of the fields are currently:
1. ConsentPromptBehaviorAdmin 0x0
2. ConsentPromptBehaviorUser 0x1
3. EnableInstallerDetection 0x1
4. EnableLUA 0x1
5. EnableSecureUIAPaths 0x1
6. EnableUIADesktopToggle 0x0
7. EnableVirtualization 0x0
8. PromptOnSecureDesktop 0x1
9. ValidateAdminCodeSignatures 0x0
10. FilterAdministratorToken 0x0
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple