VS使用WinRAR软件以命令行方式打包软件至一个exe
2016-12-03 17:44
417 查看
由于项目需要,需要将一个绿色版软件(即无需在C盘写入文件)发给客户使用,要求是只有一个exe文件,双击即可执行。
网上说WinRAR软件创建自解压文件可以实现,链接http://blog.csdn.net/harvic880925/article/details/27675073
该方法是手动版的,项目中常常需要以命令行的方式执行。我查了一下WinRAR自带的帮助,实现了该方式。
原理:将软件中的文件打包至一个exe文件,双击该exe,首先执行的是解压操作,将解压后的文件放到临时文件夹,然后自动执行临时文件夹中的exe文件。因为是放到了临时文件夹,给用户的感觉就是只有一个exe文件。
实现:
1. 打开C:\Program Files(x86)\WinRAR文件夹,将其中的Default.SFX、WinRAR.exe和Rar.exe复制到你的工程目录中;
2. 将你的绿色软件需要的文件放入soft文件夹下;
3. 创建note.txt注释文件,编辑如下,含义分别为临时文件夹、静默模式、覆盖写入和启动后自动执行的文件:
TempMode
Silent=1
Overwrite=1
Setup=soft/soft.exe
4. 创建run.bat文件,编辑如下命令:
WinRAR.exe a soft.exe ./soft
rar.exe c -znote.txt soft.exe
至此,双击soft.exe即可完成客户需求。命令行的方式还可以给生成的exe添加自解压图标,命令为-iicon,有兴趣的可以自行到WinRAR的中文帮助中查找和使用。
缺点:双击操作执行的是一个解压操作,大的软件解压是需要时间的,所以对于大软件来说,封装成一个exe文件可能意义不大。但是平时见到的一般也是小软件做成一个exe的形式。
网上说WinRAR软件创建自解压文件可以实现,链接http://blog.csdn.net/harvic880925/article/details/27675073
该方法是手动版的,项目中常常需要以命令行的方式执行。我查了一下WinRAR自带的帮助,实现了该方式。
原理:将软件中的文件打包至一个exe文件,双击该exe,首先执行的是解压操作,将解压后的文件放到临时文件夹,然后自动执行临时文件夹中的exe文件。因为是放到了临时文件夹,给用户的感觉就是只有一个exe文件。
实现:
1. 打开C:\Program Files(x86)\WinRAR文件夹,将其中的Default.SFX、WinRAR.exe和Rar.exe复制到你的工程目录中;
2. 将你的绿色软件需要的文件放入soft文件夹下;
3. 创建note.txt注释文件,编辑如下,含义分别为临时文件夹、静默模式、覆盖写入和启动后自动执行的文件:
TempMode
Silent=1
Overwrite=1
Setup=soft/soft.exe
4. 创建run.bat文件,编辑如下命令:
WinRAR.exe a soft.exe ./soft
rar.exe c -znote.txt soft.exe
至此,双击soft.exe即可完成客户需求。命令行的方式还可以给生成的exe添加自解压图标,命令为-iicon,有兴趣的可以自行到WinRAR的中文帮助中查找和使用。
缺点:双击操作执行的是一个解压操作,大的软件解压是需要时间的,所以对于大软件来说,封装成一个exe文件可能意义不大。但是平时见到的一般也是小软件做成一个exe的形式。
相关文章推荐
- init.rc中的mount等命令执行时调用的源码位置
- Java 并发专题:Timer的缺陷用ScheduledExecutorService替代
- MySQL主从复制搭建教程
- 计算机体系架构
- 哈尔滨理工大学软件学院ACM程序设计全国邀请赛(水题5道)
- 显示系统信息与硬件信息的bat代码
- JAVA学习之-数据库设计及优化_课堂笔记
- springMVC笔记系列(20)——控制器实现详解(下)
- 10个价值百万的职场经验(收藏版)
- POJ 1049 Microprocessor Simulation 已被翻译
- 使用mvc模式实现用户登录002
- Android插件化开发之Hook StartActivity方法
- Redis 对比 Memcached 并在 CentOS 下进行安装配置
- java的适配器模式简单代码实现
- java线程同步入门例子
- Python流程控制语句
- 浅谈shiro权限框架之认证过程
- java入门5-方法和数组
- 关于jvm分析的指令以及jprofiler的初体验
- docker安装使用