原文 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"
|
|