【问题标题】:How do I open a file as an admin using NSIS如何使用 NSIS 以管理员身份打开文件
【发布时间】:2012-06-01 02:40:47
【问题描述】:

我正在使用安装程序脚本 nsis 打开一个文件,我需要以管理员身份打开它才能正常运行,但我似乎不知道如何执行此操作。

目前我的开放代码如下所示:

FileOpen $4 "$R0" w
FileRead $4 $1
FileClose $4

它会打开它,但作为普通用户,我需要它作为管理员。有没有办法做到这一点??提前感谢您的帮助!

【问题讨论】:

    标签: installation admin nsis


    【解决方案1】:

    您无法在普通应用程序中以其他用户身份打开文件。如果您需要这种电源,整个安装人员可能需要to run elevated

    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
    

    【讨论】:

    • 确实如此:一个进程在其整个生命周期中只有一个安全令牌。所以一个进程要么有管理员权限,要么没有。
    • 我试图获得与右键单击文件并选择以管理员身份运行相同的效果。
    猜你喜欢
    • 2017-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-19
    • 2022-12-03
    • 2010-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多