NSIS常用 指令解释

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

NSIS 路径


$INSTDIR


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

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


$OUTDIR


当前输出路径 (通过 SetOutPath 设定或通过 StrCpy、ReadRegStr、ReadINIStr 等等)


$CMDLINE


安装程序的命令行输入。命令行的格式如下面之一所示:

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


$LANGUAGE


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

4.2.3 常量


常量通常用在 InstallDir 属性里。

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


$PROGRAMFILES



程序文件目录(通常为 C:\Program Files 但是运行时会检测)。


$COMMONFILES



公用文件目录。这是应用程序共享组件的目录(通常为 C:\Program Files\Common Files 但是运行时会检测)。


$DESKTOP


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


$EXEDIR


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


${NSISDIR}


包含 NSIS 安装目录的一个标记。在编译时会检测到。常用于在你想调用一个在 NSIS 目录下的资源时,例如:图标、界面……


$WINDIR


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


$SYSDIR


Windows 系统目录(通常为 C:\windows\system 或 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 文件、启动画面位图或其他插件运行需要的文件。

windows上利用NSIS制作安装向导程序及常见问题 NSIS 的脚本语言和通常的编程语言有类似的结构和语法,但它是为安装程序这类应用所设计的。如果指定了 /r ,则目录会被递归删除,所以在指定目录下的所有文件和目录均被删除。如果指定了 /REBOOTOK ,任何当前不能删除的文件或目录将会在重启后被删除 – 如果文件或目录需要在重启时被删除,会放置一个重启的标记。授权文件就是我们的licence.txt文件,这个文件的编码ASCII编码,就是记事本新建的默认文本格式,这个文件的的路径必须是存在的,否则后面的时候不能生成安装程序。先把默认的模版文件删掉。 阅读详情

相关推荐

nsis 百科--常用函数加注释

nsis 求助编辑百科名片   NSIS NSIS(Nullsoft Scriptable Install System)是一个开源的 Windows 系统下安装程序制作程序。它提供了安装、卸载、系统设置、文件解压缩等功能。这如其名字所指出的那样,NSIS 是通过它的脚本语言来描述安装程序的行为和逻辑的。NSIS 的脚本语言和通常的编程语言有类似的结构和语法,但它是

2356

NSIS 设置$INSTDIR不生效

NSIS设置的页面顺序如下 !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_LICENSE ".\license.txt" !define MUI_PAGE_CUSTOMFUNCTION_SHOW HandleInstallDir !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE...

youyudexiaowangzi的专栏 1370

NSIS打包

以下是一篇详细的 NSIS 打包 EXE 的入门教程:NSIS(Nullsoft Scriptable Install System)是一款开源的 Windows 安装包制作工具,支持脚本化定制安装流程。本教程将带你从零开始,创建一个简单的 EXE 安装程序。安装完成后,桌面会生成两个图标:假设你要打包以下文件: 2.2 编写 NSIS 脚本

1991

NSIS 常用安装路径

$INSTDIR 安装目录 ($INSTDIR 可以使用 StrCpy、 ReadRegStr、 ReadINIStr 等等来更改。例如在 .onInit 函数里可以用来做高级的检测安装定位)。 注意在卸载程序代码里,$INSTDIR 为卸载程序所在的目录而不是在安装程序里所指定的目录。例如, 如果你把卸载程序放在 $WINDIR 里并且用户没有移动它,那么在卸载程序里 $INSTDI

u011269801的专栏 2023

nsis入门精解教程

nsis入门精解教程 来源:本站整理 发布时间:2009-04-20 背景颜色                   默认                   淡灰                   粉色                   蓝色           人气:6049 NSIS (Nullsoft Scriptable Install Sys

xingzheouc的专栏 6769

NSIS 脚本知识汇总

NSIS 基础知识汇总

li6322511的专栏 3654

(一)NSIS介绍

概述 最近需要写一个安装程序,比对了一下现有的安装工具,最后选定了NSIS,最主要的原因一是开源、二是灵活。 下面把我的要求简单列举下: 1、需要检查系统环境是否满足要求 2、需要界面友好的安装过程 3、需要一些自定义界面,在安装过程中来获取一些必须的信息 4、需要根据界面的选择来执行或跳过一些安装过程 5、需要操作数据库 6、需要操作IIS 7、需要使用PowerShell命令设置AD/Exchange/Lync 8、需要操作注册表,用于标识安装步骤以用于卸载或回滚的执行 经过调查发

我房间 4091

NSIS 官方对安装包出现 NSIS Error 的解释与解决方案

为什么我的安装包会出现 NSIS Error (NSIS 错误)?如果您是因为消息搜索寻找答案到达本页面,说明您在安装程序时遇到了问题。下载的文件不完整或已被修改。这条消息是什么意思?

水晶石专栏 9592

NSIS生成安装程序

基于PyQt5写成的界面py程序转换成的exe文件,介绍的NSIS程序打包成可安装的程序

zhang1379的博客 2820

Qt NSIS 常用指令

1,静默安装 SilentInstall silent SilentUninstall silent 比如: SilentInstall silent SilentUninstall silent Section "MainSection" SEC01 SetOutPath "$INSTDIR" SetOverwrite try File "path_1.0.1\Vide...

qthello 1059

NSIS 安装windows 安装包(包括QT和MFC)

Function<函数名>FunctionEn用户自定义函数仅当是Call指令调用时才被执行。

baidu_16370559的博客 1465

NSIS 应用过程的坑

最近在工作中使用NSIS脚本维护现有的软件安装包,使用NSIS制作安装包,简单快捷,对于任何一个有编程经验的程序员来说都是非常容易上手的工具之一,灵活强大,官方文档是非常好的学习资料,但是很多在实际应用过程中的坑并没有记录在册,故写一篇博客记录开发过程中遇到的坑和经验。 版本 NSIS Unicode 版本号? 下面总结遇到的坑和建议 使用插件 使用插件之前一定要搞清楚插件是不是支持

一步一个脚印的往前走! 3277

NSIS安装包开发笔记(一):NSIS介绍、使用NSIS默认向导脚本制作Windows安装包

做产品时,定制的自定义安装界面常有的,使用NSIS + Qt可以完美的定制基于QT的安装界面,先从纯NSIS开始,制作常规的安装包。

长沙红胖子 Qt・西安|省级科研团队从业背景,深耕双一流体系高精尖技术配套研发|剥离高精尖机理,沉淀高端特种行业领域 Qt 工程化落地经验|博文仅分享通用技术总结,输出公开普适工程思路。 4万+

NSIS的脚本的原理和常用命令(AI)

NSIS是一款开源的Windows安装程序制作工具,通过其脚本语言可生成轻量高效的安装包。其脚本以.nsi为扩展名,经编译器处理后生成可执行文件。安装程序运行时按脚本定义的流程执行:展示界面、处理用户输入、执行文件复制等操作。常用命令包括基础配置(Name/OutFile)、界面控制(Page)、文件操作(File/SetOutPath)、注册表操作(WriteRegStr)、快捷方式创建(CreateShortcut)以及卸载逻辑(Section Uninstall)。NSIS的优势在于灵活性强、安装包体

行走の飞鱼博客 947

[NSIS] NSIS使用心得Ⅰ

NSIS(Nullsoft Scriptable Install System)适用于Windows下的一款安装程序制作工具。虽然它的功能不如InstallShield和 InstallAnyWhere 的功能强大,也不象InstallWise 那么易用,但它的确是一个值得了解的工具软件。 首先NSIS是一款免费软件,使用的时候不存在盗版或正版的问题。这也给了我们这些穷孩子以学习的机会。(感谢

doublecells的专栏 6105

NSIS安装包开发笔记(二):NSIS使用NSIS+Qt界面制作安装包流程

Nsis可以使用duilib也可以使用qt界面,笔者主要qt,本文章梳理nsis+qt制作安装包的基本流程。

长沙红胖子 Qt・西安|省级科研团队从业背景,深耕双一流体系高精尖技术配套研发|剥离高精尖机理,沉淀高端特种行业领域 Qt 工程化落地经验|博文仅分享通用技术总结,输出公开普适工程思路。 4万+

NSIS学习笔记(二)-使用C++开发NSIS插件

Q 如何使用C++开发插件,示例 环境:VS2013Update4 参考资料[3]来做 S1:新建一个空的C++DLL项目,nsMessageBoxPlugin. S2:复制“C:\Program Files (x86)\NSIS\Unicode\Examples\Plugin\nsis”文件夹到

lee353086的专栏 7899

全方位掌握nsis脚本

NSIS 确实是一个不错的安装程序制作软件。新版本 2.0a7 真正实现了中文支持和支持 WinXP 的安装对话框。不过要用它实现漂亮的安装界面和完美的安装功能就必须好好的写脚本。而 NSIS 的脚本指令是在是太多了,有时候觉得好像又回到了学习 C 语言的年代。他丰富而起强大的功能甚至可以编译出一些小而使用的软件(例如查找窗口句柄,然后...)好了,不多说。我在这里着重介绍关于 NSIS 的一些使用问题以及新界面安装程序的制作过程,中间会附上一个示例脚本。这里只说单语言的简体中文1. NSIS的运行问题2.

mrliko的专栏 6657
上一篇: 虚拟打印机
下一篇: NSIS x64 位系统下安装
爬行的菜鸟
博客等级 码龄11年 269粉丝 110原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值