原文 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" |
|
- 利用Costura.Fody制作绿色单文件程序(C#程序(含多个Dll)合并成一个Exe)
原文:利用Costura.Fody制作绿色单文件程序(C#程序(含多个Dll)合并成一个Exe) 开发程序的时候经常会引用一些第三方的DLL,然后编译生成的exe文件就不能脱离这些DLL独立运行了.这 ...
- [原创] 绿色单文件封装程序GreenOne V3.0
1.原理 将包含可执行文件的多个文件 调用Winrar,创建自解压格式压缩文件 设置高级自解压选项中的文本和图标,设置解压后运行的文件为选中的可执行文件. 这种创建单文件封装其实也就是一个Winrar ...
- 系统垃圾清理利器CCleaner v5.30.6063绿色单文件版(增强版)
系统垃圾清理利器CCleaner现已更新至v5.30.6063,此次更新为Edge.IE浏览器提供了更好的清理功能,更新了Windows Explorer MRU清理功能,同时改善了应用程序中的SSD ...
- django第8天(在测试文件中运行django项目|单表操作)
django第8天 在测试文件中运行django项目 1.将项目配置文件数据库该为mysql,修改配置信息 PORT = '127.0.0.1' DATABASES = { 'default': { ...
- PHP设计的超强大的文件上传类(单文件上传)
form.html <!DOCTYPE html> <html> <head> <title>文件上传</title> </head& ...
- echarts学习心得1---模块化单文件引入和标签式单文件引入
一.模块化单文件引入 1. 为ECharts准备一个具备大小(宽高)的Dom(当然可以是动态生成的) <div id="main" style="height:40 ...
- PHP上传文件功代码练习(单文件)
前端: <html> <head><title>upload file</title> <meta http-equiv="Conten ...
- 如何让bat,cmd文件后台运行?如何把文件打包成EXE?
方法1:在“运行”中输入IEXPRESS 这是WINDOWS自带的打包程序,好像也可以生成安装包. 下一步-下一步-随便填个名字(下一步)-下一步-下一步-ADD(选好你的BAT文件 继 ...
- gVim/Vim 一键编译、连接、运行 C/C++ 单文件
用于Gvim 或 Vim 配置文件的一键编译与运行函数(注:需要机器上安装了GCC才行) 本代码只加入了对C/C++的编译与运行,如果要加入其语言的可以参考此代码加入即可 同时,本代码加入了对Wind ...
随机推荐
- PB数据库相关
---------------------------------------------------------------- 数据库画板: 一张表定义了主键或者唯一索引,则能够在Results视窗 ...
- 一些Android框架
从网上收集一些框架,敲代码偷懒这些框架非常实用,必须记下来,为了以后少写代码,用别人好的框架 ThinkAndroid ThinkAndroid(一个ThinkAndroid教程地址:http://m ...
- 一旦ORA-28000: the account is locked用户锁定故障排除
今天我的同事们反映的问题,测试库的变化password,并改变相关的应用程序中使用password后,其中一个仍然会出现在帐户被锁定,报告ORA-28000: the account is locke ...
- 辛星解读为什么PHP须要模板
近期有个人问我:为什么PHP须要模板呢?整个站点的编写都是我一个人完毕的,从前端到后端,都是这样,我一个人写站点是不是就不须要模板了呢?我当时还真给问住了,也没想好非常合适的回答它的方式,于是就随便说 ...
- 測试之路3——对照XML文件2
距离上一篇对照xml文件隔了非常久,并不代表一直做了那么久. 事实上上一次对照xml文件一直出错,事实上我忽略了一个非常easy的问题:我从根文件夹下得到的全部孩子,是这个根下的,而xml文件的组织形 ...
- Effective C++规定45 额外的代码
这部分是额外的代码博客,关键45术语思想已经实现. #include<iostream> using namespace std; template<typename T> c ...
- java JNI开发
Jni程序开发的一般操作步骤如下: l 编写java中的调用类 l 用javah生成c/c++原生函数的头文件 l c/c++中调用需要的其他函数功能, ...
- iOS Foundation 框架基类
iOS Foundation 框架基类 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转 ...
- .net机试题总结
1.下面是一个由*号组成的4行倒三角形图案.要求:1.输入倒三角形的行数,行数的取值3-21之间,对于非法的行数,要求抛出提示“非法行数!”:2.在屏幕上打印这个指定了行数的倒三角形. ******* ...
- [033] 微信公众帐号开发教程第9篇-QQ表情的发送与接收
我想大家对QQ表情一定不会陌生,一个个小头像极大丰富了聊天的乐趣,使得聊天不再是简单的文字叙述,还能够配上喜.怒.哀.乐等表达人物心情的小图片.本文重点要介绍的内容就是如何在微信公众平台使用QQ表情, ...