打包各种资源和exe为exe

背景

有个需求:自己写了一个工具,但是工具需要加载一些配置文档,甲方大哥想直接用一个exe来完成任务,而且这个工具每次针对不同业务产生不同配置,可以说是一种一对一的工具。

开动脑筋

网上一搜索,发现windows本来就有一个玩意可以支持exe的二次打包加工,名字是:ILMerge。咳咳,这玩意好像不维护了还是基于C#的东东,网上找找还是能下到安装包,但是但是但是,只支持dllexe的联动,也就是说exe调了其他的dll库函数,可以直接用dll+exe=exe方式,与我们这些风流需求不搭嘎。
继续搜索发现直接使用winRAR可以在压缩的时候选择打包为自解压exe模式。于是自己的电脑上试了一试,麻蛋,压根就没有那选项,如果你也遇到这种事情,千万不要慌,去下个高版本就好了。

方案出现

直接使用WinRAR的脚本参数打包即可,其实也可以使用7Zip,只是源码我看的头大的很。
来吧,网络的力量!
首先我们要去安装好了的WinRAR拷贝一些东西到你想要打包的目录:
WinRAR打包内容
如上图所示:

Default.SFX
Default64.SFX
Rar.exe
WinRAR.exe

然后继续,建立一个note.txt,主要是设置好最后用哪个exe执行

TempMode
Silent=1
Overwrite=1

Setup=test.exe

继续写一个bat,生成自压缩包

set softname=test巴啦啦
del .\packet\*.exe
WinRAR.exe a  ./packet/%softname%.exe ./*.ini  ./test.exe 

Rar.exe c -znote.txt ./packet/%softname%.exe

接着建一个文件夹塞,上面都写了packet
最后点一发bat,得到packet下的一个自解压缩的exe
ok

打完收工

你就可以自由玩弄一下脚本组合调用,给你老板show一个。

更多的参数指令可以查看WinRAR的帮助文档。

TIPS

接着又想修改一下icon,毕竟不是自己的,先上修改的脚本

set softname=test巴啦啦
del .\packet\*.exe
WinRAR.exe a -sfx -iiconF:\soft\zippackage\smile.ico ./packet/%softname%.exe ./*.ini  ./test.exe  

Rar.exe c -znote.txt ./packet/%softname%.exe 

没有错就是这句:

-sfx -iiconF:\soft\zippackage\smile.ico

我运行了千百次,但是都是windows的假象迷惑了我,我翻了好多次WinRAR帮助,结果,看图!妖怪哪里跑!!!!
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

big pineapple

谢谢你的小助力,时间就是金钱。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值