我刚刚在 Vista 32 位上安装了一个程序,我认为它不需要管理员权限。它没有安装在系统目录中,其用途显然不需要任何特殊权限。但是,.exe 上有 UAC 保护,它在执行时立即要求我提升权限。
我愿意冒着风险让它利用我的用户帐户的权限做一些坏事,但不愿意冒着提升权限的风险。除了为它设置虚拟机(或下载源代码并自行编译)外,我还能做些什么吗?
(FWIW,有问题的程序是 Pencil - pencil.evolus.vn/en-US/Downloads/Application.aspx - 但我对一般答案比针对特定应用程序的答案更感兴趣)。
答案1
采取从一个回答类似的问题:
对于
requestedPrivilegeLevel="highestLevel"
清单中的所有应用,您可以使用微软的应用程序兼容性工具包使用 RunAsInvoker 修复程序来填充应用程序,这会强制应用程序使用标准用户令牌运行。有关如何使用应用程序兼容性工具包的更多信息...(片段)...一般说明。
答案2
对于此特定程序,您可以绕过 UAC 要求:
不要正常运行 Pencil,而是创建一个 的快捷方式evolus\pencil\xulrunner.exe
,然后添加--app ..\app\application.ini
到末尾,因此快捷方式是:
"C:\Program Files (x86)\Evolus\Pencil\xulrunner\xulrunner.exe" --app ..\app\application.ini
这将允许您正常运行 Pencil,无需 UAC。
来源:http://code.google.com/p/evoluspencil/issues/detail?id=275