为了确保安装人作为管理人运行,我建议举这个少的例子:
Outfile RequireAdmin.exe
RequestExecutionLevel admin ;Require admin rights on NT6+ (When UAC is turned on)
!include LogicLib.nsh
Function .onInit
UserInfo::GetAccountType
pop $0
${If} $0 != "admin" ;Require admin rights on NT4+
MessageBox mb_iconstop "Administrator rights required!"
SetErrorLevel 740 ;ERROR_ELEVATION_REQUIRED
Quit
${EndIf}
FunctionEnd
Page InstFile
Section
SectionEnd
安装的应用软件如果总是需要作为行政操作,就应当采取类似步骤,供Win32的配料:
如果采用“自动管理者”的方式,你就意味着绕过电梯的电梯,那么实际上不可能做到,电算中心的整个点就是允许用户确认/认可特许操作! 一些申请通过安装一个以申请名义开展任何业务的非关税壁垒服务而获得。 我不建议这样做,因为它填补了用户的机器,如果服务没有正确编码,就会削弱系统的安全。
If you did not write the application you are installing then your options are a bit more limited. If the application does not have a manifest at all you could use a external (myapp.exe.manifest
)
manifest.
在上诉委员会的关键下设置RUNASADMIN,实际上并不是安装人应当做的事,这些兼容性选择应当由用户而不是用户控制。
该论坛把你与你联系在一起,并告诉你们:2;, 设置/code>,短期旗帜,这不会确保申请在一切情况下都不会启动。