有没有办法让我的.exe文件以管理员权限而不是我来执行 杀死注册表中的LUA或右键单击文件并以管理员身份运行?
当我更改注册表时,它会提示用户我不想要的内容。我只是添加文件来杀死LUA,以授予用户执行我的.exe文件的完整权限。
如果我可以让它以管理员身份执行,它将节省我编辑注册表。我找不到该应用程序的源代码。它在Delphi中编码,因此添加任何内容都是一个问题,而.reg文件需要在Windows Vista上运行.exe文件。
如何解决此问题?
答案 0 :(得分:6)
你做不到。如果你能做到这一点,那么任何exe都可能会这样做,这会破坏UAC的目的(假设arguendo你认为UAC有一个目的)。您可以manifest your exe要求管理员权限,但这不会停止用户提示。
答案 1 :(得分:3)
有两种正确的方法可以做到这一点:
如前所述,将您的exe标记为需要提升权限 - 启动程序时会提示用户,需要管理员权限和用户确认。
创建一个以LocalSystem身份运行的服务,允许在不提示用户的情况下执行任何操作。在这种情况下,您必须实现服务的进程间通信机制,以便与用户UI程序进行通信,这可能并不简单。对于这种情况,您的程序必须由管理员安装,但之后可能被任何人使用 - 这在公司方案中很常见。
一般来说,Vista兼容性可能并不容易实现,取决于您的软件可能需要大量工作。
答案 2 :(得分:0)
答案 3 :(得分:0)
如果您只是想避免右键单击并以管理员身份运行,则可以将exe重命名为xyzSetup.exe。
(希望)你无法绕过提示,否则任何人都可以做到。
答案 4 :(得分:0)
如果您只是想避免重复提示并且不介意被要求输入密码或权限,则可以使用带有/ savecred选项的runas。
答案 5 :(得分:0)