![如何在 Windows 7 Home Premium 中禁用 UAC 的“安装程序检测”功能?](https://linux22.com/image/1435298/%E5%A6%82%E4%BD%95%E5%9C%A8%20Windows%207%20Home%20Premium%20%E4%B8%AD%E7%A6%81%E7%94%A8%20UAC%20%E7%9A%84%E2%80%9C%E5%AE%89%E8%A3%85%E7%A8%8B%E5%BA%8F%E6%A3%80%E6%B5%8B%E2%80%9D%E5%8A%9F%E8%83%BD%EF%BC%9F.png)
这是我之前的问题的后续: 如何在 Windows 7 中强制任何程序在没有管理员权限的情况下运行?
首先,我不知道为什么没有选项可以尝试运行任何没有权限的程序。如果它崩溃、抛出错误或退出,那么我可能会授予它管理员权限。
我正在寻找一种 UNIX 风格的解决方案:如果我以“sudo”运行它,则授予它管理员权限。如果我没有在其前面加上“sudo”,则以正常权限运行它,并让它崩溃(如果它愿意的话)。
我更喜欢不需要第三方软件的解决方案。没有理由不将此选项包含在操作系统中,除非负责设计 UAC 的人故意让 UAC 变得尽可能烦人和麻烦,导致沮丧的用户禁用 UAC 或使用管理员权限并批准每个权限提升请求。
我还没有找到关于如何强制任何程序至少尝试在正常/非提升模式下运行的好答案。
因此我做了进一步的研究并发现: http://technet.microsoft.com/en-us/library/cc709628%28v=ws.10%29.aspx
本文介绍了 UAC 中一个极其愚蠢的功能,称为“安装程序检测”。
以下是该文章的简短引述:
在创建 32 位进程之前,将检查以下属性以确定它是否是安装程序:
- 文件名包含“安装”、“设置”、“更新”等关键字。
- 以下版本控制资源字段中的关键字:供应商、公司名称、产品名称、文件描述、原始文件名、内部名称和导出名称。
- 可执行文件中嵌入的并行清单中的关键字。
- 可执行文件中链接的特定 StringTable 条目中的关键字。
- 可执行文件中链接的 RC 数据中的关键属性。
- 可执行文件中的目标字节序列。
(引言结束)
这有多愚蠢?因为程序的属性中包含一些关键字,所以我不能在正常模式下运行它?
所以我查找了有关如何禁用它的说明,但只有专业版和旗舰版的说明。我有家庭高级版。
如果几乎所有操作都需要管理员权限,那么 UAC 有什么意义呢?还不如只使用管理员和访客账户而没有中间账户的操作系统。
Windows XP 中的权限提升系统在各方面都更简单、更好。有没有办法让 Windows 7 中的权限像 Windows XP 一样工作?
另外,有人知道如何禁用安装程序检测吗?这是高级用户不需要承担的垃圾。
仅供参考:我在 Windows 7 安装上使用标准(非管理员)帐户进行所有测试。
答案1
如何配置 UAC
您需要查看组策略,您会喜欢它的。您可以启用/禁用特定的 UAC 功能。您可以禁用安装程序检测。您可以拒绝标准用户的提升请求。一切都在那里:
http://technet.microsoft.com/en-us/library/dd835564%28v=ws.10%29.aspx
如果您没有组策略编辑器
如果你没有 Win7 Pro/Ultimate,则需要直接编辑注册表。所有组策略设置都映射到注册表设置。
与所有 UAC 设置相关的注册表设置都列在上面引用的同一网页上(向右向下滚动)。此外,MS 还提供了组策略到注册表映射信息:
http://www.microsoft.com/en-us/download/details.aspx?id=25250
抓取名为WindowsServer2008R2andWindows7GroupPolicySettings.xlsx
所有 UAC 注册表设置均可在此处找到:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
以下是屏幕截图:
如果你不介意黑客攻击
如果您不喜欢编辑注册表,有些人已经想出了替代方案。谷歌搜索“Windows 7 Home Premium 组策略”。就我个人而言,我会直接编辑注册表。