128
74
Is there any way that I can force a program that normally requires administrator privileges (via UAC) to run without them? (ie: no UAC prompt and no system-wide access.)
Added: Without modifying the executable itself.
In spite of James's answer, I have found a few ways that it can almost be done:
- By modifying the executable I can remove the
trustInfo
entry from the manifest (or the manifest entirely, so I can use an external one), allowing the program to start without UAC. Unfortunately this modifies the executable, so it exits shortly after due to an internal checksum test. - By using Process Explorer I can launch it as a Limited User. However this seems to limit it significantly more than I would like (it runs like Protected Mode IE and so can access significantly less than what my standard un-elevated user can).
Aside from running via Process Explorer GUI, it's possible to run with
psexec.exe -l
. Sometimes it's better because it requires less manual actions. Still it will limit the process beyond "user" group permissions, as with process explorer's Run as Limited User. – LogicDaemon – 2015-03-29T09:59:46.843If a program has no manifest and refuses to run with no admin privileges, it is most likely due to UAC Installer Detection. I posted this question and misha256 has a good solution. I tested it and I can confirm that it works. https://superuser.com/questions/857616/how-to-disable-installer-detection-feature-of-uac-in-windows-7-home-premium?lq=1 I did some research and I found that there is no reason for Installer Detection to exist. Note that if the admin privileges are due to a trustinfo entry in a manifest, obviously this will not work.
– user1258361 – 2014-12-29T00:28:51.9871You specify not modifying the executable, yet modifying the .exe is one of your attempted ways? – cutrightjm – 2012-04-20T04:39:26.950
3@ekaj I only specified that after I found out that it wouldn't work ;) – Andrew Russell – 2012-04-21T15:29:41.460
Could you maybe specify the program, even if you don't use it anymore? That might help people to know what it is trying to access that requires admin privileges – cutrightjm – 2012-04-21T16:45:10.380
@ekaj Unfortunately not. However it's not especially relevant: UAC is triggered by a program asking for elevation during process creation (the usual way - as in this case - is with a manifest). Once a process is started, it cannot change its elevation status - no matter what restricted resources it tries to access. – Andrew Russell – 2012-04-22T04:59:32.370