Is it even possible?
First of all, I really like UAC and I think it is big step forward. I got it enabled on my developer PC…
But there are few programs that I run pretty often and UAC can be quite problematic – for example Regedit or MMC. I always run at least 2 programs with highest priorities (Total Commander and CMD session), usually under different account (with higher priorities).
Problem with UAC is that there is no exclusion list… So yesterday I decided it is time to find some workaround.
Result is first version of Elevator – program that will add new Elevate me entry to context menu.
Using this you can bypass UAC without disabling it.
To show you example, MMC always require admin privileges and you must also click that you want to run that program (sorry for no video – got some problems with my web cam).
How does it work?
Few days ago I tried to run some scheduled task that required admin privileges. After some investigation I found out that you can specify that scheduled task can run using highest privileges:
These scheduled tasks don’t prompt you with UAC. First idea that came to my mind was – OK, so if scheduled task runs on demand, then it should in fact disable UAC for specific program? I tried it and it worked… So for some time I was using on demand scheduled tasks – for example instead of running MMC I run Schtasks /Run /TN “Elevated\MMC”.
This was working fine – problem was that you needed to prepare your tasks. So I started to think about some general parser – something universal, easy to implement and use etc.
So I came with idea of two executables – first will prepare “configuration” (what to run etc.) and second will parse this configuration (but from scheduled task).
I tried this concept – Elevate me context menu points to ElevateRunner, ElevateRunner creates configuration in ElevateThis and then runs scheduled task called Elevator that will parse through this folder and run anything in it. Quite advantage is that neither ElevateRunner nor Elevater needs to run – they are not residents programs and they dont monitor something, so they are pretty quick and perform well (whole installation is about 36k).
Concept is definitely not the best, but it works at least for me and compared to ACT solutions it works for every program. This is definitely not solution for normal end users.
If you will decide that you give it a try, let me know if it works for you… I always love to get some feedback (maybe I will change my utilities to feedbackware ;)).
UPDATE: David Phillippo pointed out there was error during installation (hardcoded path was not only in template, but also in reg files). When I tried to fix this, I accidentaly rewrote whole installation script – so there is no need to modify now anything. Just unpack, run install and new context menu should appear. Please dont forget however that you must run Install.cmd in elevated mode!
- Download and unpack SkipUAC.zip to any location.
- Run Install.cmd – YOU MUST RUN IT ELEVATED! This is final step. Now you should have Elevate me in context menu for all executables and it should work fine.
Uninstallation is pretty easy – simply run Uninstall.cmd script and then you can delete whole folder.
Be aware that this is pre-alpha version, only proof of concept that it can be done. Because I try to share as much as possible, I will also provide you with elevator:
UPDATE: New version uploaded – it now works for all files, not only exes. If you want to specify some shortcut to always run elevated, check following blog post.