适用场景

服务器为Linux环境,需要动态打包Windows下的exe程序和其配置,并能在Windows环境正常执行。

准备物料

  • p7zip:Linux版7zip
  • 7zSD.sfx:7z官方的SDK里的自解压模块
  • 7zsfx.conf:自解压配置文件,指定执行程序或命令,参数
  • 程序文件及其配置:需要打包的业务执行程序机器附属配置

打包步骤

  1. 程序文件打包:需要打包的文件和配置准备就位并压缩为 .7z
  2. 生成自解压配置 7zsfx.conf:指定执行程序,执行参数,如:
1
2
3
4
5
6
7
;!@Install@!UTF-8!  //配置开始

Title="Demo exe"
ExecuteFile="Notepad2.exe" //执行文件
ExecuteParameters="keys_command" //可选执行参数

;!@InstallEnd@! //配置结束
  1. 打包:将以上物料打包合成,执行如下命令:
1
cat 7zSD.sfx 7zsfx.conf test.7z >test.7z.exe

该命令执行完成后将得到一个自解压exe

参考文档

  1. Linux下打开rar/zip/7z自解压格式文件的技巧
  2. 7z制作自解压安装包
  3. 使用7-zip制作自解压安装包
  4. 7-ZIP:不支持的方式。的原因及解决方法
  5. 7zsfx Parameters