原文 NSIS:静默释放文件并运行 制作绿色单文件软件
现在所谓的绿色单文件软件,大多与以下代码原理相似:把软件运行需要的文件封装为一个EXE文件,双击时释放到某个目录(大多是TEMP)并运行主程序文件,如果主程序文件退出则删除释放的文件及注册表相关信息。其实,绿色单文件版软件并没有多少技术含量,大家不要想得太过神秘。(也许有与轻狂上述原理不同的,但我没有发现,也不想研究这个了。)
NSIS示例代码如下:
02
|
!system
'>blank set/p=MSCF<nul'
|
03
|
!packhdr temp.dat
'cmd /c Copy /b temp.dat /b +blank&&del blank'
|
05
|
!define PRODUCT_NAME
"NSIS图文教程集锦 - 轻狂志"
|
06
|
!define /
date
DATE
"%Y.%m.%d.%H"
|
09
|
name
"NSIS图文教程集锦 - 轻狂志"
|
10
|
outfile
'NSIS图文教程集锦 - 轻狂志 - ${VER}.exe'
|
13
|
!define MUI_ICON BookTool.ico
|
16
|
!insertmacro MUI_LANGUAGE
"simpchinese"
|
18
|
VIProductVersion
"${VER}"
|
19
|
VIAddVersionKey /LANG=2052
"ProductName"
"NSIS图文教程集锦"
;产品名称
|
20
|
VIAddVersionKey /LANG=2052
"Comments"
"NSIS图文教程集锦 By 少轻狂"
;备注
|
21
|
VIAddVersionKey /LANG=2052
"CompanyName"
"轻狂志|www.flighty.cn"
;公司
|
22
|
VIAddVersionKey /LANG=2052
"轻狂志"
"www.flighty.cn"
;WEB
|
23
|
VIAddVersionKey /LANG=2052
"LegalTrademarks"
"轻狂志"
|
24
|
VIAddVersionKey /LANG=2052
"LegalCopyright"
"(C) 2009--2010 www.flighty.cn 轻狂志"
;版权
|
25
|
VIAddVersionKey /LANG=2052
"FileDescription"
"NSIS图文教程集锦 - 轻狂志"
;描述
|
26
|
VIAddVersionKey /LANG=2052
"FileVersion"
"${VER}"
|
27
|
VIAddVersionKey /LANG=2052
"OriginalFilename"
"NSIS图文教程集锦 - 轻狂志.chm"
;源文件名
|
32
|
ExecShell
"open"
"$TEMP\nsisebook\nsisebook.chm"
|
|