当前位置:网站首页>C13—使用innosetup工具制作软件安装向导2022-07-23
C13—使用innosetup工具制作软件安装向导2022-07-23
2022-07-30 06:38:00 【晓晓暮雨潇潇】
为qt.exe制作安装向导步骤
创建四个目录,在qtdemo下创建一个Qt工程,使用windeployqt生成exe文件及其所需的dll文件,将这些文件放在qtexe文件中,打开innosetup工具生成软件安装向导将其放在generatePackage文件中,然后使用软件安装向导安装软件至testintall目录,完成qt+innosetup制作并使用安装向导的全部过程。

1.生成Qt的exe文件
①创建Qt测试工程,并使用release方式编译

②在...\build-xxxx-Desktop_Qt_5_15_2_MinGW_64_bit-Release\release目录下,找到exe文件。复制到另外一个地方,例如F:\qtexe。
③打开windeployqt 工具shell,使用cd /d F:\qtexe切换到exe所在的路径,使用windeployqt xxx.exe即可生成exe及其所需的DLL文件。上述1-3可参见Qt发布EXE流程
④pro文件中已经有关于ico应用程序图标的描述,并将ico文件放在工程目录下即可。参见Qt为应用程序添加图标
2.使用innosetup生成向导程序
①打开 Inno Setup Complier,点击 【file】→【new】,新建一个脚本向导程序,然后点击【next】

②在应用程序信息中输入 “应用程序名称”、“应用程序版本”、“应用程序发布者”、“应用程序网站”,这些信息会自动在脚本中生成,然后点击下一步;

③填写打包文件在安装时默认的路径及文件夹名,然后点击下一步;

④选择应用程序的主执行文件,也就是你编译生成的 exe 文件,下面点击 “Add folder ”,把所有你的程序运行需要的 dll 和资源以及配置文件放在一个文件夹里,选择这个文件夹,然后点击下一步;

⑤接着再次默认点击next,来到以下界面。输入应用程序在开始菜单中显示的名字,需要哪些功能,在前边打上对勾,一般默认即可,然后点击下一步;


⑥这里可以选择 “许可文件”,“安装前的文件”(如 Readme 文件等),“安装后显示信息” 等,然后点击下一步;(不选)

⑦选择 “自定义编译器输出文件夹”、“编译器输出基本文件名”、“自定义的安装程序图标文件”及“安装密码”,然后点击下一步;(选择的是setup输出的路径。)

⑧这里选择是否使用 #define 编译指令,选择 yes 也就是在生成的脚本里使用 #define 宏定义一些常量,方便脚本编写,勾不勾选随意,然后点击下一步;

⑨最后一步点击finish后,会询问你是否立即编译新的脚本,我们默认一直点yes。这个脚本是根据刚才我们前面填写的那些内容自动生成的,可以直接使用编译,也可以自己重新编写。

⑩如果要打包出新版本的 exe 安装包文件,不需要再将上面流程走一遍,只需要将原先的 exe 可执行文件替换掉,再打开原先生成的脚本文件运行(在inno setup Compiler软件上运行脚本文件),即可生成新版本的 exe 安装包文件。
3.安装软件
打开软件包中的“软件安装向导”目录(本例为F:\technology_growup\generatePackage),按照如下设置安装软件。
①选择安装目录

②勾选是否创建桌面快捷方式

③点击安装即可

4.效果

边栏推荐
- k8s 部署mysql8(PV和PVC 版本)
- 2022牛客暑期多校训练营3(ACFGJ)
- MySQL题外篇【ORM思想解析】
- K-Net:Towards Unified Image Segmentation,基于动态内核的通用分割网络,(NMS-free and Box-free),从语义/实例分割到全景分割。
- IDEA 中CheckStyle安装及使用
- Vue项目通过node连接MySQL数据库并实现增删改查操作
- Go combines Gin to export Mysql data to Excel table
- Go: use gorm query record
- 【day5】数组
- go : go-redis list操作
猜你喜欢
随机推荐
一段神奇的没有主方法的代码
【MySQL】MySQL中如何实现分页操作
this与super
如何实时计算日累计逐单资金流
获取controller中所有接口路径和名称
golang: Gorm配置Mysql多数据源
2020 ACM | MoFlow: An Invertible Flow Model for Generating Molecular Graphs
「活动推荐」探索未来:数字科技
RT-Thread-GD32的SPI在切换同一总线不同挂载设备时会出现切换后乱发送数据的问题
40.【vector的运用】
taro 打包编译报错
redis的内存淘汰策略
SkiaSharp 之 WPF 自绘 拖曳小球(案例版)
Go: go - redis based operation
你好,我的新名字叫 “铜锁 / Tongsuo”
【COCI 2020/2021 Round #2 D】Magneti (DP)
svn中文路径 权限设定
selenium模块
树状数组的基本用法
assert









