• 忘掉天地
  • 仿佛也想不起自己
bingliaolongBingliaolong  2022-07-11 15:51 Aet 隐藏边栏 |   抢沙发  109 
文章评分 6 次,平均分 5.0

准备

  1. 安装7z后,在官网下载LZMA SDK,然后下面几个文件拷贝到7z安装目录
    1. LZMA SDK
    2. 7zS2.sfx
    3. 7zS2con.sfx
    4. 7zSD.sfx

压缩目标文件

  1. 准备好要打包的目标文件,放到一个文件夹

    1. 把独立的UI程序放到这里,并改名为setup.exe
  2. 在7z安装目录下执行命令,把该文件夹里面的内容压缩成一个7z压缩包

  1. 成功生成aet.7z后,准备一个配置文件,如下

配置文件

  1. config.txt

参数

关于解压路径

  1. 发现上面配置的InstallPath是不生效的。
  2. 所以在setup.exe里面去获取当前文件夹路径。

生成安装包

  1. 执行下述命令

  1. 这样,就会生成一个installer.exe,双击运行,会启动launcher.exe,启动参数也是在配置文件里面指定了。

脚本

  1. 把压缩和生成exe

setup.exe

  1. 这个exe是用来给用户操作的一个UI,点了快速安装后,主要做了以下几件事情:
    1. 计算相关文件的md5
    2. 从解压路径把所有文件拷贝到用户选择的目标路径下
    3. 用之前算好的md5,拼一个启动参数,去调起相关进程

判断路径

判断进程是否运行

杀进程

启动进程

  1. 启动进程的同时,创建事件和线程
  2. 线程用于监控启动的进程有没有结束,结束就设置事件有信号

  1. 在后面等待事件的触发

rapidjson读取json文件

删文件

  1. start.json普通删除
  2. setup.exe由于走到这里时它正在运行,重启删除

copy

替换ICON

方法一

  1. resource hacker
  2. 使用resource hacker直接把以下二进制文件的icon替换成想要的icon
    1. 7zS2.sfx
    2. 7zS2con.sfx
    3. 7zSD.sfx

方法二

  1. resource hacker
  2. 使用resource hacker对7z打包出来的exe替换icon

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

bingliaolong
Bingliaolong 关注:0    粉丝:0 最后编辑于:2022-08-19
Everything will be better.

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享