zoukankan      html  css  js  c++  java
  • 【转】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)。

  • 相关阅读:
    如何实现浏览器内多个标签页之间的通信?
    vue组件库的基本开发步骤(源代码)
    vue组件库的基本开发步骤
    Websocket原理
    TCP和UDP的区别
    一句话概括 tcp三次握手
    简单说一下你对http和https的理解
    .Ajax(async异步与sync同步)
    get和post请求方式的区别
    面试易忽略状态码
  • 原文地址:https://www.cnblogs.com/mrliuc/p/2983868.html
Copyright © 2011-2022 走看看