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