NSIS 指令

588 阅读2分钟
  • $TEMP 是一个系统环境变量,它表示当前用户的临时文件夹路径。

    NSIS自带的变量

  • $INSTDIR 一个NSIS特定的变量,它表示安装程序的目标文件夹路径。

    NSIS自带的变量 ; 此变量是用户选择的安装文件的路径 ;

  • $DESKTOP是一个特殊的NSIS变量,它代表用户的桌面路径。

  • Function .onInit : 用于在安装程序初始化阶段设置一些操作,安装时会自动先调用此函数。

    Function .onInit
            ; 设置输出路径为系统的临时文件夹($TEMP)
            SetOutPath $TEMP
                    ; 将指定的文件或文件夹复制到输出路径   将运行的.nsi配置文件当前目录中同级的aaa文件复制到$TEMP路径下
                    File /r "aaa"
    FunctionEnd
    
  • SetOutPath : 是NSIS中的一个命令,设置安装程序的输出路径。

    此命令可设置多次,每次使用SetOutPath命令时,它会覆盖之前设置的输出路径。

    SetOutPath $TEMP
    SetOutPath "C:\Program Files\"
    SetOutPath  "$INSTDIR"
    
  • "SetOverwrite"命令是NSIS脚本中的一个命令,用于设置文件的覆盖行为。当设置为"SetOverwrite on"时,表示允许文件覆盖。也就是说,如果安装程序中已经存在同名的文件,新文件将覆盖旧文件。

    • on
    • ifnewer
  • File 命令用于将文件添加到路径下,一般和SetOutPath指令一起使用

    SetOutPath $TEMP
        File "32acbc60-8536-4653-8a4a-9f6838f5a497"
    
    • File /r : "/r"代表递归,将指定的文件夹及其子文件夹中的所有文件都添加到安装程序中。
  • RMDir(NSIS)中的一个命令,用于删除目录。它允许你在安装过程中删除指定的目录。

  • WriteRegStr(NSIS)中的一个命令,用于在Windows注册表中写入一个字符串值。它允许你在安装过程中修改或创建注册表项,并将指定的字符串值写入到该项中。

  • DeleteRegKey是NSIS脚本中的一个命令,用于删除注册表中的一个键。

  • WriteUninstaller是Nullsoft脚本安装系统(NSIS)中的一个命令,用于在安装过程中创建卸载程序。它允许你在安装过程中创建一个用于卸载你的应用程序的可执行文件。

    WriteUninstaller "Uninstall.exe"
    
  • "Function"用于定义一个函数。函数是一段可重复使用的代码块,可以在脚本的任何地方被调用。

    Function DelLnk
        ; 删除某个文件
        ExecWait 'cmd /c del "xxxx"'
    FunctionEnd
    
    ; 调用函数
    Call DelLnk
    
  • "ExecWait"命令是NSIS脚本中的一个命令,用于执行外部程序并等待其执行完成。这个命令通常用于安装程序需要执行一些额外的操作或运行其他程序的情况,比如运行一个外部的安装程序、注册DLL文件、执行命令行脚本等。通过使用"ExecWait"命令,可以确保安装程序在执行完外部程序后再继续进行,避免并发执行可能导致的问题。