我有一个开发得很差的软件,需要管理员权限才能运行。这是因为它更改了“c:\program files\app 目录”下的一些全局文件。我可以授予所有用户写入此目录的权限,但我不想让他们安装其他软件并更改 Windows 选项等。
是否有可能误导该应用程序让其相信它正在以管理员身份运行?
答案1
您可以使用 RunAsSpc 应用程序。它可以做你想做的事。
答案2
Windows 7 上始终有一个默认隐藏/禁用的管理员帐户。
只需右键单击可执行文件并选择“以管理员身份运行”即可运行您的程序。
这应该可以解决你的问题。
答案3
Microsoft 应用程序兼容性工具包 (ACT) 可以修复此问题。无论你做什么,你都需要授予普通用户对 C:\Program Files\App Directory 的读/写访问权限,但此程序会在不需要时不正确地提示提升权限。
此链接提供了关于如何做到这一点的非常好的描述。简而言之:
- 从 Microsoft 下载 ACT
- 使用兼容性管理器创建一个新的应用程序修复程序,将其指向 .exe 的路径,然后选择 RunAsInvoker 兼容性标志。然后将文件保存到安全数据库 (.sdb) 文件中。
- 使用
sdbinst
命令安装 .sdb 文件。这会将应用程序列入白名单并阻止出现 UAC 提示。
请注意,如果应用程序除了写入 C:\Program Files (x86) 之外还执行任何类似管理员的操作(例如,修改 HKLM 下的注册表项),您也需要向非特权用户授予对这些文件的读/写访问权限。