INI文件格式如:

[Logon]
0CmdLine=hello.exe
0Parameters=123
1CmdLine=hello.exe
1Parameters=123

NSIS代码:

!include "LogicLib.nsh"

Function UpdateScriptIni
strcpy $Var_IniFile "$INSTDIR\test.ini"

StrCpy $R1 0
StrCpy $R2 "CmdLine"
StrCpy $R3 "Parameters"
${Do}
StrCpy $R5 $R1$R2      ;command line
StrCpy $R6 $R1$R3       ;parameters

StrCpy $0 ""
StrCpy $1 ""

ReadINIStr $0 $Var_IniFile "Logon" $R5
ReadINIStr $1 $Var_IniFile "Logon" $R6

StrCmp $0 "" 0 Continue
StrCmp $1 "" 0 Continue

;当前序号的命令行及参数为空跳出循环执行写入
${ExitDo}

Continue:
IntOp $R1 $R1 + 1

${Loop}

WriteINI:
WriteINIStr $Var_IniFile "Logon" $R5 "hello.exe"
WriteINIStr $Var_IniFile "Logon" $R6 "123"

Abort
FunctionEnd

INI文件格式如:[Logon]0CmdLine=hello.exe0Parameters=1231CmdLine=hello.exe1Parameters=123....  NSIS代码:!include "LogicLib.nsh" Function UpdateScriptIni   strcpy $Var_IniFile "$INST StrCpy $lanChina "0" Read INI Str $1 "$INSTDIR\test. ini " "test" "language" StrCpy $lanChina $1 ${if} $lanChina == "1" ${else} ${endif} Write INI Str $INSTDIR\test. ini test language 1 1、Read INI Str( INI 文件 ) 作用:从 ini 文件 的[section_name]中的entry_name读取并将值存储到用户变量$ x中。将设置错误标志,如果未找到该条目,则将$ x分配给空字符串。 Read INI Str $0 $INSTDIR\winamp. ini winamp outname 二、外部调用 1、ReserveFile 作用:把 文件 保存在...
一、 NSIS 简单介绍 NSIS ,全称为Nullsoft Scriptable Install System,即脚本安装系统,用于创建安装程序(安装包),使得安装程序具备安装、卸载、设置系统设置以及解压 文件 等功能。此工具在开源许可下发布,对于任何使用都是完全免费的。 NSIS 作为最小可用的脚本安装系统,基于脚本 文件 ,支持变量、函数和字符串操作,可以完全控制安装程序的每个部分。创建一个 NSIS 安装程序之前必须编写一个 NSIS 脚本,可使用任何文本编辑器来进行脚本编写。 NSIS 脚...
在制作安装包的时候,需要查看下某一目录下的所有 文件 夹的名称。经过查资料发现需要用到 NSIS 的一个插件 Locate。下载该插件后,会在 NSIS 的安装目录 ...Program Files\ NSIS \Plugins 下看到该插件Locate.dll ; locate 函数是用来查找 文件 文件 夹目录,空 文件 夹 的函数。参考https:// nsis .sourceforge.io/Docs/Appen...
NSIS 本身没有严格的 文件 大小限制,但是在使用 NSIS 创建安装程序时,如果打包的 文件 太大,可能会出现内存不足的错误。这是由于 NSIS 默认使用zlib库来压缩 文件 ,当压缩的 文件 太大时,zlib需要大量的内存来完成压缩操作,而 NSIS 默认只分配了有限的内存来执行压缩操作。 为了避免这种情况,建议将大 文件 拆分成多个 文件 ,或者使用 NSIS 插件来进行压缩操作。此外,也可以调整 NSIS 的内存限制参数,以适应更大的 文件 压缩。具体来说,可以使用以下命令行选项: make nsis .exe /DSETDISKCACHE=off /DDEFAULT_HEAPSIZE=2097152 installer.nsi 其中,`/DSETDISKCACHE=off`选项将禁用 NSIS 的磁盘缓存,以减少内存使用量。`/DDEFAULT_HEAPSIZE=2097152`选项将设置 NSIS 的默认堆大小为2 MB,以便更好地处理大 文件 。 总之, NSIS 可以打包大 文件 ,但需要注意内存限制和压缩操作的合理使用。