Inno Setup程序打包多个exe安装包教程

最后更新于 2024-01-29 609 次阅读


博主最近在工作上碰到了需要将多个exe文件打包成一个exe文件,并在执行该合集exe文件时,分别执行该exe文件下的多个exe文件的需求。博主通过Inno Setup程序实现了这一需求,所以特在此记录一下实现的方法。

一.需求

我有两个杀毒软件需要给客户进行安装,考虑到客户安装的便利性,将两个杀毒软件合并成一个软件来给客户安装是最好的选择,然后考虑到打包软件的易用性,我这边选择了使用Inno setup打包程序来进行打包。

由于Inno setup程序自身在默认情况下打包多个程序成一个包后,运行包只会对主程序进行安装,不会自动安装其他程序,所以我需要写一个bat批处理文件来实现运行多个安装文件的需求。但是由于bat文件没有办法作为安装主文件放到Inno setup中,所以还需要将bat文件转变成exe文件后,才能使用inno setup程序进行打包

那么我的步骤就为:

(1)安装inno setup程序

(2)创建一个文件夹,将需要打包的程序放进文件夹中

(3)编写一个bat批处理文件,让其能够实现运行时依次启动该文件夹下的所有安装程序

(4)将该bat批处理文件通过Bat to exe程序转换为exe程序

(5)用inno setup把该批处理exe文件作为主程序和两个杀毒软件一起打包成一个主文件

二.进行打包

1.安装inno setup和Bat to exe程序

Inno setup的安装程序下载地址为:

链接:https://pan.baidu.com/s/1k2-HrvvqZHVnXMHEI5BlSA?pwd=xqoe 提取码:xqoe

Bat to exe的安装程序下载地址为:

链接:https://pan.baidu.com/s/1Wkco6N1sgH5YASxyK1EBhg?pwd=rrnc 提取码:rrnc

2.创建一个文件夹,将需要打包的安装程序放进去

3.编写一个能够批量运行文件的bat文件

创建一个setup.bat文件并打开编辑,输入如下的代码:

@echo off
set "current_path=%~dp0"
cd /d "%current_path%"
start AisEsmAgentSetupWin64.exe
start IP10.200.211.70_P80_SmpSetup_Agent.exe

其中,%~dp0在批处理文件中,表示当前批处理文件所在的路径。在这里,批处理文件所在的路径的值被赋值给变量current_path,然后cd进入该路径并运行我们的两个安装包。

4.将bat文件转换为exe文件

打开Bat to exe程序,按照如下的设置,转换bat文件,记得需要根据不同的系统位数,选择相应的选项。然后将编译好的exe文件,放到需要打包的程序的文件夹中。

5.使用Inno setup进行打包

打开Inno setup程序,新建一个脚本,并按照如下图的步骤依次操作。

主程序选择我们转换好的exe文件,然后其他应用程序文件我们选择我们的两个安装包,接着下一步

选择输出文件的位置以及输出的文件名,下一步后点击“立即编译脚本”后即可生成

如下图,可见安装包已经生成。双击即可进行安装