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
可以打包大
文件
,但需要注意内存限制和压缩操作的合理使用。