但其实并不像听起来那么愚蠢 ;)
我有一个第三方应用程序,但我没有源代码。官方支持 XP 及更高版本 - 但更高版本必须关闭 UAC。我不想要。
现在,我了解程序员,如果工作量不是太大,他们愿意做出改变,我可以告诉他们需要做什么。
我知道启动多个可执行文件的应用程序在启动时没有提升权限,无法获得网络连接 - 但似乎没有开放的端口在 loer 范围内(根据 netstat -b
是否有任何指南可以帮助找出应用程序需要提升权限的原因?该应用程序对业务至关重要 - 并且这目前破坏了安全性,因为用户必须是本地管理员。如果有人有想法 - 一旦我找到原因,我肯定可以让供应商实施更改。
答案1
根据其中一条评论,最好的选择可能是使用 Sysinternals 的进程监视器来查看正在尝试的操作以及由于 UAC 而失败的操作。
下载进程监视器http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx
运行进程监视器,运行你的损坏的、过时的、编码错误的应用程序,转到进程监视器>过滤器> if Process Name is <borkedapp> then Include
,if Result is Success then Exclude
它应该会给你几千个条目来扫描失败的位。
或者,下面链接有一个工具(我还没有尝试过)可以帮助您比较进程监视器跟踪,以便您可以以标准用户身份运行跟踪,并以提升用户身份运行另一个跟踪,然后对它们进行比较。
http://forum.sysinternals.com/tool-for-comparing-procmon-traces_topic28870.html
答案2
除了 Blue 的答案之外,还有一些用于将应用程序迁移到 Windows 7 的工具。即使您的应用程序声称它与 Windows 7 兼容,通过此铃声运行它会告诉您在 UAC 开启的情况下应用程序正常运行所需的条件。您甚至可以创建一个“垫片”,在您的应用程序运行时修改某些设置。我相信这个工具叫做标准用户分析器http://technet.microsoft.com/en-us/library/cc766021(v=ws.10).aspx。
我还要补充一点,很多时候可以通过授予适当的权限来避免提升权限,即授予用户对 C:\Program Files\ 文件夹及其子文件夹的修改权限。