首页 > 解决方案 > NSIS,不显示 uac 对话框

问题描述

程序安装后,程序运行时不能让uac对话框消失吗?

我可以授予管理员安装权限并让它在安装时自动运行吗?

标签: nsis

解决方案


你不能绕过 UAC,用户应该控制他们的计算机,这就是 UAC 的重点!如果您想进行需要管理员权限的机器范围的更改,则无法绕过它,用户必须至少使用 UAC 提升一次。

如果您希望安装的应用程序自动运行提升,那么您必须编写一个可以按需启动的自定义服务。当管理员启动未提升的应用程序时,应用程序必须启动您的服务并要求它启动提升的实例。然后,该服务必须CreateProcessAsUser使用链接的提升令牌进行调用。这对大多数开发人员来说太难了,大多数应用程序只需要接受这样一个事实,即它们必须在启动时显示 UAC 提示。


推荐阅读