zoukankan      html  css  js  c++  java
  • NSIS打包+管理员权限+多用户安装

    ; Author: Lilla (lilla@earthlink.net) 2003-06-13
    ; function IsUserAdmin uses plugin \NSIS\PlusgIns\UserInfo.dll
    ; This function
    is based upon code in \NSIS\Contrib\UserInfo\UserInfo.nsi
    ; This function was tested under NSIS
    2 beta 4 (latest CVS as of this writing).
    ;
    ; Usage:
    ; Call IsUserAdmin
    ; Pop $R0 ; at
    this point $R0 is "true" or "false"
    ;
    Function IsUserAdmin
    Push $R0
    Push $R1
    Push $R2

    ClearErrors
    UserInfo::GetName
    IfErrors Win9x
    Pop $R1
    UserInfo::GetAccountType
    Pop $R2

    StrCmp $R2
    "Admin" 0 Continue
    ; Observation: I
    get here when running Win98SE. (Lilla)
    ; The functions UserInfo.dll looks
    for are there on Win98 too,
    ; but just don
    't work. So UserInfo.dll, knowing that admin isn't required
    ; on Win98, returns admin anyway. (per kichik)
    ; MessageBox MB_OK
    'User "$R1" is in the Administrators group'
    StrCpy $R0
    "true"
    Goto Done

    Continue:
    ; You should still check
    for an empty string because the functions
    ; UserInfo.dll looks
    for may not be present on Windows 95. (per kichik)
    StrCmp $R2
    "" Win9x
    StrCpy $R0
    "false"
    ;MessageBox MB_OK
    'User "$R1" is in the "$R2" group'
    Goto Done

    Win9x:
    ; comment
    /message below is by UserInfo.nsi author:
    ; This one means you don
    't need to care about admin or
    ; not admin because Windows 9x doesn't either
    ;MessageBox MB_OK "Error! This DLL can't run under Windows 9x!"
    StrCpy $R0
    "true"

    Done:
    ;MessageBox MB_OK
    'User= "$R1" AccountType= "$R2" IsUserAdmin= "$R0"'

    Pop $R2
    Pop $R1
    Exch $R0
    FunctionEnd

    ;获取管理员权限
    RequestExecutionLevel none|user|highest|admin
    ;多用户安装
    ;使用SetShellVarContext all 将快捷方式创建到alluser的开始菜单中
    SetShellVarContext all

    NSIS 打包

    NSIS 打包 win7 中无法删除快捷方式



    返回导读目录,阅读更多随笔



    分割线,以下为博客签名:

    软件臭虫情未了
    • 编码一分钟
    • 测试十年功


    随笔如有错误或不恰当之处、为希望不误导他人,望大侠们给予批评指正。

  • 相关阅读:
    JavaMail
    Web的文件下载
    Web的文件上传
    Tcp 数据对象传输接口对象设计
    m个元素中选取n的组合
    PyQT Quick Start
    版本发布自动触发测试
    plantUML 实操
    Python 版本对比
    Some Python Tricks
  • 原文地址:https://www.cnblogs.com/08shiyan/p/2042099.html
Copyright © 2011-2022 走看看