背景
最近利用QT编写一个绘图程序,由于程序不大,不值得制作安装包。一种发布方式是可以将程序和依赖库打包压缩包。用户使用时需要将压缩包解压到一个文件夹中,选择其中的可执行文件执行。其实可以利用7zip的自解压功能,制作简单安装包,制作的安装包是一个可执行程序,用户双击就可以运行绘图程序,是不是很方便?感觉像是一个单独的可执行程序一样,不用需要安装就可以运行。下面介绍如何利用7zip来制作这种安装包。
文件准备
制作安装包需要7zip的命令行程序7z.exe,自解压SFX文件7zS.sfx和一个配置文件config.txt。配置文件是文本文件内容如下:
;!@Install@!UTF-8!
Title="MyApp 1.0.0"
RunProgram="MyApp.exe"
;!@InstallEnd@!
配置文件注意使用UTF-8编码,尤其使用中文时要注意。配置文件第2行是标题,第3行是我们要运行的程序。
安装包制作
将要安装的程序和依赖库放入一个data文件夹,如下所示:
2024/02/28 09:53 407,040 MyApp.exe
2024/01/04 13:50 <DIR> imageformats
2018/08/16 15:53 74,240 libgcc_s_seh-1.dll
2018/08/16 15:55 1,425,920 libstdc++-6.dll
2018/08/16 15:54 52,224 libwinpthread-1.dll
2024/01/04 13:50 <DIR> platforms
2021/11/18 16:05 1,491,120 Qt5Charts.dll
2022/06/27 19:09 6,401,200 Qt5Core.dll
2021/11/18 14:11 6,536,368 Qt5Gui.dll
2021/11/18 14:11 5,666,480 Qt5Widgets.dll
制作命令:
copy /b 7zS.sfx + config.txt .\tmp\7zS.sfx
7z.exe a .\release\MyAppV1.0.0.exe -sfx .\tmp\7zS.sfx .\data\*
运行上市命令后就可以生成安装包文件MyAppV1.0.0.exe。双击该文件就可以运行MyApp.exe了。