NSIS 常用安装路径

$INSTDIR

安装目录 ($INSTDIR 可以使用 StrCpy、 ReadRegStr、 ReadINIStr 等等来更改。例如在 .onInit 函数里可以用来做高级的检测安装定位)。

注意在卸载程序代码里,$INSTDIR 为卸载程序所在的目录而不是在安装程序里所指定的目录。例如, 如果你把卸载程序放在 $WINDIR 里并且用户没有移动它,那么在卸载程序里 $INSTDIR 就等于 $WINDIR。如果你要把卸载程序放到另外的位置,那么你应该先把安装程序的 $INSTDIR 值写入注册表或者其它容易保存的地方,然后在卸载程序里读取该值并赋值给卸载程序里的 $INSTDIR。

$OUTDIR

当前输出目录 (通过 SetOutPath 或者通过 StrCpy、 ReadRegStr、 ReadINIStr 等等)

$CMDLINE

安装程序命令行。命令行的格式可以是下列之一:

  • "完整路径\安装程序.exe" 参数1 参数2 参数3
  • 安装程序.exe 参数1 参数2 参数3
  • 对于解析“参数”部分,参阅 GetParameters。如果在命令行里指定了 /D= (用来跳过安装路径的选择),那么 /D= 后面的参数将不会被保存在 $CMDLINE (前面的可以保存)。

$LANGUAGE

当前使用的语言标识符。例如,英语是 1033。你可以在 .onInit 里更改此变量。

常量通常用在 InstallDir 属性里。

需要注意的是一些新的常量并不是在所有的 OS 上都是正常的。例如, $CDBURN_AREA 仅在 Windows XP 及以上系统中才正常。 如果在 Windows 98 中使用,将会得到空值。除非特别提示,否则该常量都是在所有 OS 上有效的。

$PROGRAMFILES, $PROGRAMFILES32, $PROGRAMFILES64

程序文件目录 (通常为 C:\Program Files 但在运行时会检测)。在 Windows x64 操作系统中, $PROGRAMFILES 和 $PROGRAMFILES32 指向 C:\Program Files (x86) 同时 $PROGRAMFILES64 指向 C:\Program Files。当安装 64 位应用程序时,使用 $PROGRAMFILES64。

$COMMONFILES, $COMMONFILES32, $COMMONFILES64

公用文件目录。这是应用程序共享组件的目录 (通常为 C:\Program Files\Common Files 但在运行时会检测)。在 Windows x64 操作系统中, $COMMONFILES 和 $COMMONFILES32 指向 C:\Program Files (x86)\Common Files 同时 $COMMONFILES64 指向 C:\Program Files\Common Files。当安装 64 位应用程序时,使用 $COMMONFILES64。

$DESKTOP

Windows 桌面目录 (通常为 C:\Windows\Desktop 但在运行时会检测)。该常量的内容 (所有用户或者当前用户) 取决于 SetShellVarContext 设置。 默认为当前用户。

$EXEDIR

可执行安装程序运行时所在目录 (从技术上来说你可以修改改变量,但并不是一个好方法)。

$EXEFILE

可执行安装程序的基本名字。

$EXEPATH

可执行安装程序的完整路径。

${NSISDIR}

包含 NSIS 安装目录的符号定义标记。常用于在你想调用在 NSIS 目录下的资源时。图标、界面等等。

在 Windows 平台等于 makensis 所在的目录,而在其它平台则在编译时决定 (信息请看 INSTALL 文件)。你可以在编译前通过修改 NSISDIR 环境变量来改变默认的设置。更多信息请看 section 3.1.3

$WINDIR

Windows 目录 (通常为 C:\Windows 或者 C:\WinNT 但在运行时会检测)。

$SYSDIR

Windows 系统目录 (通常为 C:\Windows\System or C:\WinNT\System32 但在运行时会检测)。

$TEMP

系统临时目录 (通常为 C:\Windows\Temp 但在运行时会检测)。

$STARTMENU

开始菜单目录 (常用于添加一个开始菜单项,使用 CreateShortCut)。该常量的内容 (所有用户或者当前用户) 取决于 SetShellVarContext 设置。默认为当前用户。

$SMPROGRAMS

开始菜单程序目录 (当你想定位 $STARTMENU\程序 时可以使用它)。该常量的内容 (所有用户或者当前用户) 取决于 SetShellVarContext 设置。默认为当前用户。

$SMSTARTUP

开始菜单程序/启动 目录。该常量的内容 (所有用户或者当前用户) 取决于 SetShellVarContext 设置。默认为当前用户。

$QUICKLAUNCH

在 IE4 活动桌面及以上的快速启动目录。如果快速启动不可用,仅仅返回和 $TEMP 一样。

$DOCUMENTS

文档目录。一个当前用户典型的路径形如 C:\Documents and Settings\Foo\My Documents。该常量的内容 (所有用户或者当前用户) 取决于 SetShellVarContext 设置。默认为当前用户。

该常量在 Windows 95 且 Internet Explorer 4 没有安装时无效。

$SENDTO

该目录包含了“发送到”菜单快捷项。

$RECENT

该目录包含了指向用户最近文档的快捷方式。

$FAVORITES

该目录包含了指向用户网络收藏夹、文档等的快捷方式。该常量的内容 (所有用户或者当前用户) 取决于SetShellVarContext 设置。默认为当前用户。

该常量在 Windows 95 且 Internet Explorer 4 没有安装时无效。

$MUSIC

用户的音乐文件目录。该常量的内容 (所有用户或者当前用户) 取决于 SetShellVarContext 设置。默认为当前用户。

该常量仅在 Windows XP, ME 及以上有效。

$PICTURES

用户的图片文件目录。该常量的内容 (所有用户或者当前用户) 取决于 SetShellVarContext 设置。 默认为当前用户。

该常量仅在 Windows 2000, XP, ME 及以上有效。

$VIDEOS

用户的视频文件目录。该常量的内容 (所有用户或者当前用户) 取决于 SetShellVarContext 设置。 默认为当前用户。

该常量仅在 Windows XP, ME 及以上有效。

$NETHOOD

该目录包含了可能存在于我的网络位置、网上邻居文件夹的链接对象。

该常量在 Windows 95 且 Internet Explorer 4 和活动桌面没有安装时无效。

$FONTS

系统字体目录。

$TEMPLATES

文档模板目录。该常量的内容 (所有用户或者当前用户) 取决于 SetShellVarContext 设置。 默认为当前用户。

$APPDATA

应用程序数据目录。当前用户路径的检测需要 Internet Explorer 4 及以上。所有用户路径的检测需要 Internet Explorer 5 及以上。该常量的内容 (所有用户或者当前用户) 取决于 SetShellVarContext 设置。 默认为当前用户。

该常量在 Windows 95 且 Internet Explorer 4 和活动桌面没有安装时无效。

$LOCALAPPDATA

本机应用程序数据目录。

该常量仅在 Windows 2000 及以上有效。

$PRINTHOOD

该目录包含了可能存在于打印机文件夹的链接对象。

该常量在 Windows 95 和 Windows 98 上无效。

$INTERNET_CACHE

Internet Explorer 的临时文件目录。

该常量在 Windows 95 和 Windows NT 且 Internet Explorer 4 和活动桌面没有安装时无效。

$COOKIES

Internet Explorer 的 Cookies 目录。

该常量在 Windows 95 和 Windows NT 且 Internet Explorer 4 和活动桌面没有安装时无效。

$HISTORY

Internet Explorer 的历史记录目录。

该常量在 Windows 95 和 Windows NT 且 Internet Explorer 4 和活动桌面没有安装时无效。

$PROFILE

用户的个人配置目录。一个典型的路径如 C:\Documents and Settings\Foo

该常量仅在 Windows 2000 及以上有效。

$ADMINTOOLS

一个保存管理工具的目录。该常量的内容 (所有用户或者当前用户) 取决于 SetShellVarContext 设置。 默认为当前用户。

该常量仅在 Windows 2000, ME 及以上有效。

$RESOURCES

本地的资源目录保存了主题和其他 Windows 资源 (通常为 C:\Windows\Resources 但在运行时会检测)。

该常量仅在 Windows XP 及以上有效。

$RESOURCES_LOCALIZED

本地的资源目录保存了主题和其他 Windows 资源 (通常为 C:\Windows\Resources\1033 但在运行时会检测)。

该常量仅在 Windows XP 及以上有效。

$CDBURN_AREA

一个在烧录 CD 时储存文件的目录。

该常量仅在 Windows XP 及以上有效。

$HWNDPARENT

父窗口的十进制窗口句柄。

$PLUGINSDIR

该路径是一个临时目录,当第一次使用一个插件或一个调用 InitPluginsDir 时被创建。该文件夹当安装程序退出时会被自动删除。 这个文件夹的用意是用来保存给 InstallOptions 使用的 INI 文件、启动画面位图或其他插件运行需要的文件。

其它变量:
(每个文件名可以使用多次)
${__DATE__} 制作安装程序时的日期(YY-MM-DD).
${__TIME__} 制作安装程序时的时间,24时制,不能用于文件名.(HH:MM:SS)
${__TIMESTAMP__} 制作安装程序时的日期和时间,不能用于文件名.(YYYY年MM月DD日 HH:MM:SS)
${__FILE__}当前脚本名称

${__LINE__}当前行号
${__GLOBAL__}在全局范围内定义


$$

转义,用来表示 $。

$\r

用来表示一个回车 (\r)。

$\n

用来表示新的一行 (\n)。

$\t

用来表示一个 Tab (\t)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: NSIS (Nullsoft Scriptable Install System) 是一种用于创建 Windows 安装程序的脚本语言。它具有一组内置命令和参数,可用于定义安装程序的行为和外观。 PageCallbacks 是 NSIS 中的一种功能,可用于在安装程序向用户显示页面时执行自定义操作。例如,您可以使用 PageCallbacks 来更改页面的文本或标题,或者在用户点击按钮时执行特定的操作。 使用 PageCallbacks 时,您需要在安装脚本中使用特定的命令来定义回调函数,然后使用另一个命令将回调函数与页面关联。例如,要在页面显示时更改文本,您可以使用 `PageEx` 命令,并使用 `/onInit` 选项指定回调函数: ``` Function MyPageInit ${If} ${RunningX64} StrCpy $0 "This is the x64 version." ${Else} StrCpy $0 "This is the x86 version." ${EndIf} SetWindowText $0 FunctionEnd PageEx MyPage /onInit MyPageInit ``` 您还可以使用其他 PageCallbacks 命令,如 `/onShow` 和 `/onLeave`,来执行其他自定义操作。有关更多信息,请参阅 NSIS 官方文档或其他 NSIS 教程。 ### 回答2: NSIS(Nullsoft Scriptable Install System)是一个专业的安装制作工具,通过使用其自定义脚本语言,可以创建灵活且功能强大的安装程序。 在NSIS中,PageCallbacks是一种用于处理页面事件的机制。页面事件可以是用户在安装过程中与界面进行交互时触发的事件,比如点击“下一步”按钮、选择安装路径等操作。 通过PageCallbacks,我们可以在安装过程中根据需要进行一些自定义的操作。例如,可以在用户点击“下一步”按钮之前检查某些条件,如果条件不满足,可以显示一个错误提示,阻止用户继续安装。另外,还可以在用户完成某个页面的操作后,执行一些额外的任务,比如根据用户选择的安装路径,进行相关的配置操作。 NSIS提供了一些常用的PageCallbacks函数,如PageEx、PageDir、PageCustom等,通过这些函数可以注册页面事件的处理函数。在这些处理函数中,我们可以编写自定义的逻辑,根据需要进行一些操作。例如,在PageEx函数中可以处理用户点击“下一步”按钮的事件,在PageDir函数中可以处理用户选择安装路径的事件。 要使用PageCallbacks,我们首先需要在NSIS脚本中定义对应的页面,并为其注册相应的PageCallbacks函数。然后,通过编写处理函数来实现我们想要的功能。 总之,NSIS的PageCallbacks提供了一种灵活的方式来处理安装过程中的页面事件,并允许我们根据需要进行一些自定义的操作。通过合理使用PageCallbacks,可以提高安装程序的用户友好性和功能性。 ### 回答3: NSIS(Nullsoft Scriptable Install System)是一款用于创建Windows安装程序的脚本语言。在NSIS中,PageCallbacks是一种特殊的回调函数,用于在安装过程中的每个页面上触发特定的事件或操作。 PageCallbacks在NSIS中具有以下几个重要的用途: 1. 页面初始化:可以在页面加载时执行特定的初始化操作,例如设置页面标题、初始化界面元素或执行某些必要的检查等。 2. 页面显示:可以在页面显示时触发的回调函数中执行一些特定的操作。例如,在“Install”页面上可以进行安装相关的操作,或者在“Uninstall”页面上可以执行卸载相关的操作。 3. 页面跳转:通过PageCallbacks,可以根据特定的条件来决定页面之间的跳转。例如,在某个页面上进行条件判断,如果满足条件,则跳转到指定的页面,否则,可以继续停留在当前页面或者跳转到其他页面。 4. 用户交互:可以在PageCallbacks中捕获用户的输入或选择,并根据用户的操作来进行后续的操作。例如,在某个页面上显示一个选择框,根据用户的选择来执行相应的操作。 总之,通过使用NSIS的PageCallbacks,可以在安装程序的各个页面上添加自定义的操作和逻辑,以满足不同的需求。这些回调函数可以根据不同的事件来触发,并在用户操作时执行相应的操作,从而为开发人员提供了更大的灵活性和控制权。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值