原文 NSIS:静默释放文件并运行 制作绿色单文件软件

现在所谓的绿色单文件软件,大多与以下代码原理相似:把软件运行需要的文件封装为一个EXE文件,双击时释放到某个目录(大多是TEMP)并运行主程序文件,如果主程序文件退出则删除释放的文件及注册表相关信息。其实,绿色单文件版软件并没有多少技术含量,大家不要想得太过神秘。(也许有与轻狂上述原理不同的,但我没有发现,也不想研究这个了。)

NSIS示例代码如下:

01 ;使7-Zip打开看不到其他内容。
02 !system '>blank set/p=MSCF<nul'
03 !packhdr temp.dat 'cmd /c Copy /b temp.dat /b +blank&&del blank'
04  
05 !define PRODUCT_NAME "NSIS图文教程集锦 - 轻狂志"
06 !define  /date DATE "%Y.%m.%d.%H"
07 !define  VER "${DATE}"
08  
09 name    "NSIS图文教程集锦 - 轻狂志"
10 outfile 'NSIS图文教程集锦 - 轻狂志 - ${VER}.exe'
11 SilentInstall silent
12  
13 !define MUI_ICON BookTool.ico
14 XPStyle  on
15 !include  "MUI.nsh"
16 !insertmacro MUI_LANGUAGE "simpchinese"
17  
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" ;源文件名
28  
29 Section "nsisebook"
30   SetOutPath "$TEMP"
31   File /r "nsisebook"
32   ExecShell "open" "$TEMP\nsisebook\nsisebook.chm"
33 SectionEnd

NSIS:静默释放文件并运行 制作绿色单文件软件的更多相关文章

  1. 利用Costura.Fody制作绿色单文件程序(C#程序(含多个Dll)合并成一个Exe)

    原文:利用Costura.Fody制作绿色单文件程序(C#程序(含多个Dll)合并成一个Exe) 开发程序的时候经常会引用一些第三方的DLL,然后编译生成的exe文件就不能脱离这些DLL独立运行了.这 ...

  2. [原创] 绿色单文件封装程序GreenOne V3.0

    1.原理 将包含可执行文件的多个文件 调用Winrar,创建自解压格式压缩文件 设置高级自解压选项中的文本和图标,设置解压后运行的文件为选中的可执行文件. 这种创建单文件封装其实也就是一个Winrar ...

  3. 系统垃圾清理利器CCleaner v5.30.6063绿色单文件版(增强版)

    系统垃圾清理利器CCleaner现已更新至v5.30.6063,此次更新为Edge.IE浏览器提供了更好的清理功能,更新了Windows Explorer MRU清理功能,同时改善了应用程序中的SSD ...

  4. django第8天(在测试文件中运行django项目|单表操作)

    django第8天 在测试文件中运行django项目 1.将项目配置文件数据库该为mysql,修改配置信息 PORT = '127.0.0.1' DATABASES = { 'default': { ...

  5. PHP设计的超强大的文件上传类(单文件上传)

    form.html <!DOCTYPE html> <html> <head> <title>文件上传</title> </head& ...

  6. echarts学习心得1---模块化单文件引入和标签式单文件引入

    一.模块化单文件引入 1. 为ECharts准备一个具备大小(宽高)的Dom(当然可以是动态生成的) <div id="main" style="height:40 ...

  7. PHP上传文件功代码练习(单文件)

    前端: <html> <head><title>upload file</title> <meta http-equiv="Conten ...

  8. 如何让bat,cmd文件后台运行?如何把文件打包成EXE?

    方法1:在“运行”中输入IEXPRESS        这是WINDOWS自带的打包程序,好像也可以生成安装包. 下一步-下一步-随便填个名字(下一步)-下一步-下一步-ADD(选好你的BAT文件 继 ...

  9. gVim/Vim 一键编译、连接、运行 C/C++ 单文件

    用于Gvim 或 Vim 配置文件的一键编译与运行函数(注:需要机器上安装了GCC才行) 本代码只加入了对C/C++的编译与运行,如果要加入其语言的可以参考此代码加入即可 同时,本代码加入了对Wind ...

随机推荐

  1. Android实现限制EditText输入文字的数量

    一: 声明控件.          TextView hasnumTV;         TextView hasnum;// 用来显示剩余字数         int num = 50;// 限制的 ...

  2. Cocos2d-x 3.2 大富翁游戏项目开发-第七部分 获取角色路径_1

    以下是一些设计略显繁琐,有必要清除思维. 下一个主要的成就,当我们点击Gobutton后,得到一个随机数骰子,是走了几步,它是基于以下步骤行走路径的数目,然后移动位置的基于角色的路径. 流程如图普遍认 ...

  3. unrecognized selector sent to instance 0x10b34e810

    一个错误: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSURLEr ...

  4. HTML+CSS样式设置——CSS一学就会

    HTML+CSS样式设置 CSS:(Cascading Style Sheets)层叠样式设置表. 网页的展示效果跟其排版有非常大的关系.排版则主要依靠CSS来设置.调节. 以下说CSS与HTML的联 ...

  5. Blend4精选案例图解教程(一):丰富的形状(Shape)资源

    原文:Blend4精选案例图解教程(一):丰富的形状(Shape)资源 Blend4资源面板中内置了丰富的形状素材,为我们在构建程序时提供极大的方便.系统默认内置18种常用形状,通过其属性设置可以自定 ...

  6. [原创] linux 下上传 datapoint数据到yeelink 【golang版本】

    package main /* Create by sndnvaps<sndnvaps@gmail.com> * date : 2015-04-05 * upload datapoint ...

  7. checkbox的attr(&quot;checked&quot;)一直以来,undefined问题解决

    最近,屌丝要项目开发的需要,需要一个完整的选checkbox特征. 该死的~~这不是很easy什么东西,共checkbox,N多个子的checkbox,总checkbox一旦选定,儿checkbox所 ...

  8. Cocos2d-x实现简单的翻牌效果

    触发器互联网影响找了很多.有自己的点重写一个复杂的sprite类来实现.简单的操作来对引擎的使用CCOrbitCamera实现,但是,也存在一些问题,后变反了. 我在用的仅仅是一个简单的翻牌效果,点击 ...

  9. newinstance()和new有什么区别?(转)

    在初始化一个类,生成一个实例的时候:newInstance() 和 new 有什么区别? 用newInstance与用new是区别的,区别在于创建对象的方式不一样,前者是使用类加载机制,那么为什么会有 ...

  10. Cocos2d-x3.1回调函数具体解释

    Cocos2d-x3.1回调函数的定义CCRef.h声明.源代码,例如,下面的: typedef void (Ref::*SEL_CallFunc)(); typedef void (Ref::*SE ...